Request a video change
revise_videoChange a finished video against its saved base_version. A change asked for in words costs 1 credit (dry_run: true answers the price and sends nothing); exact edits with the direct edit tools and fix_captions are free. Name output_id for one hook/Short/format; attachment changes require one output when the video has several. Attach up to four still images with explicit intent: reference_only studies the image without placing it, use_in_video must place it. Supply each as a genuine ChatGPT file descriptor, an import_asset asset_staging_key, or an owned imported asset_id. PNG/JPEG/WebP may be placed; GIF references inspect the first frame only. Prepared owned video sources may be placed by ID; motion/audio analysis of video references needs a separate preparation path. Unsupported requests return a reason and preserve the saved project. Exact supported changes use the direct edit tools or fix_captions. On the legacy rendered revision path only (a video without a saved native project), replace retained main scratch narration when check_video.narration.can_change is true: pass explicit voice plus a voice-only change such as 'Change narrator to Brian. Keep the script and edit.' using the selected catalog name. This preserves script/edit/assets; send other edits separately. Uploaded speech, silent motion and mixed voice/visual instructions are refused on that replacement path. To ADD narration to an eligible silent main motion video on the legacy path, keep voice omitted and begin change with 'Narrator: liam Narration: '. Use a catalog narrator name; this supports one main hook, aligns rebuilt visuals to the recorded narration word clock, and refuses mismatched, clipped or missing voiceover. The saved native project path currently returns typed project_update_unsupported for voice replacement or narration addition because its separate narration preparation path is unavailable. Do not promise native narration support or retry by forcing a legacy rebuild. Preserve operation_id, base/output, roles and arguments on retries; a refreshed file download URL for the same host file may resume its upload. Use a new operation_id for a deliberate new change and check the resulting version. No movie export is started by a native project update. A change by typing runs in the background: this answers at once with a job_id, and check_video with that job_id shows the steps as they happen and then the editor's reply and what it could not do.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| voice | No | The narrator for a video made from words: matilda, sarah, jessica, alice, liam, chris, brian, george, roger, laura, charlie, river, will, eric, bella, daniel, lily, bill, adam, callum, harry (sarah: calm, reassuring, health and money; alice: a clear British educator; brian: deep documentary; liam: energetic ads). Leave out to let Clypmint pick one that fits the words. "Voice: <name>" in instructions does the same. | |
| change | Yes | ||
| dry_run | No | true: say what the change uses and send nothing. | |
| video_id | Yes | ||
| output_id | No | Change only this output (a hook, a Short or a format) from check_video. | |
| attachments | No | ||
| base_version | No | ||
| operation_id | No | A stable ID for this authorized request. Preserve it on retries. Use a new ID only for a deliberate new request. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | ||
| cost | No | ||
| error | No | ||
| state | No | ||
| status | No | ||
| dry_run | No | ||
| message | No | ||
| plan_id | No | ||
| style_id | No | ||
| video_id | No | ||
| available | No | ||
| import_id | No | ||
| output_id | No | ||
| studio_url | No | ||
| version_id | No |