ChatGPT Image Short Video
Use this method to turn a script or content plan into a vertical short video whose primary visual is generated in ChatGPT through an operator-provided fixed browser tab, then assembled locally with narration, burned subtitles, platform covers, and a manifest.
For the full production checklist, prompt pattern, timing rules, render rules, cover contract, and manifest schema, read references/workflow.md.
Core Workflow
- Confirm inputs: title, subtitle or hook, spoken script, visual style brief, target language, TTS voice/rate, output directory, and platform metadata.
- Use the fixed image-generation browser tab supplied by the operator. Do not open a fresh ChatGPT session unless the fixed tab is broken and the operator approves replacement.
- Generate one primary image or a small set of beat images using the per-beat prompt pattern in the reference.
- Save generated images as local source assets and record the prompt, browser-tab label, image index, timestamp, and any manual retries.
- Generate narration locally with TTS and save both media and subtitle sidecar when available.
- Measure true audio duration with
ffprobe; derive frame count from audio duration, not expected script length. - Align subtitles from TTS sidecar or a local speech-aligner, then split them into readable blocks.
- Render 1080x1920 frames with safe title/subtitle placement, light motion, and burned subtitles.
- Encode with
ffmpeg, mux narration, create 4:3 and 3:4 covers, and write a manifest pointing to every final artifact. - Validate that the video, covers, subtitles, and manifest are public-safe and contain no internal handles, local paths, credentials, browser slugs, or draft labels.
Non-Negotiables
- Fixed-tab access is a private operator setting. Never include actual tab URLs, account names, access tokens, local workspace paths, or handles in reusable output.
- The fixed tab exists for session continuity and image-tool consistency. It isolates image generation from unrelated conversations and reduces style drift across retries.
- Keep the final video at 1080x1920, 24 or 30 fps, H.264, yuv420p, AAC audio, and
+faststartunless the target platform requires another contract. - Burn subtitles into the video; do not rely only on external caption files for short-form previews.
- Export both horizontal 4:3 and vertical 3:4 covers as separate files.
- The manifest must use repo- or package-relative artifact paths when possible. Do not serialize machine-local private paths into a portable manifest.