model | "NanoBanana" | "NanoBanana2" | yes | Generation model. NanoBanana2 requires a paid plan. |
prompt | string | no | In template or preset mode, this is an extra scene/activity instruction. In raw mode, this is the complete provider prompt. |
promptMode | "template" | "preset" | "raw" | no | Default is template. preset uses promptPresetId/title. raw sends prompt as-is for advanced users. |
promptPresetId or promptPresetTitle | string | no | Prompt Gallery preset to use, for example modern-gray-studio. If provided, promptMode defaults to preset. |
scene | string | no | Template mode location, for example "a ski resort terrace with snowy mountains". |
activity | string | no | Template mode action, for example "holding the burgundy bag while walking toward camera". |
composition | string | no | Template mode framing override. You can also use cameraAngle and cameraDistance. |
cameraAngle, cameraDistance, lighting, expression, mood | string | no | Optional template controls for camera, lighting, expression and tone. |
personId | string | yes | Person id returned by GET /api/v1/persons. |
clothesIds | string[] | yes | One or more clothes ids returned by GET /api/v1/clothes. NanoBanana supports up to 2, NanoBanana2 supports up to 7. |
aspectRatio | "auto" | "21:9" | "16:9" | "3:2" | "4:3" | "5:4" | "1:1" | "4:5" | "3:4" | "2:3" | "9:16" | no | Output aspect ratio. NanoBanana2 defaults to 9:16. |
resolution | "1K" | "2K" | "4K" | no | Only supported with NanoBanana2. Default is 1K. |
syncMode | boolean | no | Provider sync flag. The API still returns a requestId. |
outputFormat | "jpeg" | "png" | no | Output file format. |
numImages | integer | no | 1 to 4 for NanoBanana. Must be 1 for NanoBanana2. |