Google
Modes: image · video · audio · text · Models: 24
Vendor: Google AI for Developers · Vertex AI · Official API docs: Image · Video (Veo) · Music (Lyria)
Google supports image, video, audio, and text. Its catalog includes Veo, Gemini Omni, Nano Banana, Gemini TTS, Lyria, and Gemini text models. Gemini 3.8 Flash TTS and Gemini 3.8 Flash Lite TTS add speech with controllable delivery.
Models
| id | Name | Mode | Input |
|---|---|---|---|
veo-3.1 | Veo 3.1 | video | t2v |
veo-3.1-fast | Veo 3.1 Fast | video | t2v |
veo-3.1-lite | Veo 3.1 Lite | video | t2v |
gemini-nano-banana-2.1 | Nano Banana 2.1 | image | t2i |
gemini-3.1-flash-image | Nano Banana 2 | image | t2i |
gemini-3.1-flash-lite-image | Nano Banana 2 Lite | image | t2i |
gemini-3-pro-image | Nano Banana Pro | image | t2i |
gemini-2.5-flash-image | Nano Banana | image | t2i |
gemini-2.5-flash-tts | Gemini 2.5 Flash TTS | audio | tts |
gemini-2.5-pro-tts | Gemini 2.5 Pro TTS | audio | tts |
gemini-3.8-flash-tts | Gemini 3.8 Flash TTS | audio | tts |
gemini-3.8-flash-lite-tts | Gemini 3.8 Flash Lite TTS | audio | tts |
gemini-omni-flash-preview | Gemini Omni | video | t2v |
gemini-omni-1.1-flash-preview | Gemini Omni 1.1 Flash | video | t2v |
lyria-3-clip | Lyria 3 Clip | audio | music |
lyria-3-pro | Lyria 3 Pro | audio | music |
lyria-3.5 | Lyria 3.5 | audio | music |
gemini-4-argon | Gemini 4 Argon | text | v2t |
gemini-3-pro | Gemini 3 Pro | text | v2t |
gemini-3.8-flash | Gemini 3.8 Flash | text | i2t |
gemini-3.7-flash | Gemini 3.7 Flash | text | i2t |
gemini-3.6-flash | Gemini 3.6 Flash | text | i2t |
gemini-3.5-flash-lite | Gemini 3.5 Flash Lite | text | i2t |
gemini-2.5-flash | Gemini 2.5 Flash | text | i2t |
Veo 3.1 (video)
gen-ai generate -m veo-3.1 -p "a drone shot over a snowy ridge at golden hour" \
--ar 16:9 -r 1080p -d 8 --audio-gen{ "name": "picsart_generate",
"arguments": { "model": "veo-3.1", "prompt": "a drone shot over a snowy ridge", "duration": 8, "resolution": "1080p", "generateAudio": true } }Full params for every Veo / Gemini / Lyria model are in Parameters below.
Nano Banana Pro (image)
gen-ai generate -m gemini-3-pro-image -p "a cinematic product render of a smart speaker" --ar 16:9 -r 4KGemini TTS & Lyria (audio)
gen-ai generate -m gemini-2.5-pro-tts -p "Here is your daily briefing." # speech
gen-ai generate -m lyria-3-pro -p "uplifting cinematic orchestral score" # musicParameters
Full parameter surface for every model, sourced from gen-ai models info <id> --json. CLI flags show the primary short form; the canonical --kebab-case long form always works too.
veo-3.1 — Veo 3.1
Input type: t2v
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
aspectRatio | --ar | enum | 16:9 · 9:16 (default 16:9) |
duration | -d | enum | 4 · 6 · 8 (default 8) |
resolution | -r | enum | 720p · 1080p · 4k (default 720p) |
imageUrls | -i | file | image (up to 3) |
generateAudio | --audio-gen | boolean | true · false (default true) |
negativePrompt | --neg | text | free text |
startFrame | --start-frame | file | image |
endFrame | --end-frame | file | image |
veo-3.1-fast — Veo 3.1 Fast
Try veo-3.1-fast in Playground ↗
Input type: t2v
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
aspectRatio | --ar | enum | 16:9 · 9:16 (default 16:9) |
duration | -d | enum | 4 · 6 · 8 (default 8) |
resolution | -r | enum | 720p · 1080p · 4k (default 720p) |
imageUrls | -i | file | image (up to 3) |
generateAudio | --audio-gen | boolean | true · false (default true) |
negativePrompt | --neg | text | free text |
startFrame | --start-frame | file | image |
endFrame | --end-frame | file | image |
veo-3.1-lite — Veo 3.1 Lite
Try veo-3.1-lite in Playground ↗
Input type: t2v
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
aspectRatio | --ar | enum | 16:9 · 9:16 (default 16:9) |
duration | -d | enum | 4 · 6 · 8 (default 8) |
resolution | -r | enum | 720p · 1080p (default 720p) |
startFrame | --start-frame | file | image |
gemini-nano-banana-2.1 — Nano Banana 2.1
Try gemini-nano-banana-2.1 in Playground ↗
Input type: t2i
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
aspectRatio | --ar | enum | 1:1 · 16:9 · 9:16 · 3:4 · 4:3 · 2:3 · 21:9 · auto (default 1:1) |
resolution | -r | enum | 1K · 2K · 4K (default 1K) |
count | -n | enum | 1 · 2 · 4 · 6 · 8 · 10 (default 1) |
seed | --seed | range | 0–2147483647, step 1 |
thinkingLevel | --thinking-level | enum | minimal (Minimal (faster)) · medium (Medium (balanced)) · high (High (more reasoning)) (default minimal) |
imageUrls | -i | file | image (up to 14) |
gemini-3.1-flash-image — Nano Banana 2
Try gemini-3.1-flash-image in Playground ↗
Input type: t2i
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
aspectRatio | --ar | enum | 1:1 · 16:9 · 9:16 · 3:4 · 4:3 · 3:2 · 2:3 · 4:5 · 5:4 · 4:1 · 1:4 · 8:1 · 1:8 · 21:9 · auto (default 1:1) |
resolution | -r | enum | 0.5K · 1K · 2K · 4K (default 1K) |
count | -n | enum | 1 · 2 · 4 · 6 · 8 · 10 (default 1) |
seed | --seed | range | 0–2147483647, step 1 |
thinkingLevel | --thinking-level | enum | minimal (Minimal (faster)) · high (High (more reasoning)) (default minimal) |
imageUrls | -i | file | image (up to 14) |
gemini-3.1-flash-lite-image — Nano Banana 2 Lite
Try gemini-3.1-flash-lite-image in Playground ↗
Input type: t2i
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
aspectRatio | --ar | enum | 1:1 · 16:9 · 9:16 · 3:4 · 4:3 · 3:2 · 2:3 · 4:5 · 5:4 · 4:1 · 1:4 · 8:1 · 1:8 · 21:9 · auto (default 1:1) |
count | -n | enum | 1 · 2 · 4 · 6 · 8 · 10 (default 1) |
seed | --seed | range | 0–2147483647, step 1 |
thinkingLevel | --thinking-level | enum | minimal (Minimal (faster)) · high (High (more reasoning)) (default minimal) |
imageUrls | -i | file | image (up to 14) |
gemini-3-pro-image — Nano Banana Pro
Try gemini-3-pro-image in Playground ↗
Input type: t2i
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
aspectRatio | --ar | enum | 1:1 · 16:9 · 9:16 · 3:4 · 4:3 · 2:3 · 21:9 · auto (default 1:1) |
resolution | -r | enum | 1K · 2K · 4K (default 2K) |
count | -n | enum | 1 · 2 · 4 · 6 · 8 · 10 (default 1) |
seed | --seed | range | 0–2147483647, step 1 |
thinkingBudget | --thinking-budget | range | 128–24576, step 128 (default 128) |
imageUrls | -i | file | image (up to 14) |
gemini-2.5-flash-image — Nano Banana
Try gemini-2.5-flash-image in Playground ↗
Input type: t2i
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
aspectRatio | --ar | enum | 1:1 · 16:9 · 9:16 · 3:4 · 4:3 · 2:3 · 21:9 · auto (default 16:9) |
count | -n | enum | 1 · 2 · 4 · 6 · 8 · 10 (default 1) |
seed | --seed | range | 0–2147483647, step 1 |
imageUrls | -i | file | image (up to 14) |
gemini-2.5-flash-tts — Gemini 2.5 Flash TTS
Try gemini-2.5-flash-tts in Playground ↗
Input type: tts
| Param | CLI flag | Type | Values |
|---|---|---|---|
language | --language | text | free text |
accent | --accent | text | free text |
prompt | -p | text | free text (≤6000 chars) |
voiceId | --voice | catalog | runtime catalog; run gen-ai models info gemini-2.5-flash-tts --json for current values (default Kore) |
parts | --parts-text · --parts-speaker | object[] | {text, speaker} |
multiSpeakerVoiceConfigs | --multi-speaker-voice-configs-speaker · --multi-speaker-voice-configs-voice-name | object[] | {speaker, voiceName} |
gemini-2.5-pro-tts — Gemini 2.5 Pro TTS
Try gemini-2.5-pro-tts in Playground ↗
Input type: tts
| Param | CLI flag | Type | Values |
|---|---|---|---|
language | --language | text | free text |
accent | --accent | text | free text |
prompt | -p | text | free text (≤6000 chars) |
voiceId | --voice | catalog | runtime catalog; run gen-ai models info gemini-2.5-pro-tts --json for current values (default Kore) |
parts | --parts-text · --parts-speaker | object[] | {text, speaker} |
multiSpeakerVoiceConfigs | --multi-speaker-voice-configs-speaker · --multi-speaker-voice-configs-voice-name | object[] | {speaker, voiceName} |
gemini-3.8-flash-tts — Gemini 3.8 Flash TTS
Try gemini-3.8-flash-tts in Playground ↗
Input type: tts
| Param | CLI flag | Type | Values |
|---|---|---|---|
language | --language | text | free text |
accent | --accent | text | free text |
prompt | -p | text | free text (≤6000 chars) |
voiceId | --voice | catalog | runtime catalog; run gen-ai models info gemini-3.8-flash-tts --json for current values (default Kore) |
style | --style | text | free text (≤500 chars) |
parts | --parts-text · --parts-speaker · --parts-style | object[] | {text, speaker, style} |
multiSpeakerVoiceConfigs | --multi-speaker-voice-configs-speaker · --multi-speaker-voice-configs-voice-name | object[] | {speaker, voiceName} |
gemini-3.8-flash-lite-tts — Gemini 3.8 Flash Lite TTS
Try gemini-3.8-flash-lite-tts in Playground ↗
Input type: tts
| Param | CLI flag | Type | Values |
|---|---|---|---|
language | --language | text | free text |
accent | --accent | text | free text |
prompt | -p | text | free text (≤6000 chars) |
voiceId | --voice | catalog | runtime catalog; run gen-ai models info gemini-3.8-flash-lite-tts --json for current values (default Kore) |
style | --style | text | free text (≤500 chars) |
parts | --parts-text · --parts-speaker · --parts-style | object[] | {text, speaker, style} |
multiSpeakerVoiceConfigs | --multi-speaker-voice-configs-speaker · --multi-speaker-voice-configs-voice-name | object[] | {speaker, voiceName} |
gemini-omni-flash-preview — Gemini Omni
Try gemini-omni-flash-preview in Playground ↗
Input type: t2v
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
aspectRatio | --ar | enum | 16:9 · 9:16 (default 16:9) |
duration | -d | enum | 3 · 5 · 6 · 8 · 10 (default 8) |
imageUrls | -i | file | image (up to 1) |
videoUrl | --video | file | video |
gemini-omni-1.1-flash-preview — Gemini Omni 1.2 Flash
The id says
1.1and the name says1.2. That inconsistency is upstream's; match ongemini-omni-1.1-flash-preview. Despite the-previewsuffix this is a production model.
Try gemini-omni-1.1-flash-preview in Playground ↗
Input type: t2v
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
aspectRatio | --ar | enum | 16:9 · 9:16 (default 16:9) |
resolution | -r | enum | 360p · 720p · 1080p · 4k (default 720p) |
duration | -d | enum | 3 · 4 · 5 · 6 · 7 · 8 · 9 · 10 (default 8) |
startFrame | --start-frame | file | image |
endFrame | --end-frame | file | image |
imageUrls | -i | file | image (up to 5) |
videoUrl | --video | file | video |
videoUrls | --video-urls | file | video (up to 3) |
lyria-3-clip — Lyria 3 Clip
Try lyria-3-clip in Playground ↗
Input type: music
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
imageUrls | -i | file | image (up to 1) |
lyria-3-pro — Lyria 3 Pro
Try lyria-3-pro in Playground ↗
Input type: music
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
imageUrls | -i | file | image (up to 1) |
Notes: Veo audio is native (
generateAudio); Imagen and Gemini image models differ in resolution and reasoning controls (thinkingLevel/thinkingBudget). TTSvoiceIdvalues are Gemini voice presets.
lyria-3.5 — Lyria 3.5
Input type: music
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
imageUrls | -i | file | image (up to 10) |
gemini-4-argon — Gemini 4 Argon
Try gemini-4-argon in Playground ↗
Input type: v2t
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
imageUrls | -i | file | image (up to 8) |
videoUrl | --video | file | video |
thinking | --thinking | enum | off · low · high (default off) |
gemini-3-pro — Gemini 3 Pro
Try gemini-3-pro in Playground ↗
Input type: v2t
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
imageUrls | -i | file | image (up to 8) |
videoUrl | --video | file | video |
thinking | --thinking | enum | off · low · high (default off) |
gemini-3.8-flash — Gemini 3.8 Flash
Try gemini-3.8-flash in Playground ↗
Input type: i2t
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
imageUrls | -i | file | image (up to 8) |
thinking | --thinking | enum | off · low · medium · high (default off) |
gemini-3.7-flash — Gemini 3.7 Flash
Try gemini-3.7-flash in Playground ↗
Input type: i2t
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
imageUrls | -i | file | image (up to 8) |
thinking | --thinking | enum | off · low · medium · high (default off) |
gemini-3.6-flash — Gemini 3.6 Flash
Try gemini-3.6-flash in Playground ↗
Input type: i2t
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
imageUrls | -i | file | image (up to 8) |
thinking | --thinking | enum | off · low · medium · high (default off) |
gemini-3.5-flash-lite — Gemini 3.5 Flash Lite
Try gemini-3.5-flash-lite in Playground ↗
Input type: i2t
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
imageUrls | -i | file | image (up to 8) |
gemini-2.5-flash — Gemini 2.5 Flash
Try gemini-2.5-flash in Playground ↗
Input type: i2t
| Param | CLI flag | Type | Values |
|---|---|---|---|
prompt | -p | text | required |
imageUrls | -i | file | image (up to 8) |
thinking | --thinking | enum | off · low · medium · high (default off) |