video_translation
Load the video-translation Skill for ALL such requests, with or without lip-sync; it selects the route and owns review. Use this tool only for integrated provider translation, never merely to transcribe or review independent dubbing. Use list_languages, prepare, get, generate on the same taskId. Preparation and edits do not charge; supplier draft cost unverified. prepare never renders; get is read-only. Both lip-sync choices require review. Show editable source-language text by default; target review is optional. Users need not know the target language. Apply source corrections to the target draft and save both SRTs on the same revision. Show connected readable text; keep cue timing internally. The provider does not retranslate source corrections; never render an unsaved preview. generate requires the exact authorized revision and an explicit audioOnly: true dubs speech and keeps the picture; false also lip-syncs mouths, so do not call submit_lipsync afterward. The whole asset is processed; export ranges first. No speaker/spatial selector; time crops cannot isolate overlapping voices or protect others. Edit final target wording in the existing draft. Complete rewrites default to voice/TTS with reviewed audio and timing, then optional submit_lipsync; new presenter performances use digital-human. Voice samples are not final dialogue. Subtitle-only work is separate. On timeout get the same task before retrying. Fix content in drafts, voice in audio, mouths in lip-sync. Never repeat paid stages to fix import. Report unsupported capabilities; don't silently change treatment. At most 10 video generations run at once per account across video tools; extra submits are rejected, so wait for a running job to finish instead of retrying.
External MCP spend rule: list_languages/get are read-only. prepare may incur translation preprocessing charges; generate renders the reviewed revision. User authorization must cover the exact action and scope. Never silently create variants or bypass draft review.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"action": "<action>"
},
"name": "video_translation"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional output asset name. | |
| action | Yes | list_languages is a free catalog read. prepare creates or edits the same translation task without charging the user. get reads its actual draft/status without generating. generate is the billable render of only the approved revision. | |
| taskId | No | Required for get/generate and editing an existing draft. Reuse this ID to recover after interruption. | |
| revision | No | generate: exact displayed and authorized draft revision. It cannot be replaced with newly supplied text. | |
| audioOnly | No | generate, required: true dubs speech only; false also lip-syncs mouths. The video-translation Skill chooses; both require content review. For speech-only edits, replace selected non-overlapping speech intervals and retain other turns' audio; time selection cannot separate overlapping mixed voices. | |
| projectId | No | Full project UUID. Required for external browser work; internal agents may omit. Execution/explicit-timeline calls never change later calls' target. | |
| timelineId | No | Full timeline UUID, not a prefix. Required for browser work, even unplaced assets. Get it from read_project or manage_timelines action="list". Never switches visible timeline. | |
| keepDuration | No | Initial prepare, default false: allow provider duration adjustment. true disables video stretching to preserve source timing. Neither choice guarantees natural pacing or frame-exact output; inspect actual duration. | |
| sourceAssetId | No | Initial prepare only: whole project video asset. Export a selected section as its own asset first. | |
| idempotencyKey | No | Stable key for this browser execution. Reuse only with identical scope and parameters after a lost acknowledgement; applies only to this call. | |
| targetLanguage | No | Initial prepare: exact canonical language from list_languages. | |
| browserProfileId | No | Optional browser profile override. Omit to select automatically; do not ask the user to choose. | |
| expectedRevision | No | prepare edit: revision returned by get. Stale edits are rejected; fetch and reconcile instead of overwriting. | |
| sourceTranscriptSrt | No | Initial prepare: local SOURCE-language SRT for comparison, retaining actual cue timing. This is not sent as a provider source correction. Omit to use the complete library transcript. On same-task editing, pair source corrections with updated targetTranscriptSrt. This is a ChatCut review reference, not a provider retranslation input; major new dialogue belongs in the new-script workflow. | |
| targetTranscriptSrt | No | prepare edit only: revised TARGET-language SRT from get, preserving cue structure. Show readable source/target text to the user, not SRT syntax. |