Generate ad copy
Generate ad copy (headlines, primary text, descriptions) and store it as a copyGenerationId.
Tool name: generate-copy.
Generate ad copy (headlines, primary text, descriptions) and store it as a copyGenerationId. The id is what the user later approves and attaches via updateNode, generation alone does not change any ad. Brand context (name, URL, business type, voice) is auto-loaded server-side, never ask the user for any of that.
When to use
Generate ad copy. Returns a copyGenerationId, call this freely to produce candidates; nothing is attached to any ad until you call updateNode(copyGenerationId=…). Brand context is auto-applied; never ask the user for product/service description. When creatives are attached, always pass their IDs via creativeIds.
Access
| Property | Value |
|---|---|
| Required scope | write |
| Publishes | No |
| Read-only | No |
| Destructive | No |
| Idempotent | No |
| Open world | Yes |
Input
| Field | Type | Required | Description |
|---|---|---|---|
platform | string | Yes | Target platform. Only facebook and instagram are supported, the value is stored as the copy's platform label. One of facebook, instagram. |
tone | string | No | Tone: professional, casual, urgent, friendly. Optional, defaults to brand voice. |
angle | string | No | Marketing angle. Optional, only pass if the user requested a specific framing. |
productDescription | string | No | Optional override. Backend auto-fills product context from brand (name, URL, business type, voice). Only pass this if the user gave specifics that should take precedence over brand defaults. |
creativeIds | number[] | No | IDs of creatives attached to this chat. When present, the backend pulls each creative's name + stored visual analysis and feeds it to the copy LLM so the copy matches what the ad actually shows. Pass whenever creatives are listed in the ## Attachments block. Never call readDocument on image MIME types, use this param instead. |
Output
The tool catalog does not declare an output schema for this tool.
REST equivalent
POST /v1/brands/{brandId}/copies, Generate ad copy. CLI: koast generate-copy.