Grok Imagine for 30-second animated episodes
Grok Imagine for 30-second animated episodes ("Pip") — research report
Date of research: September 7, 2026 Scope: Grok Imagine (xAI, now branded "SpaceXAI" on x.ai / docs.x.ai) as of early September 2026; character and voice consistency; extension prompting; alternatives; a production pipeline for 30-second episodes.
Conventions used below:
- [verified] = stated on the cited page as fetched on 2026-09-07.
- [estimate] = my inference or arithmetic, not stated by a source.
- [user-reported, not verified] = what the founder observed in the app; I could not find a public page confirming it.
- not found = searched, no public source located.
Research constraints worth knowing: x.com and reddit.com are blocked for fetching from this environment (robots / site block), and the web-search budget for this session ran out after 11 searches, so the remainder was done by fetching ~57 known URLs directly (official docs, x.ai news, vendor and practitioner pages). X threads and Reddit posts are therefore cited only when a third-party page quoted them. YouTube transcripts: not reachable; not found.
1. Grok Imagine as of September 2026 — capabilities and limits
1.1 Naming and timeline (what "1.0 / 1.5 / 2.0 / Imagine Video" mean)
| Name | What it is | Date | Source |
|---|---|---|---|
| Grok Imagine (v0.9 era) | consumer image+video in Grok app; 6 s clips, Spicy mode | Aug 2025 | https://www.arsturn.com/blog/supergrok-video-limit-explained-how-it-works (Aug 11, 2025) |
Grok Imagine API (grok-imagine-video) |
API bundle: text/image-to-video, video edit, native audio | Jan 28, 2026 | https://x.ai/news/grok-imagine-api |
| Grok Imagine 1.0 (consumer) | 720p, "10 second clips" | Feb 3, 2026 | https://www.cyberlink.com/blog/trending-topics/4368/grok-imagine (Aug 7, 2026) and https://www.basenor.com/blogs/news/grok-can-now-extend-ai-videos-what-it-means-for-you (Mar 2, 2026) |
| "Extend from Frame" in the app | extension feature, 6–10 s increments, premium only | ~Mar 2026 | https://www.basenor.com/blogs/news/grok-can-now-extend-ai-videos-what-it-means-for-you |
grok-imagine-video-1.5-preview |
image-to-video, up to 720p, API preview | Jun 3, 2026 | https://x.ai/news/grok-imagine-1-5 |
| Imagine Video 1.5 GA | GA June 16, 2026 (third-party date) | Jun 2026 | https://kie.ai/blog/grok-imagine-video-1-5 |
| Imagine Video 1.5 with References | text-to-video, up to 7 image references, voice references, native 1080p; app + API | Jul 31, 2026 | https://x.ai/news/grok-imagine-video-1-5-references |
Imagine Image 2.0 (grok-imagine-image-2.0) |
image model, "Quality Mode" in app; multi-ref editing up to 5 images; smart resize | Aug 7, 2026 | https://x.ai/news/grok-imagine-image-2 |
| Release notes Aug 28, 2026 | image quality: "auto" default; image editing up to 5 source images; new 21:9 and 5:2 ratios (images) |
Aug 28, 2026 | https://docs.x.ai/developers/release-notes |
| Release notes Sep 2, 2026 | grok-imagine-image-quality retires Nov 2 → served by grok-imagine-image-2.0 at quality: low |
Sep 2, 2026 | https://docs.x.ai/developers/release-notes |
"Imagine 2.0" is an image model, not a video model. There is no "Imagine Video 2.0" in the x.ai news feed (checked July 1–Sep 7, 2026: https://x.ai/news) or the docs release notes. The current video models are grok-imagine-video (older, cheaper) and grok-imagine-video-1.5 (current flagship). [verified]
1.2 Clip length and extension mechanics
API (docs.x.ai) [verified]:
- Generation duration: 1–15 seconds (
durationparameter). https://docs.x.ai/developers/model-capabilities/video/generation - Extension endpoint
POST /v1/videos/extensions, modelgrok-imagine-video: "picks up seamlessly from the last frame of the input"; input video must be 2–15 s; extension adds 2–10 s (default 6); theduration"controls the length of the extended portion only, not the total output"; output matches input aspect ratio and resolution, capped at 720p. https://docs.x.ai/developers/model-capabilities/video/extension - The number of chained extensions is not specified in docs. But because the input must be ≤ 15 s, a 20 s extended output cannot be fed straight back in; you would have to trim the tail (≤ 15 s) and re-extend, then stitch. [estimate, derived from the 15 s input limit]
- Third-party hosts of the same endpoint say the same: "up to 15s of source video is preprocessed at 720p, then 2–10s of continuation is generated" (https://www.scenario.com/models/grok-extend-video); "2-15 seconds long" input, default 6 s extension (https://fal.ai/models/xai/grok-imagine-video/extend-video/api); WaveSpeed adds "quality may degrade after 2-3 successive extensions" (https://wavespeed.ai/blog/posts/introducing-x-ai-grok-imagine-video-video-extend-on-wavespeedai/, May 1, 2026).
Consumer app (grok.com/imagine, iOS/Android):
- 10-second clips: consistent with "Grok Imagine 1.0 … 10 second clips" (cyberlink, above) and "longer 10-second videos, up from 5-second" (https://www.croma.com/unboxed/how-to-generate-longer-videos-using-grok-imagine). Cyberlink (Aug 7, 2026) says "clip length varies by tier, roughly 6 to 15 seconds". [verified, but tier-dependent]
- Extension: "Extend from Frame … picks up from the final frame of your clip … 6–10 second increments and can be chained together", premium only (basenor, Mar 2, 2026). [verified for March 2026]
- "Each clip can be extended twice, each extension needs its own prompt" — [user-reported, not verified]. No public page states a two-extension cap; it is consistent with the API's 15 s input limit and the "2–3 extensions before degradation" note, so plan on 10 + 10 + 10 = 30 s max per chain and do not count on more.
- Does it keep the last frame / the character? Yes for the last frame by design (docs: "picks up seamlessly from the last frame"). Character identity is inherited from that frame, not from a stored reference — so if the character has drifted or left frame by second 10, the extension inherits the drift. See §2.
1.3 Resolution and aspect ratio [verified]
- Generation:
480p(default),720p,1080p(1080p only on text-to-video and image-to-video, model 1.5). https://docs.x.ai/developers/model-capabilities/video/generation - Aspect ratios for generation:
1:1,16:9(default),9:16,4:3,3:4,3:2,2:3. Image-to-video defaults to the input image's ratio; specifyingaspect_ratio"will override this and stretch the image". Same page. - Reference-to-video: only
16:9and9:16, capped at 720p, max 15 s. https://docs.x.ai/developers/model-capabilities/video/reference-to-video - Extension and edit outputs: inherit input, capped at 720p. (extension / editing docs above)
- App: native 1080p "for both text-to-video and image-to-video" on grok.com/imagine and mobile since Jul 31, 2026 (https://x.ai/news/grok-imagine-video-1-5-references). Conflicting third-party notes: cyberlink (Aug 7) says "no 1080p option on the consumer tier"; therundown (Aug 28) says SuperGrok Plus "enables 1080p consumer video" (https://www.therundown.ai/tools/grok-imagine). Treat 1080p in the app as tier-gated [estimate]. Earlier, 1080p upscaling of existing videos was announced on X (posts by @muskonomy and @mark_k, ~Apr 2026: https://x.com/muskonomy/status/2050909753552032163 , https://x.com/mark_k/status/2050973494532349985 — could not fetch; titles from search index only).
1.4 Modes (image-to-video, text-to-video, reference-to-video, edit) [verified]
- Image-to-video:
prompt+image; locks the first frame. Best identity accuracy from a single still (https://help.scenario.com/articles/5410526625-grok-imagine-video-a-guide-to-ai-motion-creation). - Text-to-video: added to 1.5 on Jul 31, 2026; "describe the shot — no starting image needed" (x.ai news, above).
- Reference-to-video (
reference_imagesup to 7, tagged<IMAGE_1>… in the prompt; optionalreference_audioswith presetvoice_id, tagged<AUDIO_0>…): "incorporate specific people, objects, clothing … without locking the first frame"; cannot be combined with image-to-video or edit in one request. https://docs.x.ai/developers/model-capabilities/video/reference-to-video - Video edit (
/v1/videos/edits): input ≤ 8.7 s, output keeps duration/ratio, ≤720p; restyle, object add/remove/swap. https://docs.x.ai/developers/model-capabilities/video/editing and https://x.ai/news/grok-imagine-api
1.5 Native audio, voices, dialogue, lip-sync [verified unless marked]
- Native audio (dialogue, SFX, ambience) generated in the same pass as video;
generate_audio=falsefor silent output. https://docs.x.ai/developers/model-capabilities/video/generation - Dialogue syntax: put lines in double quotes; delivery notes as adjectives; name ambient layers; "no music" to suppress scoring. https://omniart.studio/blog/models-insights/grok-imagine-native-audio (Jun 11, 2026); https://fal.ai/learn/tools/how-to-use-grok-imagine (Jul 26, 2026; recommends time-coded segments like
(0-4s)); https://videoconia.com/blogs/grok-imagine-video-1_5-prompt-guide (Jun 4, 2026;AUDIO:prefix, negative prompts ignored). - Lip-sync: joint audio/video generation — "lip movements are shaped alongside the audio waveform rather than imposed afterward" (omniart). No separate lip-sync endpoint.
- Multiple speakers: fal's launch post says "dialogue between multiple characters … character separation with different voices per speaker" (https://blog.fal.ai/grok-imagine-is-now-available-on-fal, Jan 29, 2026). Reviewers say it is "less reliable when the script contains several speakers" (https://www.elser.ai/blog/grok-imagine-video-1-5-review, Aug 25, 2026).
- Voice control:
- API: preset voices via
reference_audios: [{"voice_id": "eve"}], max 3 voices per request, roster shared with the TTS API (eve, ara, leo, rex, sal, carina, zagan, helix, orion, luna, iris, altair, zenith, perseus, helios, lux, kepler, rigel, cosmo, celeste, ursa, sirius, lumen, castor, naksh, atlas, aurora, liora). Preset voices are free as input. Custom voice files require partnership / sales contact. https://docs.x.ai/developers/model-capabilities/video/reference-to-video ; https://docs.x.ai/developers/model-capabilities/audio/text-to-speech ; https://docs.x.ai/developers/models/grok-imagine-video-1.5 - App: "voice reference" (pass a character image and a voice reference; "the same face and the same voice in every scene") rolled out first to SuperGrok Heavy / SuperGrok Plus in the US, "rolling out to all tiers over following days". https://x.ai/news/grok-imagine-video-1-5-references (Jul 31, 2026); https://www.techtimes.com/articles/322670/20260802/grok-imagine-video-update-adds-1080p-voice-cloning-seven-reference-scene-control.htm (Aug 2, 2026); https://cryptobriefing.com/grok-imagine-voice-consistency-text-to-video/ ("up to three audio inputs", Aug 1, 2026).
- API: preset voices via
- Reliability: one tester reports "three of five tests generated synced sound effects; one came back music-only" (https://alici.ai/blog/how-to-use-grok-imagine-video-15-guide, Jun 1, 2026).
1.6 Spicy / modes, watermark, upscaling
- Modes: Normal and Spicy; Spicy "requires a paid subscription plus age verification" and was "narrowed to fictional and imaginary adult characters" after 2026 regulatory action. https://www.cyberlink.com/blog/trending-topics/4368/grok-imagine (Aug 7, 2026). Irrelevant to this show; use Normal.
- Watermark: therundown (Aug 28, 2026) says consumer outputs carry a mandatory watermark that the terms prohibit removing (https://www.therundown.ai/tools/grok-imagine); alici (Jun 1) says outputs "ship without a watermark" — conflicting. API outputs: no watermark mentioned in docs. Unresolved — check a downloaded app clip. [not verified either way]
- Upscaling: 1080p upscale of existing videos in app (X posts, Apr 2026, above); native 1080p since Jul 31. Docs: reference-to-video/extension/edit are capped at 720p, so a 30 s chain built with extensions tops out at 720p via API [verified], and the same likely applies in-app [estimate].
1.7 API: endpoints, pricing, limits [verified]
- Endpoints:
POST /v1/videos/generations,GET /v1/videos/{request_id}(async; statuses pending/done/expired/failed),POST /v1/videos/edits,POST /v1/videos/extensions. Files API can hold inputs/outputs (release notes Jun 10, 2026). https://docs.x.ai/developers/model-capabilities/video/generation - Pricing (https://docs.x.ai/developers/pricing, https://docs.x.ai/developers/models/grok-imagine-video, https://docs.x.ai/developers/models/grok-imagine-video-1.5):
grok-imagine-video-1.5: $0.08/s (480p), $0.14/s (720p), $0.25/s (1080p); image input $0.01; preset voices free.grok-imagine-video(used by extension/edit): $0.05/s (480p), $0.07/s (720p); video input $0.01/s; image input $0.002. "Video Extension API pricing is currently offered at a promotional rate and is subject to change."
- Rate limit shown on model pages: 10 requests/s. Regions us-east-1 (+ us-west-2 batch).
- Seed parameter: not found in the video docs. (No reproducibility control.)
- Also hosted on fal, Replicate, WaveSpeed, Scenario, inference.sh (same limits; fal's extend page warns violating requests are still charged).
1.8 Consumer tiers and quotas
- Access to video requires X Premium / Premium+ / SuperGrok; "daily generation quotas apply on every tier and xAI adjusts them frequently", numbers not disclosed (cyberlink, Aug 7, 2026).
- Reported quotas: Premium 50 videos/day, Premium+ 100, SuperGrok Heavy 500 (https://www.arsturn.com/blog/supergrok-video-limit-explained-how-it-works, Aug 2025; repeated by https://www.tenorshare.ai/ai-tips/grok-video-limit-reached.html, May 28, 2026, which also reports real-world rolling windows of "20-30 clips daily" and a user hitting the limit after 12 six-second clips). Treat as stale/approximate.
- Prices: SuperGrok ≈ $30/month (https://www.eesel.ai/blog/xai-pricing, Jun 5, 2026); SuperGrok Plus $100/month with "shared weekly allowance across chat, voice, and video" (therundown, Aug 28, 2026); Heavy tier upgrade offer "$99" mentioned (tenorshare). x.ai/grok itself only says video "up to 15 seconds at 720p" and points to grok.com/supergrok (https://x.ai/grok). Exact per-tier video counts for September 2026: not found.
- Free tier: xAI "closed its own free video tier in March 2026" (alici); free X users have "no access to new features" (techtimes).
2. Character consistency across clips
2.1 What the tooling offers [verified]
- Image-to-video from the same still — locks frame 1 to your image, so identity is exact at t=0 and drifts from there. Best single-source identity accuracy (scenario help center).
- Reference-to-video (1.5, Jul 31, 2026) — up to 7 reference images; "each reference locks one thing in place — a face, a product, a location"; "keep a character and swap the scene, keep the scene and swap the character, or hold both and change only the action". Does not lock the first frame, so it is the right tool for new shots of Pip, and image-to-video is the right tool for continuing a shot. https://x.ai/news/grok-imagine-video-1-5-references ; https://docs.x.ai/developers/model-capabilities/video/reference-to-video
- Extension — inherits the last frame; nothing else.
- Imagine Image 2.0 for building the reference sheet: "a character, her locations, and the props she carries — generated separately, holding one style from image to image" is explicitly pitched for video pre-production; multi-ref editing up to 5 images. https://x.ai/news/grok-imagine-image-2
2.2 Practitioner findings
- Elser AI review (Aug 25, 2026): "character consistency can still drift between separate generations"; model is best with "single-subject, single-action" shots; it "cannot convincingly extend tight crops into wide shots". Advice: budget "cost per usable shot, not merely cost per generation". https://www.elser.ai/blog/grok-imagine-video-1-5-review
- Scenario help center (updated ~Aug 2026) workflow for consistent characters: generate frame one, make other frames "as image to image from frame one so the identity stays fixed", then pass them as references. https://help.scenario.com/articles/5410526625-grok-imagine-video-a-guide-to-ai-motion-creation
- Neolemon (May 4, 2026) prompt that worked for cartoon characters: "Keep the same character exactly. Preserve the face shape, eye shape, hairstyle, outfit, body proportions, color palette, and cartoon illustration style. Only change [specific element]." Failures: regenerating from scratch, several changes in one prompt, mixing image-to-video and reference-to-video in one request. https://www.neolemon.com/blog/kling-ai-grok-ai-character-consistency-tips/
- fal guide (Jul 26, 2026): say it explicitly — "Keep her exact face, makeup, and earring from the still." https://fal.ai/learn/tools/how-to-use-grok-imagine
- DuoChroma tutorial (Nov 22, 2025, pre-extend era, still valid): put "Maintain character consistency" in the prompt; keep the character in frame if you plan to extend — "characters who leave the frame cannot appear in subsequent clips"; use explicit camera terms ("Static Camera", "Dolly-Out"). https://duochroma.com/grok-imagine-tutorial-extending-videos-maintaining-character-consistency/
- Seed control: not found (no seed parameter in docs).
- X threads / Reddit posts with side-by-side results: not reachable from this environment (blocked); none quoted in the third-party pages above beyond the two 1080p-upscale posts.
2.3 What this means for Pip [estimate, based on the above]
- Pip is a simple design (round white body, green antenna, crayon line) — the easiest possible case for drift, since there is no face detail to lose. The main drift risks are the antenna (colour, count, position), body proportions, the paper texture flattening into clean vector, and signs/numbers turning to gibberish.
- Numbers on signs are the single most fragile element; models rewrite text over time. Keep signs simple ("$0", "1", "10x") and, if a number must be legible, prefer rendering it in the still image (Image 2.0 is strong at text) and holding the camera static, or overlay it in CapCut.
3. Voice consistency across clips
Honest answer (Sep 2026): persistent voices are possible only through the preset voice roster (API) or the voice reference feature (app, tier-gated); free-form "describe the voice" prompting does not give a stable voice across separate generations, and custom/cloned voices are not self-serve.
Evidence:
- API:
reference_audios: [{"voice_id": "leo"}]with the 28-name preset roster; up to 3 per request; tag speakers in the prompt as<AUDIO_0>/<AUDIO_1>. The samevoice_idin every request is the only documented way to get the same voice in every clip. Preset voices "generally available"; custom audio files need a sales/partnership agreement. https://docs.x.ai/developers/model-capabilities/video/reference-to-video - The voice roster is the TTS roster, so you can also generate the narrator with the TTS endpoint using the same
voice_id(e.g. a dry narrator =rigel"precise, professional, and calmly confident" orlux"grounded, calm, and quietly wise"; Pip =cosmo"bright, curious" orsirius"quick-witted, clever, and playful") and get an identical timbre on and off screen. https://docs.x.ai/developers/model-capabilities/audio/text-to-speech - App: voice reference "maintained across scenes … the same face and the same voice in every scene" (x.ai, Jul 31, 2026), initially SuperGrok Heavy/Plus, US. The founder should check whether his tier now shows a voice picker in Imagine.
- Extension caveat: the extension endpoint runs on
grok-imagine-video(not 1.5) and the docs do not mentionreference_audiosfor extensions, so the extended segments' voice is inferred from the input clip's audio, not pinned. WaveSpeed claims the extend model "maintain[s] audio consistency" (May 2026), but this is vendor copy, not a guarantee. [verified that docs list no voice param for extensions; continuity quality = estimate] - Known tricks (from the sources above and standard practice):
- Preset voice IDs everywhere (API): same
voice_idfor narrator and Pip in every generation. - Describe the voice identically every time (app without voice reference): e.g. always "small, squeaky, cheerful robot voice" / "dry, flat, deadpan male narrator". Reduces but does not eliminate drift [estimate].
- Generate dialogue separately with TTS and mute/replace Grok's audio: most reliable. Use xAI TTS (same roster), or ElevenLabs etc.; keep Grok's track only for room tone and SFX, or set
generate_audio=falseand add SFX from a library. Lip-sync then comes from Grok's guessed mouth shapes only; Pip has no visible mouth detail to speak of, and a narrator never needs lip-sync, so this costs little for this show [estimate]. - Keep Grok audio only for ambience/SFX ("no music", "no dialogue" in the prompt; then lay TTS on top).
- Preset voice IDs everywhere (API): same
4. Extension prompting: writing the 3 prompts so a 30-second scene holds
Sources for the rules: docs (extension continues from the last frame; extension prompt = "what should happen next"), DuoChroma (keep the character in frame; explicit camera terms), fal guide (time-coded segments, quotes for dialogue, describe what you hear), videoconia (one moving subject + one camera path; 5–8 s of motion per prompt; negatives are ignored), scenario (one camera move per clip; action first), Elser (single-subject, single-action), WaveSpeed (degradation after 2–3 extensions).
Practitioner rules distilled:
- Repeat the style + character block verbatim in all three prompts (identity anchor is text + last frame only).
- Prompt 1 sets the composition the whole scene will live in: static or very slow camera, character centred, all props visible. End the first 10 s with Pip still in frame and in a resting pose (gives the extension a clean handoff).
- Each extension prompt = "what happens next", written in present tense, one action + one small camera move, plus the same audio block. Do not re-describe the whole scene as if from scratch — that invites a re-render; do re-state the style and the character.
- Change one thing per extension: new line of dialogue, new sign, new prop. Never change lighting, palette, or camera type mid-scene.
- Dialogue: quoted lines, ≤ 2 short sentences per 10 s, tagged with the speaker; use time-codes
(0-4s)…(8-10s). - Reserve the last 1–2 s of each segment for a hold ("Pip pauses, antenna twitches") so the cut/extension seam lands on low motion.
- Extension outputs are capped at 720p; generate the first clip at 720p 16:9 so all three segments match [verified cap; matching = estimate].
Concrete templates are in §6.
5. Alternatives for the same job (30 s, dialogue, stylized character)
Prices are API list prices as fetched 2026-09-07; "per 30 s" is arithmetic [estimate]. Consumer app plans differ.
| Tool | Native dialogue / audio | Character consistency features | Clip length & extend | ≈ price per 30 s (API) | API | Sources |
|---|---|---|---|---|---|---|
| Grok Imagine Video 1.5 (xAI) | Yes, joint audio+video; quoted lines; preset voices (≤3), voice reference in app | Image-to-video (frame lock); reference-to-video up to 7 refs; no seed | 1–15 s; extend +2–10 s per call, input ≤15 s, ≤720p | 480p $2.40 / 720p $4.20 / 1080p $7.50 (gen); extension segs $0.05–0.07/s | Yes (x.ai, fal, Replicate…) | docs.x.ai pages above |
| Veo 3.1 / Flow (Google) | Yes, always-on audio; dialogue in quotes | Up to 3 reference images ("ingredients"); first/last frame | 4/6/8 s; extend +7 s up to 20× (148 s max), 720p only for extend | Vertex page as fetched lists Veo 3 at $0.40/s with audio, Fast $0.15/s → $12.00 / $4.50 [Veo 3.1 rate estimate: assumed same] | Yes (Gemini API, Vertex) | https://ai.google.dev/gemini-api/docs/veo ; https://cloud.google.com/vertex-ai/generative-ai/pricing |
| Kling 3.0 (Omni) / 2.6 | Yes (2.6+: native audio, CN/EN; 3.0: multi-speaker; separate advanced lip-sync endpoint, "one person" only) | elements (@Element1…) with frontal + extra refs; multi-prompt shots |
3–15 s (v3); 5/10 s (2.6) | v3 Pro via fal: $0.168/s audio → $5.04; voice-control $0.196/s → $5.88; 2.6 Pro audio $0.14/s → $4.20 | Yes (Kling, fal) | https://fal.ai/models/fal-ai/kling-video/v3/pro/image-to-video ; https://fal.ai/models/fal-ai/kling-video/v2.6/pro/image-to-video ; https://prompt-architects.com/blog/310-dialogue-and-lip-sync-in-ai-video |
| Runway Gen-4.5 | No native audio ("silent by design"); Act-Two for facial performance | Reference-driven (Gen-4 references); Act-Two performance capture | 5/10 s typical | $0.12/s → $3.60 (silent) + Act-Two $0.05/s | Yes | https://docs.dev.runwayml.com/guides/pricing/ ; prompt-architects |
| Sora 2 / 2-pro (OpenAI) | Audio present but dialogue syntax undocumented/contradictory; "≤2 characters per generation" | "Characters" (reusable non-human subjects; human likeness blocked), image = first frame | 8/12/16 s (up to 20); extend +20 s ×6 (120 s) | sora-2 720p $0.10/s → $3.00; pro 1080p $0.70/s → $21.00 | Yes | https://developers.openai.com/api/docs/guides/video-generation ; https://developers.openai.com/api/docs/pricing |
| Hailuo 02 / 2.3 / H3 (MiniMax) | H3: "Character speaks:" + reference audio for timbre (per prompt-architects); Hailuo 02: audio not documented | Start/end image; H3 reference audio | 6/10 s | Hailuo-02 Pro 1080p $0.08/s → $2.40 | Yes | https://fal.ai/models/fal-ai/minimax/hailuo-02/pro/image-to-video ; prompt-architects |
| Pika 2.5 / 2.2 | No audio field documented | Pikaffects/ingredients (not documented on fetched page) | 5 s | 720p $0.04/s → $1.20; 1080p $0.09/s → $2.70 (silent) | Yes (fal) | https://fal.ai/models/fal-ai/pika/v2.2/image-to-video ; prompt-architects |
Reading of the table for this show [estimate]: Grok Imagine 1.5 and Veo 3.1 are the only two with first-class quoted dialogue and multi-image character references and extension; Grok is roughly 3× cheaper than Veo 3.1 at 720p and 1080p, has a preset-voice mechanism Veo lacks, and Veo's extension chain goes far longer (148 s) and is the safer choice if you ever want scenes longer than 30 s. Kling 3 is the strongest "elements" system for a recurring character but its dialogue is CN/EN-centric and lip-sync is single-person. Runway/Pika are silent tools — fine only with a full TTS pipeline.
6. Recommended pipeline for 30-second episodes
6.1 Structure
[0–3 s] Intro title card (still image + 3 s Ken-Burns/zoom in CapCut, or a 3 s Grok image-to-video "breathing" clip)
[3–27 s] One scene, 24 s = Grok gen 10 s → extend 1 (+8 s) → extend 2 (+6 s) [or 10+10+10 trimmed to 24]
[27–30 s] Outro card (still + "next episode" text)
Why 10 + 8 + 6 and not 10+10+10: the API extension input limit is 15 s and WaveSpeed/others report degradation after 2–3 chained extensions; in the app, the founder observed a hard two-extension cap. Making later segments shorter keeps the total ≤ 30 s including cards, and puts the least-stable footage in the smallest slot [estimate]. If the app forces fixed 10 s extensions, generate 10+10+10 and trim in CapCut.
6.2 Assets to prepare once (Imagine Image 2.0, "Quality Mode")
- Pip reference sheet: one 16:9 image with Pip front / three-quarter / side / back, on the paper texture, same crayon line. Generate the front view first, then produce the others as edits of it ("Keep the same character exactly … only change the angle"), per scenario/neolemon.
- Set images: the office desk with keyboard and podium (already have ep. 1 title card — reuse it as the location reference).
- Sign images: a blank crayon sign, and pre-rendered signs with the numbers you need ("$0", "1", "100").
- Style token block (copy into every prompt):
STYLE: hand-drawn 2D animation on textured cream paper, visible paper grain, wobbly crayon outlines, flat pastel fills, slight boil/line jitter like a paper cut-out cartoon, no gradients, no 3D, no photorealism, soft even lighting. CHARACTER: Pip — a small round white blob character with a single thin green antenna ending in a green dot, two simple black dot eyes, tiny stick arms, no mouth detail, always the same size and proportions.
6.3 Generation — the three prompts (Pip style)
Use image-to-video from a Pip-on-set still for prompt 1 (frame lock), then extensions. If using the API, add reference_audios for the voices; if using the app, pick a voice reference if your tier shows it, otherwise keep the voice descriptions identical and plan to replace dialogue with TTS.
Prompt 1 — initial 10 s (image-to-video, 16:9, 720p)
[STYLE block] [CHARACTER block]
SHOT: static camera, medium wide shot, Pip stands centre-left at a small wooden desk with a keyboard; a paper podium sits on the right; a crayon sign on the podium reads "$0". Everything stays in frame the whole time.
(0-3s) Pip looks at the "$0" sign, antenna droops slowly.
(3-7s) Pip turns to the keyboard and taps two keys with tiny stick arms; the sign wobbles.
(7-10s) Pip stops, looks at the camera, antenna twitches once, then holds still.
AUDIO: dry, flat, deadpan male narrator <AUDIO_0> says "Day one. Revenue: zero." Then Pip, in a small bright squeaky robot voice <AUDIO_1>, says "That's a starting point." Soft paper rustle, faint pencil-on-paper sounds, quiet room tone, no music.
Prompt 2 — extension 1 (+8 s; "what happens next")
Continue the same scene without any cut. [STYLE block] [CHARACTER block] Same static camera, same desk, keyboard, podium and "$0" sign, same lighting and paper texture. Pip stays fully in frame.
(0-3s) Pip picks up a crayon and scribbles on a new small sign.
(3-6s) Pip lifts the new sign; it reads "1". Antenna perks upright.
(6-8s) Pip sets the sign on the podium next to "$0" and holds still, looking at the camera.
AUDIO: same deadpan narrator <AUDIO_0>: "One customer. Unpaid." Same squeaky Pip voice <AUDIO_1>: "One is more than zero." Pencil scratch, paper rustle, quiet room tone, no music.
Prompt 3 — extension 2 (+6 s)
Continue the same scene without any cut. [STYLE block] [CHARACTER block] Same static camera, same desk, keyboard, podium, "$0" and "1" signs, same lighting and paper texture. Pip stays in frame.
(0-3s) Pip turns back to the keyboard and types quickly with both stick arms; the keyboard keys bounce.
(3-5s) Pip pauses, antenna glows a little brighter green.
(5-6s) Pip holds still, looking at the keyboard.
AUDIO: same deadpan narrator <AUDIO_0>: "Day two begins." Keyboard clacks, paper rustle, quiet room tone, no music. No dialogue from Pip.
Notes on the templates [estimate, from §4 rules]: one moving subject, one camera (static), one new prop per segment, the style/character block repeated verbatim, dialogue in quotes with a speaker tag, low-motion hold at every seam, "no music" to stop auto-scoring. In the app (no <AUDIO_n> tags), replace the tags with the identical voice descriptions each time.
Intro card prompt (Imagine Image 2.0, 16:9; you already have ep. 1 — this is the reusable template)
[STYLE block] [CHARACTER block]
Episode title card. Pip stands beside a small paper podium on a wooden desk with a keyboard; a crayon sign on the podium reads "$0". Large hand-lettered crayon title at the top: "PIP RUNS A COMPANY", smaller hand-lettered subtitle below: "Episode 1 — Day One". Cream paper background with visible grain, plenty of empty space around the text, nothing cropped at the edges.
Outro card prompt
[STYLE block] [CHARACTER block]
End card. Pip, seen from behind, walks toward a hand-drawn door at the far right of the frame, antenna up. Crayon hand-lettering centred: "NEXT TIME" on one line and "Pip hires nobody" below it. Small crayon text bottom-right: "Episode 2". Cream paper, visible grain, no other props.
To animate cards with Grok instead of CapCut, run a 3 s image-to-video on each with: "Nothing moves except a gentle boil in the crayon lines and a slow 2% push-in; text stays perfectly legible and unchanged. No dialogue, soft paper rustle only." (Text stability during video is not guaranteed; a CapCut zoom on the still is safer [estimate].)
6.4 Assembly (CapCut or ffmpeg)
- Deliver 16:9 first (1280×720 for extension-chained clips; 1920×1080 only if the chain is generated natively at 1080p, which extension does not support). For 9:16, re-frame the same footage: Pip is centred by design, so a 720×1280 centre crop of the 16:9 keeps Pip and podium if you kept them within the central 56% of the frame — bake that constraint into the prompt ("Pip and podium in the centre third") [estimate]. The docs warn
aspect_ratioon image-to-video stretches the input, so do not ask Grok for 9:16 from a 16:9 still; generate a separate 9:16 still with Image 2.0 smart resize and a separate 9:16 chain if you want native vertical. - Audio: if using TTS for dialogue, mute Grok's track (or generate with
generate_audio=false), lay narrator/Pip lines, add paper-rustle SFX bed. - Captions: CapCut auto-captions, or ffmpeg
subtitles=filter with an SRT written from the script (you already know the lines — no ASR needed). - ffmpeg reference (all clips already same size/fps):
ffmpeg -f concat -safe 0 -i list.txt -c copy scene.mp4 # if codecs identical
ffmpeg -i intro.png -loop 1 -t 3 -vf "scale=1280:720,zoompan=z='min(zoom+0.0008,1.05)':d=72" intro.mp4
ffmpeg -i ep.mp4 -vf "subtitles=ep.srt" -c:a copy ep_cc.mp4
ffmpeg -i ep.mp4 -vf "crop=ih*9/16:ih,scale=720:1280" ep_9x16.mp4
6.5 What an agent can automate today
| Step | Automatable via API? | Notes |
|---|---|---|
| Reference sheet / cards | Yes — grok-imagine-image-2.0 image generation + edit endpoints |
docs.x.ai image endpoints; multi-ref up to 5 |
| Scene segment 1 | Yes — /v1/videos/generations with image + reference_audios voice IDs |
1.5 model; 720p |
| Extensions | Yes — /v1/videos/extensions (input ≤15 s; +2–10 s; 720p) |
model grok-imagine-video; no voice param; count of chained extensions undocumented |
| Voice (persistent) | Yes — preset voice_id via video or TTS endpoints |
custom clone: sales only |
| Montage, captions, 9:16 | Yes — ffmpeg | fully scriptable |
| Quality judgement (drift, gibberish text) | Partly — agent can render contact sheets and re-roll; final pick stays human [estimate] | Elser: budget "cost per usable shot" |
| App-only features (voice reference picker, Spicy, in-app 1080p) | No public API | app only |
API cost per episode [estimate, list prices]: 10 s gen at 720p $1.40 + 14 s of extensions at $0.07/s ≈ $0.98 + video-input fees ≈ $0.25 + two images ≈ $0.10 → ≈ $2.7 per clean take; with a 3× re-roll rate ≈ $8 per episode. Consumer plan alternative: SuperGrok ≈ $30/mo with undisclosed daily video caps.
7. Gaps / not found
- Public confirmation of the app's "two extensions max" rule: not found (user-reported).
- Exact September 2026 per-tier video quotas: not found (2025-era numbers only).
- Seed / reproducibility control for video: not found.
- Whether the app's downloaded clips are watermarked: conflicting sources; unresolved.
- Whether
reference_audiosworks on/v1/videos/extensions: not documented (assume no). - X threads and Reddit r/grok posts with side-by-side consistency tests: not reachable (blocked); YouTube transcripts: not reachable.
- Kling official pricing page and Veo 3.1 official per-second price: pages returned 404/empty as fetched; third-party/fal and Vertex (Veo 3) numbers used and marked.
Counts
- Web searches performed: 11 (4 further searches refused — session search budget exhausted).
- URLs fetched: 57 attempted; 44 returned usable content; 13 failed (404, redirect stub, robots/blocked: x.com, reddit.com, easyaichecker, Google Vertex Veo 3.1 pages, Kling pricing, MiniMax price page, Runway old pricing path).
- Distinct sources cited in this report: 41.
- Official xAI/SpaceXAI pages cited: 12 (x.ai news ×4, x.ai/grok, x.ai/api/imagine, docs.x.ai ×6).
- Claims explicitly marked [estimate]: 14. Claims marked [user-reported, not verified]: 1. Items marked not found: 7.