ads

Call ads.draft_creatives

Turn an accepted campaign plan into finished ads — 'draw the ads for this campaign', 'generate the creative now'. Draw this campaign's ads from the plan it already accepted — a picture and its words for each idea. Name the campaign by its campaign_id, or by the brief's run_id once ads.accept_plan has accepted its plan. It STARTS the drawing and returns; the drawing carries on by itself even if they close the page, and the pictures land over the next few minutes. It costs money and only works once per campaign. Not for more ads like one that already exists (ads.more_like_this), for pictures that never drew (ads.retry_draft_pictures), or for a new ad from a post or an idea before any plan is accepted (ads.start_brief). Over the API it answers in two calls: without confirmation_id it proposes — says what would happen, returns a confirmation_id and changes, spends and sends nothing; the same arguments again with that confirmation_id, on a member's own API key, do it.

Every result names the workspace it ran in. Say which workspace the answer is about. When the account has more than one workspace and none is selected, this tool refuses with workspace_ambiguous and lists the choices — offer them, never pick one.

post/api/v1/tools/ads.draft_creatives

Request

  • Base URL: https://app.goosybear.ai
  • URL: https://app.goosybear.ai/api/v1/tools/ads.draft_creatives
  • Auth: HTTP bearer

Headers

x-request-idstring

Your own id for this request, echoed back and recorded on the audit trail. 1–128 characters from A–Z a–z 0–9 . _ : -, starting with a letter or digit; anything else is replaced by a generated id.

Request body

campaign_idstring uuid

The campaign's id, as given in this conversation or its URL.

run_idstring uuid

The brief's run id, when the campaign's id is not to hand; the run names the campaign its accept made.

confirmation_idstring uuid

Omit to propose: the first call says what would happen, returns a confirmation_id and changes nothing. To go ahead, send the same arguments again with that confirmation_id, on a member's own API key; a service account's key can propose but never confirm.

workspacestring

Which workspace to run in — its slug. Omit to use your default. With more than one reachable workspace and no default, the call is refused and the choices are listed.

Response

The call was admitted and dispatched. ok says whether the tool succeeded — a refusal the tool itself produced is still a 200, exactly as it is a successful JSON-RPC result over MCP.

OR

Changes

No recorded changes to this operation across all 4 revisions of this API.