generate_ad
Idempotent
Make a finished video ad — multi-shot, with a speaking creator, product shots, captions and an optional music bed — from a brief or a storyboard plus an avatar image and a product image. Requires a quote_id from estimate_ad_cost for exactly these fields; returns a job_id to poll with get_ad_job. Credits are charged only when the ad succeeds, and never more than the quote. SIGN-IN REQUIRED: connect this server with OAuth (the host prompts for it), or add an API key header "Authorization: Bearer acd_live_…" created at https://aicontentdrop.com/settings/integrations.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| brief | No | The ad brief: brandName, brandOneLiner, valueProps (1-8 strings), cta, intent, format (an id from list_ad_formats), shotCount (1-5), totalDurationSec (5-20), aspect (9:16 | 16:9 | 1:1), language, quality (fast | premium), modelTier (standard | cinematic), garmentImageUrl for the try-on formats. | |
| music | No | Optional music bed. | |
| quality | No | Lip-sync tier. premium costs more per talking shot. Defaults to the brief's quality, else fast. | |
| quote_id | Yes | The quote_id from estimate_ad_cost for these exact fields (kind ad). Required. | |
| canvas_id | No | Optional board id (from list_canvases or create_canvas): the ad is placed on it as a generation card that fills in when the render lands. | |
| avatar_url | Yes | Public https URL of the creator's reference image (a catalogue portrait, a generate_avatar result, or an import_asset URL). | |
| model_tier | No | cinematic renders on Seedance with director-grade camera work and costs more per shot; needs the brief. | |
| project_id | No | Optional studio project (uuid) to file the run under. | |
| storyboard | No | The storyboard returned by write_ad_storyboard, as is or edited. When present it is what renders; the brief is optional alongside it. | |
| persona_mode | No | synthetic lets the studio substitute one consistent generated creator for the avatar; exact-avatar (default) keeps the avatar as given. | |
| needs_avatar_gen | No | True when the avatar still has to be generated (billed as a line). | |
| needs_product_gen | No | True when the product still has to be generated (billed as a line). | |
| product_image_url | Yes | Public https URL of the product image. | |
| avatar_description | No | Optional one-line identity note for the creator (20-500 characters). | |
| product_description | No | Optional one-line product note (10-500 characters). |
Output Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Poll this with get_ad_job. | |
| status | Yes | ||
| replayed | Yes | True when this quote_id had already been submitted and the original job was returned. | |
| next_step | Yes | ||
| studio_url | No | The job's page in the studio on AI Content Drop. | |
| credits_quoted | Yes | The ceiling fixed by the quote. | |
| poll_after_seconds | Yes |