Returns Promise<
{
person: | {
gender: string
| null;
age_range: string | null;
ethnicity: string | null;
hair_color: string | null;
body_type: string | null;
expression: string | null;
setting: string | null;
}
| null;
transcript: string
| null;
},
>
The validated { person, transcript } response.
Upload a Drive file to the Gemini Files API, wait for processing if needed (video), call
generateContent, validate the response via Zod, and return the typed AnalyzeResponse.The
apiKeyis a parameter rather than read from env so this module remains unit-testable without mocking the runtime binding.