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

# Creatives

> Build creatives in the composer or bring your own, attach them to campaigns, and see how sellers review them.

A **creative** is a finished ad: library assets placed into the slots of a format, plus copy and a
click URL. Creatives belong to an advertiser and are attached to campaigns; at launch they are synced
to each seller that will run them.

## The creative library

"Show me all my creatives" opens the **Creative Library** for the advertiser in scope, with **Assets**
and **Catalogs** tabs and filters for video, image, logo, copy and audio. From there you can upload
files or start a new creative.

## Bring your own

Drop images, video or audio into the chat, or call `upload_creative_asset` to open the upload task.
Uploaded files land in the library as assets you can place in any format.

| Asset | Limit                  |
| ----- | ---------------------- |
| Image | Up to 30 MB            |
| Video | Up to 2 GB             |
| Audio | Standard audio formats |

## The composer

The **Creative composer** builds a creative for one format, for example a vertical story, a
`display_300x250` banner, or a 30-second audio spot.

<Steps>
  <Step title="Pick a format">
    Each format lists its slots, each marked **Needed** or **Filled**.
  </Step>

  <Step title="Fill the slots">
    Drag an asset into a slot. Copy slots offer **Write it for me**, which drafts copy in the
    brand's tone from the brand card and the campaign brief.
  </Step>

  <Step title="Save">
    When every required slot is filled ("4 of 4 slots filled"), **Save creative** turns the draft
    into a library creative.
  </Step>
</Steps>

Over MCP, `save_creative_session` saves composer drafts and finalizes them; `save_creative` creates
or updates a creative from library assets directly.

## Attach to a campaign

Attach a creative with `save_creative` and `campaignIds`. The campaign reports **format coverage**
(`required`, `covered`, `missing`), so you can see before launch which buys still need creative.
A buy that launches without its creative waits in `pending_creatives`.

## Seller review

At launch, and whenever you attach a creative to a live campaign, Semicola sends it to each seller.
Sellers with automatic creative approval accept it at once. Sellers with review enabled mark it
`pending_review` until an operator approves or rejects it; a rejection carries the seller's reason so
you can fix and resubmit.
