Creating a Campaign
This guide covers setting up a new TV spot campaign — the top-level container for all ad units, scripts, and storyboards.
What Is a Campaign?
A Campaign is the top-level container in the TV spot hierarchy. It represents a single advertising project and holds:
Client and product metadata
The original script data (JSON)
A link to a Brand for brand evaluation during adaptation
All Ad Units (origin and adaptations) created under it
erDiagram
Brand ||--o{ Campaign : "primary brand"
Campaign ||--|{ VideoAdUnit : "contains"
VideoAdUnit ||--|{ AdUnitScriptRow : "has"
VideoAdUnit ||--o{ Storyboard : "visualized by"
Creating a Campaign in the Admin
Navigate to TV Spots > Campaigns > Add Campaign
Fill in the required fields:
Field |
Description |
|---|---|
Job ID |
Unique tracking identifier (e.g., |
Script Title |
Campaign or script name (e.g., “Morning Boost 30s”) |
Client Name |
Client organization name |
Product Name |
Product being advertised (optional) |
Brand |
Link to a Brand record for brand evaluation during adaptation (optional but recommended) |
Original Script Data |
The origin script as JSON (optional — can also be created via |
Save the campaign
Linking a Brand
Linking a Brand to a campaign enables the brand evaluation gate in the adaptation pipeline. The evaluator checks adapted scripts against the brand’s:
Voice — tone, personality, communication style
Values — core principles, messaging themes
Guidelines — visual identity, naming rules, tagline usage
Insights — market-specific patterns and preferences
To link a brand:
Create the Brand record first (under TV Spots > Brands)
Select it in the Campaign’s Brand dropdown
Adaptations can also override the campaign’s brand with a market-specific variant (e.g., Lay’s → Walkers for the UK market). See Origin & Adaptation Ad Units for details.
Setting Original Script Data
The original_script_data field stores the campaign’s source script as JSON. This data is used by the adaptation pipeline’s concept extraction node to analyze the origin script’s themes, structure, and intent.
The JSON format matches the import format:
{
"script_rows": [
{
"shot_number": "01",
"timecode_start": "00:00:00:00",
"duration_seconds": 3.0,
"visual_text": "Wide shot: Urban apartment...",
"audio_text": "SFX: Alarm buzzing\nMUSIC: Soft instrumental"
}
]
}
For campaigns created via the import_tvspot command, this field is populated automatically. See Importing TV Spots (JSON) for the full JSON specification.
Campaign Lifecycle
A typical campaign flows through these stages:
Create Campaign — set up metadata and link a brand
Create Origin Ad Unit — add the source script (manually, via JSON import, or via video analysis)
Create Adaptation Ad Units — target specific markets with the adaptation pipeline
Generate Storyboards — visualize adapted scripts with diffusion models
Multiple adaptations can run in parallel under one campaign, each targeting a different region, country, or language.
Viewing Campaign Status
The campaign list view shows all campaigns sorted by creation date. Click a campaign to see:
Campaign metadata (job ID, client, product, brand)
All ad units created under it (origin and adaptations)
Storyboards generated for each ad unit
Ad unit statuses update in real time as pipeline tasks complete. See Observability for monitoring task execution.