Generate a fake-text chat story video
generate_fake_text_videoCREATES a fake-text video: a phone chat conversation that types itself out over a gameplay or green-screen background, every line read aloud in the voice you pick for that side. YOU WRITE THE SCRIPT: there is no writer behind this endpoint, and the messages array you send IS the conversation, in that order, one {text, from} per chat bubble (get_recipe fake-text has the format advice and a worked example). Write it from what the user asked for, show it to them as plain text before spending anything and change it until they like it: iterating costs nothing. AFTER: this one call makes the finished video (the answer carries the price split and renders_automatically: true; no fire or render step). Wait with wait_for_generation; when terminal get_video carries the file url. start_confirmed: false means the job exists but its start was never confirmed: do not create it again, watch it, and tell the user it may need a retry if it has not moved in ten minutes. The whole chat may not reach 6000 characters of dialogue (aicut will not cut it for you: shorten it). COST: quoted per character of dialogue, in two parts that are both charged: call estimate_only: true first and state estimated_tokens (the total). A longer script costs more, AND SO DOES THE VOICE PROVIDER (ElevenLabs is about four times openai per character): change a provider and re-run estimate_only; never carry an older quote across that change. NOT OFFERED (the web app has them; say so rather than approximating them in the script): background music, specific gameplay clips, images or sound effects inside the chat, contact photos, promotions, a second chat in one video, the cantina skin. SPENDS TOKENS: price with estimate_only: true, ask in the SAME message as the price, and wait for a go that names THIS purchase (SPENDING RULES, this server's instructions). IDEMPOTENCY: a reused idempotency_key REPLAYS the first job whatever the settings: never reuse one for a new generation (this server's instructions).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | The language the conversation is written in, by name ('English', 'German'); default English. Write `messages` in it too: this labels the script, it does not translate it. | |
| messages | Yes | The conversation, in order, one entry per chat bubble. This is the script, and you write it. | |
| template | No | The chat app skin. Defaults to `imessage`. | |
| background | No | `random` (a gameplay clip, the usual choice) or `greenscreen` (plain, to key out later). Default `random`. | |
| voice_left | No | The voice for the LEFT side. Pick two different voices so the two people sound different (there is no silent option). The voice id for this side, in the provider named by `voice_provider_*` (omit for that provider's first voice). openai: alloy, ash, ballad, coral, echo, sage, shimmer, verse (retired `onyx`, `nova`, `fable` still work, speaking as `ash`, `shimmer`, `alloy`). elevenlabs: an id from `list_voices` with `provider: 'elevenlabs'` (stock, cloned or custom voices; PAGED: pass `usable_for: 'audio', limit: 100` and read `has_more` before saying a voice does not exist). Any other id is refused uncharged. Cloned and custom ElevenLabs voices ARE accepted here and on `generate_image_story`; `generate_audio` cannot. | |
| voice_right | No | The voice for the RIGHT side: same rules as `voice_left`. | |
| aspect_ratio | No | Defaults to `9:16`, the vertical shape every short-form platform wants. | |
| contact_name | Yes | The name at the top of the phone screen: who the owner is texting ('Mom', 'Jake ❤️'). | |
| estimate_only | No | Price only; creates nothing. | |
| idempotency_key | No | Retry-safety key (IDEMPOTENCY). | |
| voice_speed_left | No | The LEFT side's reading speed. 1 normal (default), 1.15 fast, 1.25 very fast. Faster makes the video shorter and costs nothing extra (the price is per character). | |
| voice_speed_right | No | The RIGHT side's reading speed: as `voice_speed_left`. | |
| notification_sounds | No | Play a message tone as each bubble arrives. Defaults to true. | |
| voice_provider_left | No | Who reads the LEFT side. `elevenlabs` is the web app's default, `openai` is cheaper and covers every language with the same eight voices. Defaults to `openai`. IT CHANGES THE PRICE: ElevenLabs costs about four times openai per character, so call `estimate_only` again after changing it. | |
| voice_provider_right | No | Who reads the RIGHT side: same choices and price rule as `voice_provider_left`. |