> ## 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`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.