generate_ad_studio
Start a paid Ad Studio clip. Uses this month’s generation allowance. Poll get_ad_studio until it finishes. Hard failures return that job’s allowance.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Product page URL. Must match the quote when quoteId is set. | |
| beats | Yes | Locked 5-beat English script. Hook is the first 0–3s. Soft close is close. | |
| brief | No | Product brief. Required even when a URL is set. | |
| voice | No | Narration voice id from list_audio_lab_voices. | |
| family | Yes | Angle chip: Problem, Curiosity, Trust, or Niche. | |
| actorId | Yes | Talking Shorts catalog creator id from list_talking_short_actors. | |
| angleId | No | Angle id from research_ad_studio. | |
| quoteId | No | From quote_ad_studio. Optional; generate quotes first when omitted. | |
| captionMode | No | Current karaoke (workspace is Current only). off and hook remain accepted for API compatibility; hook burns as Current. | current |
| idempotencyKey | No | Optional key to retry an ambiguous Ad Studio submit with the same inputs. | |
| captionsEnabled | No | Legacy on/off. Prefer captionMode. false selects Off captions. | |
| durationSeconds | No | Clip length in seconds. 15, 20, or 25. Default 15. | |
| ugcFinishEnabled | No | Phone-cam finish on the exported MP4. Defaults on. Does not change the quote. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Job status such as pending, queued, in_progress, completed, or failed. | |
| videoId | No | Library clip id for this job, when one exists. | |
| idempotent | No | True when this call reused an in-flight or finished job with the same idempotency key. | |
| generationId | Yes | Generation id. Poll the matching get_* tool until status is completed or failed. | |
| creditsCharged | No | Usage already consumed from this month’s generation allowance (internal units). |