Post-production edit
post_editMechanically edit a rendered video: trim, adjust speed, mute, audio gain, fade out, add watermark, end card, or film grain using ffmpeg, without AI, returning a new video.
Instructions
MECHANICAL post-production on an EXISTING rendered video (its served mp4 URL) — an ordered plan of whitelisted primitives executed by ffmpeg (+ Chrome for typeset cards) in seconds for ~2 credits flat, NO AI model, the original untouched (returns a NEW video). The lane for: append a branded end card ('add an end card with our logo and website' — ADDS its seconds, never re-renders), trim, speed (0.5-2x), mute (whole or a window), audio_gain (-20..+6 dB), fade_out, corner logo watermark, anti-AI film grain. Up to 6 ops per plan, applied in order. Brand assets (name/domain/logo/accent) load from the workspace brand automatically; override per-call if needed. NEVER use generate_video/render_ad for these mechanical asks.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ops | Yes | the ordered edit plan (max 6 ops) | |
| accent | No | override the brand accent hex | |
| domain | No | override the brand website | |
| videoUrl | Yes | the served URL of the video to edit | |
| brandName | No | override the workspace brand name |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | the raw job result payload (e.g. images[] for carousel template ads) | |
| url | No | the served URL of the finished media (absent/null while still rendering) | |
| jobId | No | the render job id — poll get_job with this id to resume or inspect | |
| model | No | the product-facing label of the model that rendered it | |
| stillRendering | No | true when the render is still in progress — keep polling get_job with jobId |