Spoken clip in, transcript out: transcribe_audio does not burn captions
Transcribe audio to text is one agent job. transcribe_audio returns words. Burning styled captions on a video is a different job.
Transcribe audio to text is one agent job. transcribe_audio returns words. Burning styled captions on a video is a different job.
Trim or cut a video is one agent job on a single file. cut_video keeps time ranges. Stitching two clips, or generating a longer take, is a different job.
create_ugc_video_overlay needs a base video and an overlay video. A talking avatar generate is a different job, and faking the face wastes credits.
upscale_image raises resolution on a still you are keeping. A new generate at 4K is a different job, and upscaling a miss wastes credits.
Write and generate a voiceover is one agent job. generate_speech returns a spoken file. Laying it on picture, or casting two speakers, is a different job.
A flat list of 139 tools serves an agent worse than six domain specialists. Name the job so the router sends the turn to the right one first.
The chat model plans; the generate model renders. Change chat_model to pick the brain, and pin generate models separately when the clip has to match.
POST /quick-generate runs one image or video generate without chat memory. Use it for scripted one-shots; keep /chat for anything that has to remember a brief.
Agent chat, generation and social posting sit on separate counters. Size each stage against its own limiter so a publishing 429 cannot stall generation.
Misrouting is usually ambiguous phrasing, not a broken agent. Word the first sentence so only one of the six domains can claim the job.