Create an image campaign
create_campaignMakes a set of 1 to 10 image ads for one brand in one size, each adapted from a source ad. Source ads come from sources.type rivals_best (standout ads of the brand's competitors), from source_ad_ids (2 to 5 chosen ads) or, with neither, from automatic selection. product_image_id and prompt set the product image and message, so this is also the tool for controlled output. Two steps: without confirm it returns a cost preview (cost_credits, output_count, source_ad_ids, truth_preflight, confirmation_truth, idempotency_key, max_credits) and spends nothing; the confirming call repeats the same arguments with confirm: true plus the preview's source_ad_ids, count equal to output_count, confirmation_truth as truth, idempotency_key and max_credits. Returns campaign_id and a campaign job reference for get_campaign_outputs. Fewer images than requested can be delivered when sources or quality checks fail. Does not publish ads.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "create_campaign"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Aspect ratio for every image in the campaign (default 1:1). 16:9 is not offered for every campaign; the preview reports when it is unavailable. | 1:1 |
| count | No | Number of images, 1 to 10 (default 3, or 6 with sources). On a preview with source_ad_ids it equals the number of ids (2 to 5); without them StealAds selects sources for 1 to 10 images. On confirmation, send count equal to output_count from the preview. | |
| truth | No | Absent on the preview call. On confirmation, the preview's confirmation_truth object sent back unchanged; the key is signed over every field, so a missing or edited field is refused. Sending it states that the user approved the facts and any conflicts listed in truth_preflight. | |
| prompt | No | What the campaign should say or feature: offer, product, audience, angle (up to 4,000 characters). Needed unless sources is given. Statements here are compared with the saved brand details; differences, such as another audience, come back as conflicts in truth_preflight for the user to approve. | |
| confirm | No | true starts the campaign from an approved preview and reserves credits; absent or false returns the cost preview and spends nothing. | |
| sources | No | Automatic sources from the best ads of the brand's competitors, as an alternative to source_ad_ids. Skips ads this user already used for the brand in the last 14 days. Does not start tracking. | |
| brand_id | No | Brand id from list_brands. Needed unless sources.brand_id is given; when both are sent they have to be the same brand. | |
| max_credits | No | max_credits from the cost preview, sent with confirm: true as the approved credit ceiling. | |
| source_ad_ids | No | Chosen source ads, as ad ids in UUID form. Preview: 2 to 5 distinct ids with count equal to their number; absent for automatic selection, the only way to quote 1 or 6 to 10 images. Confirmation: every source_ad_ids value the preview returned, in the same order. An ad that search returns can still be ineligible as a campaign source. | |
| idempotency_key | No | idempotency_key from the cost preview, needed with confirm: true and valid for 15 minutes. An identical repeat returns the original campaign. | |
| product_image_id | No | Product image to feature: an asset id from list_brand_assets for this brand (asset_type product). Absent or null lets StealAds choose one of the brand's images. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Explanation when fewer eligible sources remain outside the cooldown. | |
| status | No | Current progress or delivery state. | |
| replayed | No | replayed value in this response. | |
| _references | No | Opaque action references accepted by subsequent tool calls. | |
| billing_url | No | billing url value in this response. | |
| campaign_id | No | campaign id value in this response. | |
| max_credits | No | Explicit credit ceiling to echo after the user approves this quote. | |
| next_action | No | Suggested operation to continue or recover from this state. | |
| cost_credits | No | Credits quoted or charged by this operation. | |
| output_count | No | output count value in this response. | |
| what_happens | No | Plain explanation of the proposed work, confirmation steps and quote expiry. | |
| source_ad_ids | No | source ad ids value in this response. | |
| enough_credits | No | enough credits value in this response. | |
| balance_credits | No | balance credits value in this response. | |
| idempotency_key | No | Key binding confirmation to this preview and preventing duplicate work. | |
| truth_preflight | No | truth preflight value in this response. | |
| confirmation_truth | No | confirmation truth value in this response. | |
| confirmation_required | No | True for a cost preview awaiting explicit approval. | |
| requested_output_count | No | requested output count value in this response. |