Skip to main content
POST

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Idempotency-Key
string

Optional caller-generated value that prevents duplicate generation when retrying the same request.

Required string length: 1 - 255

Body

application/json

Mirrors the campaign creator. Guided mode (the default) starts, as the creator does, with the audience: audience_id is required, either a saved audience or null for a deliberately broad campaign. It then takes one recipe (blueprint_id) or several ad types (blueprint_ids), plus optional angles and a brief. With no recipe, one is chosen for the product, as in the app. Prompt mode takes a brief instead and has no audience step.

product_id
string<uuid>
required
mode
enum<string>
default:guided
Available options:
guided,
prompt
blueprint_id
string

One recipe from GET /campaign-blueprints.

blueprint_ids
string[]

Several ad types for a custom campaign. The creatives are split evenly across them, so creative_count must be a multiple of the number of types.

Required array length: 1 - 30 elements
audience_id
string<uuid> | null

Required in guided mode. A saved audience of the product, from GET /products/{product_id}/audiences, or null for a broad campaign. Prompt mode takes no audience (omit it or send null).

angles
string[]

Angles for a single recipe, usually from POST /campaign-angles. Not allowed with blueprint_ids.

Required array length: 1 - 10 elements
Maximum string length: 300
brief
string

Optional in guided mode. Required in prompt mode, where it is the whole direction.

Required string length: 1 - 2000
prompt
string
deprecated

Deprecated. The original prompt-only field: sending it means prompt mode with this brief, and keeps the original counts (3 to 30). Use mode: prompt and brief.

Required string length: 1 - 2000
aspect_ratio
enum<string>
default:1:1
Available options:
1:1,
4:5,
9:16,
16:9
language
enum<string>

Defaults to the brand's saved language, else English.

Available options:
English,
Hindi,
Hinglish,
Tamil,
Telugu,
Marathi,
Bengali,
Kannada,
Malayalam,
Gujarati,
Punjabi,
Odia,
Assamese,
Urdu,
Spanish,
French,
German,
Portuguese,
Italian,
Dutch,
Russian,
Arabic,
Mandarin Chinese,
Japanese,
Korean,
Vietnamese,
Thai,
Indonesian,
Filipino,
Turkish,
Polish,
Ukrainian,
Greek,
Hebrew,
Swedish,
Norwegian,
Danish,
Finnish,
Romanian,
Czech,
Hungarian,
Swahili
creative_count
integer

5, 10, 15 or 20 (default 10). For blueprint_ids, a multiple of the number of ad types, up to 30 (default: the multiple nearest 10).

max_credits
integer

Refuse the request with 422 credit_limit_exceeded, before anything is charged, if it would cost more than this many credits.

Required range: x >= 1

Response

Campaign accepted.

credits_charged
integer
required

Net credits charged so far. Refunds for failed renders are subtracted.

id
string<uuid>
required
brand_id
string<uuid>
required
product_id
string<uuid>
required
name
string
required
status
enum<string>
required
Available options:
queued,
in_progress,
completed,
failed,
canceled
requested_creative_count
integer
required
completed_creative_count
integer
required
failed_creative_count
integer
required
creatives
object[]
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
Last modified on September 30, 2026