Aident AI

How to Add Bilingual Captions With Codex and ChatCut
To add editable bilingual captions with Codex, keep the video in a ChatCut project, enable captions from the audible timeline sources, translate the caption program into the target language, and verify the source and translated lines before exporting. Do not burn the text into the video during the editing pass. ChatCut keeps the caption cards, source transcript, translation, timing, style, and layout available for correction.
This workflow starts with an existing ChatCut project that already contains the intended video. It uses Aident Loadout to let Codex discover the current ChatCut Actions, target the exact project, translate captions, inspect the result, and export an SRT without exposing a ChatCut credential to the agent.
Choose the Caption Deliverable First
"Bilingual captions" can mean three different outputs:
Deliverable | What viewers see | What remains editable |
|---|---|---|
ChatCut caption program | Original and translated lines inside the project | Text, timing, sources, style, and layout |
SRT sidecar | One selected caption language loaded by a player or editor | Cue text and timing |
Burned-in video | Captions permanently visible in every frame | Only the saved project or source SRT, not the exported pixels |
Use the ChatCut caption program as the working master. Export an SRT for review, accessibility, or another editor. Create a burned-in copy only when the delivery channel requires permanent captions, and preserve the editable project and SRT.
Define a Verifiable Result
Before Codex changes the project, write down the acceptance test. A useful bilingual-caption result requires:
the intended original-language source and one target language;
complete translation coverage for the active caption cues;
names, numbers, product terms, and calls to action checked against the audio;
no overlapping, empty, clipped, or visibly stale caption cards;
both lines readable in sampled frames at the target aspect ratio;
a downloaded target-language SRT that opens and contains the reviewed cues; and
no cloud video render or destructive caption reset unless you approved it.
Translation coverage is not translation quality. A complete automated result still needs a fluent speaker to review consequential wording.
1. Set Up Aident Loadout
Give Codex the canonical setup instruction:
Then check the installed public CLI and connected services:
ChatCut requires a connected ChatCut account. Complete any connection flow in the browser. Do not paste provider credentials, browser cookies, signed media URLs, or private video contents into the prompt or repository.
2. Discover the Current ChatCut Actions
Search by job instead of copying stale identifiers:
Inspect the exact matching Actions before use:
On August 19, 2026, the live catalog exposed project discovery and targeting, read_project, edit_captions, read_captions, preview_timeline, and submit_export. The edit_captions Action required an action field and accepted project-scoped JSON. Its user-facing translate operation created or refreshed the translation and switched caption visibility in one call. Catalog names and contracts can change, so the current discovery result remains authoritative.
3. Target the Existing Project Without Editing It
Ask Codex to list the available ChatCut projects and stop for your choice:
Expected result: Codex reports the selected project ID, active timeline, dimensions, frame rate, and source-asset counts. Open the returned editor URL and confirm that it is the intended cut.
If the video is not already in the project, import it through ChatCut's editor or the current import workflow after reviewing the upload boundary. Uploading private media is consequential and should never be inferred from a filename alone.
4. Enable Captions From the Audible Timeline
Ask Codex to enable captions without narrowing the source prematurely:
The current caption contract resolves audible timeline tracks into explicit sources. That is safer than assuming all speech lives on V1 or A1. If transcription is still running, use the returned status and wait guidance. Do not repeatedly poll or restart transcription.
Read the captions after they become ready. Record the caption revision, source language, card count, and any incomplete or stale state before translating.
5. Translate Into the Target Language
State the source language, target language, and display order explicitly. For example:
The current edit_captions contract represents that request as a translate operation with a target language, bilingual mode, and primary source. The target language is the translation target, never the original language. A representative operation is:
Use the actual project ID when the session is not already targeted. Add force or regenerate only when you explicitly want to discard and recreate the existing translation. A normal update should translate only missing or stale cues.
Expected result: the same caption program shows the original and translated sources with complete cue coverage. If the result supplies an exact repair action for incomplete coverage, run that repair once without forcing a full retranslation, then read the captions again.
6. Review Text, Timing, and Layout
Ask Codex to read the full caption text and report exceptions rather than declaring the translation correct:
Review at least these boundaries:
the first spoken cue;
a name, number, or specialized term;
the longest visible caption;
a fast cut or speaker change; and
the final spoken cue.
Then preview exact frames around those cues. ChatCut's current timeline preview can return timeline structure, composed viewer frames, and transcript context. Render metadata is not visual verification; inspect the returned images. Check safe-area placement, line order, contrast, clipping, and whether the two languages obscure important content.
Correct source-transcript errors separately from viewer-facing translation. A source fix changes transcript truth. A caption translation or card-text edit changes what the viewer sees. Keeping those operations separate prevents a translation correction from silently rewriting the transcript.
7. Export the Target-Language SRT Before Rendering Video
Record the current bilingual source order, scope the captions to the reviewed translation for the subtitle export, then restore the bilingual view afterward:
On August 19, 2026, submit_export accepted format: "subtitles" and subtitleFormat: "srt". Subtitle exports completed synchronously, while video and audio exports started durable cloud renders. When the caption program was scoped to a translation, ChatCut's public export contract described the subtitle output as that translated text. Do not assume that a stacked bilingual view automatically becomes a two-line bilingual SRT. Review the current schema and export contract before every call.
Download the SRT and verify:
cue numbers are ordered;
timestamps increase and do not overlap unexpectedly;
the selected target-language text uses UTF-8 correctly;
the first and final reviewed cues are present; and
the file opens in the intended player or editor.
Read the ChatCut caption program once more and confirm that the bilingual source order is restored. The project remains the bilingual editable master; the exported SRT is the selected target-language deliverable.
If you also need an MP4, request it as a separate approved step. Cloud rendering can spend ChatCut credits and must not be bundled into an otherwise read-only review. Track a submitted render by its returned ID instead of submitting a duplicate when the CLI appears quiet.
Common Failure Modes
Symptom | Likely boundary | Safe next step |
|---|---|---|
Wrong project or cut appears | Session targets a different project or active timeline | List projects, target the exact ID, and read the project map again |
Captions never become ready | Source transcription is pending or failed | Read one transcription status and follow its check-back guidance |
Only the translation is visible | Translation-only mode was selected | Switch to bilingual mode without resetting the caption program |
Languages appear in the wrong order |
| Read the source list, then update the explicit order |
Some cues remain untranslated | Translation coverage is incomplete or stale | Run the returned repair action once without forced regeneration |
Text is correct but clips off-screen | Caption layout does not fit the aspect ratio | Preview exact frames and adjust the caption or source layout |
A reset removes reviewed edits | Destructive reset was used for an ordinary correction | Restore from project history or backup; require confirmation before reset |
Export seems stalled | A video render was started instead of a subtitle export | Inspect the returned format and render ID before retrying |
Why Use ChatCut Instead of Burning an SRT Immediately?
An FFmpeg subtitle burn is appropriate when you already have an approved SRT and need permanent pixels. It is not the best first step when the transcript, translation, timing, or visual layout still needs review. ChatCut keeps those parts attached to an editable timeline and gives Codex structured read, translate, preview, and export boundaries.
When the SRT is approved and the delivery channel requires permanent captions, continue with How to Burn SRT Subtitles Into Video With Codex and FFmpeg. That separate canonical owns the final hard-subtitle render.
Give Codex One Bounded Caption Task
Open Aident Loadout, connect ChatCut, and ask Codex to discover the current ChatCut Actions, target one existing project, enable captions from the audible timeline, translate missing or stale cues into one target language, stop for review, preview the selected caption frames, and export one SRT. Success means the project still contains editable bilingual captions, translation coverage is complete, sampled frames pass review, and the SRT downloads without a video render, destructive reset, duplicate job, or exposed provider credential.
Sources
AI Captions, ChatCut, accessed August 19, 2026
Export Options, ChatCut, accessed August 19, 2026
ChatCut Agent Plugin, accessed August 19, 2026
ChatCut transcription Skill, accessed August 19, 2026
Aident Loadout, accessed August 19, 2026
Refresh this guide when ChatCut changes caption sources, translation coverage, Card editing, project targeting, preview, SRT export, or cloud-render behavior, or when Aident changes capability discovery, connection, pricing, acknowledgement, or audit contracts.



The one tool
for every tool
your agent needs.
Give any AI agent real capabilities in seconds. Connect 27,000+ tools once, skip the setup headache, and let your agents execute.
