Creative Analyzer - v0.0.1
    Preparing search index...

    Variable geminiResponseSchemaConst

    geminiResponseSchema: {
        type: "OBJECT";
        properties: {
            person: {
                type: "OBJECT";
                nullable: boolean;
                properties: { [k: string]: { type: "STRING"; nullable: boolean } };
                required: (
                    | "gender"
                    | "age_range"
                    | "ethnicity"
                    | "hair_color"
                    | "body_type"
                    | "expression"
                    | "setting"
                )[];
            };
            transcript: { type: "STRING"; nullable: boolean };
        };
        required: string[];
    } = ...

    Gemini structured-output schema for the analyze response.

    Hand-written (no zod-to-json-schema dependency) but derives all property names from PERSON_FIELDS so it stays in sync with the Zod schema in domain/person.ts. Gemini uses OpenAPI-3-like type literals in UPPERCASE.

    Type Declaration

    • type: "OBJECT"
    • properties: {
          person: {
              type: "OBJECT";
              nullable: boolean;
              properties: { [k: string]: { type: "STRING"; nullable: boolean } };
              required: (
                  | "gender"
                  | "age_range"
                  | "ethnicity"
                  | "hair_color"
                  | "body_type"
                  | "expression"
                  | "setting"
              )[];
          };
          transcript: { type: "STRING"; nullable: boolean };
      }
    • required: string[]