Choose a workflow around the result you want: a newly authored story, an audience-relevant product campaign, or generation from a published template. Start with the brief and supported creative inputs, then follow the selected workflow's generation and review steps.
| Your starting point | Follow this path |
|---|---|
| A creative objective and an assistant | Agentic video journey |
| A product catalog and audience rules | Catalog-driven creative |
| Existing footage that needs precise product text or artwork | Scene overlays |
| A published template and the documented REST campaign contract | The published-template sequence below |
The REST sequence below uses the legacy flat-video-v1 rendering format: it renders frozen clips from an authorized published version. Recipient fields do not change that media. For new personalization or creative authoring, use the supported journey workflow and its discovered input contract.
- Discover a published template. Use
templates_list/ the matching REST operation withtemplates:read. Inspect the selected template and its versions. A usable version must reportrender_source_status: readywith supported immutableflat-video-v1content. Legacy unavailable versions cannot be used as a generation source. - Create the campaign. Use
campaigns_createwith the exact fields shown in the reference, including the selected template/version. Supply a unique idempotency value. Keep the returned campaign identifier and revision. - Add recipients. Use
recipients_upsertwithin the campaign. Use synthetic recipients when testing. Storing names or contact details does not personalize the rendered media or send messages. - Generate explicitly. Read the campaign's current state, then call
campaigns_generatewith the required input, revision and idempotency value. This action may consume the configured generation allowance. - Wait for completion. Poll
jobs_getaccording to its polling guidance until terminal. Distinguish completed, failed and partially failed jobs; see jobs and retries. - Read results. Use
campaign_results_listandcampaign_results_getfor returned media and status.campaign_analytics_getreports available campaign analytics; rendering does not establish message delivery or engagement attribution.
REST operation names, routes and payloads are in the generated reference. MCP uses the tool names above with operation_id and, where required, expected_revision; REST uses Idempotency-Key and If-Match headers instead.
For paginated operations, follow each operation's schema. Where limit and cursor are supported, the default limit is 50 and maximum is 100. Reuse the returned nextCursor unchanged for the same operation/workspace until null. Do not infer access to other tenants from their identifiers.