> ## Documentation Index
> Fetch the complete documentation index at: https://docs.makelocalads.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ad campaigns

> Generate sets of static ad creatives with the same choices as the app's campaign creator.

An ad campaign turns one direction into several distinct static ads. It offers
the same choices as the campaign creator in the app's Ad Campaign studio: a
recipe or several ad types, an audience, angles and an optional brief (guided),
or a brief alone (prompt).

Campaigns are audience-first. A guided campaign needs a saved `audience_id`
of the product, or `null` for a deliberately broad one. See
[Audiences](/setup/audiences).

## Before you start

* A product with `status: "ready"`, and at least one audience if you will pick
  one. See [Products](/setup/products).
* An API key with `campaigns:generate` (and `campaigns:read` to list recipes).
* Enough credits: `creative_count` x 2.

## Workflows

| Workflow | Endpoint |
| - | - |
| [Recipes and angles](/ad-campaigns/recipes-and-angles) | `GET /campaign-blueprints`, `POST /campaign-angles` |
| [Create a campaign](/ad-campaigns/create-a-campaign) | `POST /campaigns` |
| [Generate more creatives](/ad-campaigns/generate-more) | `POST /campaigns/{campaign_id}/creatives` |

Recipes and angles are optional. Skip them and the creator's default recipe is
used.

## Cost

Each creative costs 2 credits (the `campaign_creative` operation in
`GET /pricing`). A 10-creative campaign costs 20. Angles are free. Set
`max_credits` on the request to cap what it can spend; see
[Credits and spending](/concepts/credits-and-spending).

Open a workflow to see its fields and copy-paste examples.
