Skip to main content
POST
Write text-only ad copy variants (headline, subheadline/primary text, CTA, optional offer + body) for the team's brand or product. Grounded in the brand kit when available. Free — no generation credits used.

Authorizations

Authorization
string
header
required

AdStellar API key (ast_live_...)

Body

application/json
productId
string<uuid>

Product id — resolves the linked brand kit + product description. Preferred when set.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
brandKitId
string<uuid>

Brand kit id. Falls back to the product link or the workspace default kit.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
count
integer

Number of variants (default 5).

Required range: 1 <= x <= 10
tone
string

Desired tone, e.g. "bold and punchy", "warm", "premium".

Maximum string length: 120
length
enum<string>

Rough copy length.

Available options:
short,
medium,
long
adGoal
string

What the ad should achieve, e.g. "drive free trial signups".

Maximum string length: 200
customInstructions
string

Any extra direction.

Maximum string length: 500
workspaceId
string<uuid>

Resolve the brand kit/product within one workspace this credential can access. Omit to span all of them.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$

Response

Tool result