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

# Create Ad Creative

> Creates a Meta ad creative from a raw creative payload and returns the new creative_id

Creates a Meta ad creative from a raw creative payload and returns the new creative\_id. Does not attach it to any ad. Used in the edit-ad workflow: meta\_ads\_get\_ad\_creative -> modify payload -> meta\_ads\_create\_ad\_creative -> meta\_ads\_replace\_ad\_creative. Best when the edited payload already references existing media in Meta, such as image\_hash or video\_id. If the edit needs brand new media uploads or a new ad from scratch, use the dedicated create\_\*\_ad operations (e.g. meta\_ads\_create\_single\_image\_ad, meta\_ads\_create\_carousel\_ad) instead.

|                       |                               |
| --------------------- | ----------------------------- |
| **App**               | Meta Ads                      |
| **Operation ID**      | `meta_ads_create_ad_creative` |
| **Type**              | Action                        |
| **Connection**        | `meta_ads` (required)         |
| **Credits per run**   | 1                             |
| **Agent / MCP tool**  | Yes                           |
| **Requires approval** | Yes (write operation)         |

## Inputs

| Field              | Type             | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ------------------ | ---------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `account`          | DynamicAccount   | Yes      | -       | Select the Meta Ads account where the new creative should be created. Used in the edit-ad workflow after meta\_ads\_get\_ad\_creative and before meta\_ads\_replace\_ad\_creative.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `creative_payload` | object or string | Yes      | -       | Full Meta ad creative payload (object or JSON string). Usually this is the payload returned by meta\_ads\_get\_ad\_creative after you edit it. Workflow: meta\_ads\_get\_ad\_creative -> edit payload -> meta\_ads\_create\_ad\_creative -> meta\_ads\_replace\_ad\_creative. Use this when the edited creative still points to existing media references already available in Meta, such as image\_hash or video\_id. If the edit needs brand new media uploads, use the dedicated create\_**ad operations instead, for example meta\_ads\_create\_single\_image\_ad. Read-only fields (id, status, account\_id, effective**, etc.) are stripped automatically before posting. This creates only the creative, not the ad. |
| `name`             | string           | No       | -       | Optional name override for the new creative. If provided, replaces any name in creative\_payload before the new creative is created for the edit workflow.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |

## Output

**Type**: `Dict`

Returns the new creative ID and its name.

**Fields**: `creative_id`, `name`
