{"version":"1","model":{"id":"google/gemini-3.8-flash-tts","name":"Gemini 3.8 Flash TTS","kind":"audio","availability":"available","available":true,"restricted":false,"api_key_only":false,"description":"Google's expressive speech model with 30 prebuilt voices, separate delivery directions, two-speaker dialogue and automatic language detection. Produces 24 kHz WAV audio. The selected duration is an output budget, not an exact clip length.","pricing_note":"Fixed credit quote for the selected output budget, including an input-token allowance; not per-character billing. Audio may end earlier or be cut off at the cap. Google standard rates: $0.50/M input and $9/M audio tokens through Dec 31, 2026; $1/$18 from Jan 1, 2027.","categories":["narrate","dialog"],"prompt_required":true,"prompt_supported":true,"input_fields":["prompt","voice","speakers","style_instructions","temperature","duration"],"supports":{},"aspect_ratios":[],"resolutions":[],"durations":[15,30,60,120,300,600],"max_prompt_length":5000,"base_credits":3,"api_gross_margin_percent":20,"added_at":"2026-09-26","popularity_rank":59,"example_prompt":"Take a breath. <short pause> Your next great idea starts here.","preview":{"image":"/images/model-previews/generated/gemini-3-8-flash-tts-v1.webp"},"schema_url":"/api/v1/models?id=google%2Fgemini-3.8-flash-tts","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://www.artemotion.ai/api/v1/models?id=google%2Fgemini-3.8-flash-tts","title":"Gemini 3.8 Flash TTS generation request","description":"Request body accepted by POST /api/v1/generate for google/gemini-3.8-flash-tts.","type":"object","properties":{"model_id":{"type":"string","const":"google/gemini-3.8-flash-tts","description":"ArtEmotion model identifier."},"extra":{"type":"object","additionalProperties":true,"description":"Model-specific settings may also be nested here."},"max_credits":{"type":"number","minimum":1,"description":"Reject before submission if the estimated list price exceeds this cap."},"webhook_url":{"type":"string","format":"uri","maxLength":2048},"webhook_secret":{"type":"string","maxLength":512},"folder_id":{"type":"string"},"prompt":{"type":"string","minLength":1,"maxLength":5000,"description":"Exact speech text. Inline vocal tags are supported. Combined script, repeated turn styles and settings must fit within 7,000 UTF-8 bytes."},"voice":{"title":"Voice","description":"Prebuilt voice for single-speaker narration. Dialogue uses the speaker mapping below.","default":"Kore","type":"string","enum":["Achernar","Achird","Algenib","Algieba","Alnilam","Aoede","Autonoe","Callirrhoe","Charon","Despina","Enceladus","Erinome","Fenrir","Gacrux","Iapetus","Kore","Laomedeia","Leda","Orus","Puck","Pulcherrima","Rasalgethi","Sadachbia","Sadaltager","Schedar","Sulafat","Umbriel","Vindemiatrix","Zephyr","Zubenelgenubi"]},"speakers":{"title":"Speakers","description":"Omit for narration. For dialogue, supply exactly two unique speaker names; every script line must start with a configured Name: prefix.","type":"array","maxItems":2,"oneOf":[{"maxItems":0},{"minItems":2,"maxItems":2}],"items":{"type":"object","additionalProperties":false,"required":["speaker","voice"],"properties":{"speaker":{"type":"string","minLength":1,"maxLength":40,"pattern":"^[^:\\r\\n]+$"},"voice":{"type":"string","enum":["Achernar","Achird","Algenib","Algieba","Alnilam","Aoede","Autonoe","Callirrhoe","Charon","Despina","Enceladus","Erinome","Fenrir","Gacrux","Iapetus","Kore","Laomedeia","Leda","Orus","Puck","Pulcherrima","Rasalgethi","Sadachbia","Sadaltager","Schedar","Sulafat","Umbriel","Vindemiatrix","Zephyr","Zubenelgenubi"]}}}},"style_instructions":{"title":"Delivery Style","description":"Up to 500 characters. E.g. warm, conversational, speaking slowly. These directions are not spoken aloud.","default":"","type":"string","maxLength":500},"temperature":{"title":"Temperature","default":1,"type":"number","minimum":0,"maximum":2,"multipleOf":0.05},"duration":{"type":"number","title":"Audio Budget (up to seconds)","description":"Audio-token budget expressed in seconds, billed as a fixed quoted allowance. Output may be shorter or cut off at this cap.","default":60,"enum":[15,30,60,120,300,600]}},"required":["model_id","prompt"],"additionalProperties":false},"parameters":[{"key":"voice","label":"Voice","type":"select","default":"Kore","options":["Achernar","Achird","Algenib","Algieba","Alnilam","Aoede","Autonoe","Callirrhoe","Charon","Despina","Enceladus","Erinome","Fenrir","Gacrux","Iapetus","Kore","Laomedeia","Leda","Orus","Puck","Pulcherrima","Rasalgethi","Sadachbia","Sadaltager","Schedar","Sulafat","Umbriel","Vindemiatrix","Zephyr","Zubenelgenubi"],"description":"Prebuilt voice for single-speaker narration. Dialogue uses the speaker mapping below."},{"key":"duration","label":"Audio Budget (up to seconds)","type":"select","default":60,"options":["15","30","60","120","300","600"],"description":"Sets the output-token ceiling and fixed credit quote. A script may end sooner or be cut off at this cap."},{"key":"style_instructions","label":"Delivery Style","type":"text","default":"","description":"Up to 500 characters. E.g. warm, conversational, speaking slowly. These directions are not spoken aloud."},{"key":"speakers","label":"Speakers","type":"text","description":"Optional JSON array of exactly two {speaker, voice} entries. Write each dialogue line as Name: speech. Names are removed before synthesis."},{"key":"temperature","label":"Temperature","type":"number","default":1,"min":0,"max":2,"step":0.05}]}}