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

> Creates a post in an X Ads account, by default a Promoted-only (dark) post that never appears in followers' timelines

Creates a post in an X Ads account, by default a Promoted-only (dark) post that never appears in followers' timelines. Attach media by URL or media\_key and an optional card. Promote the returned post id with x\_ads\_create\_ad.

|                       |                       |
| --------------------- | --------------------- |
| **App**               | X Ads                 |
| **Operation ID**      | `x_ads_create_post`   |
| **Type**              | Action                |
| **Connection**        | `x_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 X Ads account to create the post in.                                                                                                                                                                                                     |
| `text`                  | string                                            | No       | -       | The post's text. Required unless media is attached.                                                                                                                                                                                                 |
| `media_urls`            | string or array of string                         | No       | -       | Media to upload and attach (list or comma-separated). Up to 4 images, or 1 GIF, or 1 video. Accepts direct URLs, Google Drive share links with sharing set to 'Anyone with the link', or files uploaded through Markifact. Use this OR media\_keys. |
| `media_keys`            | string or array of string                         | No       | -       | Already-uploaded media keys to attach (list or comma-separated), e.g. from x\_ads\_upload\_media. Up to 4 images, or 1 GIF, or 1 video.                                                                                                             |
| `card_uri`              | string                                            | No       | -       | Card to attach, from a cards response (card://...).                                                                                                                                                                                                 |
| `nullcast`              | boolean                                           | No       | `True`  | true (default) creates a Promoted-only (dark) post that never appears in followers' timelines; false posts organically, which X only allows for the authenticated user.                                                                             |
| `name`                  | string                                            | No       | -       | Internal name for the post, up to 80 characters.                                                                                                                                                                                                    |
| `conversation_settings` | enum (`EVERYONE`, `FOLLOWING`, `MENTIONED_USERS`) | No       | -       | Who can reply: EVERYONE (default), FOLLOWING, or MENTIONED\_USERS.                                                                                                                                                                                  |
| `video_title`           | string                                            | No       | -       | Video posts only: title shown with the video, up to 70 characters.                                                                                                                                                                                  |
| `video_description`     | string                                            | No       | -       | Video posts only: description shown under the video, up to 200 characters.                                                                                                                                                                          |
| `video_cta`             | enum (`VISIT_SITE`, `WATCH_NOW`)                  | No       | -       | Video posts only: call to action, VISIT\_SITE or WATCH\_NOW.                                                                                                                                                                                        |
| `video_cta_value`       | string                                            | No       | -       | Video posts only: the URL the call to action opens.                                                                                                                                                                                                 |
| `as_user_id`            | string                                            | No       | -       | User id to post on behalf of. Defaults to the connected user; only set this when posting for another handle you have access to.                                                                                                                     |

## Output

**Type**: `Dict`

Returns the created post with full details including its id.

**Fields**: dynamic (depend on the inputs)
