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

# Publish Content

> Publishes new content to a social media or content platform. This tool allows you to create posts, videos, images, or other content types across various platforms through a unified API.

<Info>
  This tool is part of the [Content Tools](./index) category.
</Info>

## Parameters

| Name                  | Type              | Required | Description                                                |
| --------------------- | ----------------- | -------- | ---------------------------------------------------------- |
| user\_account\_id     | string            | Yes\*    | The ID of the user account to publish content from         |
| platform\_account\_id | string            | Yes\*    | The platform account ID (alternative to user\_account\_id) |
| media\_url            | string            | Yes      | URL of the media file (image, video, etc.) to be published |
| format                | string            | Yes      | Format of the content (VIDEO, IMAGE, TEXT, AUDIO, OTHER)   |
| type                  | string            | Yes      | Type of the content (see supported content types below)    |
| title                 | string            | No       | Title for the content                                      |
| description           | string            | No       | Description or caption for the content                     |
| visibility            | string            | No       | Visibility setting (PUBLIC, PRIVATE, UNLISTED, etc.)       |
| tags                  | array of strings  | No       | Tags/hashtags to associate with the content                |
| thumbnail\_url        | string            | No       | URL for the thumbnail image (for video content)            |
| scheduled\_for        | string (ISO date) | No       | Date and time to schedule the content for future posting   |

\*Either `user_account_id` or `platform_account_id` must be provided.

### Supported Content Types

The following values are accepted for the `type` parameter:

* `FACEBOOK_POST` - Facebook text/image/video post
* `INSTAGRAM_POST` - Instagram image/video post
* `X_POST` - X (Twitter) text/image/video post
* `FACEBOOK_STORY` - Facebook story
* `INSTAGRAM_STORY` - Instagram story
* `FACEBOOK_REEL` - Facebook reel
* `INSTAGRAM_REEL` - Instagram reel
* `LINKEDIN_POST` - LinkedIn post
* `TIKTOK_VIDEO` - TikTok video
* `YOUTUBE_VIDEO` - YouTube video
* `YOUTUBE_SHORT` - YouTube short
* `OTHER` - Other content types

## Example Request

```json theme={null}
{
  "user_account_id": "ua_12345678",
  "media_url": "https://example.com/media/video123.mp4",
  "format": "VIDEO",
  "type": "YOUTUBE_VIDEO",
  "title": "How to Use MCP for Content Management",
  "description": "In this video, we explain how to efficiently manage your content across multiple platforms using the Multi-Channel Platform (MCP).",
  "visibility": "PUBLIC",
  "tags": ["tutorial", "content management", "social media"],
  "thumbnail_url": "https://example.com/thumbnails/thumb123.jpg"
}
```

## Example Response

```json theme={null}
{
  "job_id": "job_abc123def456",
  "status": "Here is your job id, you can use it to check the status of your job"
}
```

## Usage Notes

* The publishing process is asynchronous - you'll receive a job ID to check the status of the publish operation.
* Media files must be accessible via the provided URLs (public or pre-signed URLs).
* If `scheduled_for` is provided, the content will be published at the specified time (must be in the future).
* Different platforms support different media types and formats - verify compatibility before publishing.
* For multi-media content collections (like carousels or albums), use [Publish Content Group](../content-groups/publishContentGroup) instead.
* Media URLs should be publicly accessible or have appropriate permissions for the MCP service to access them.
* The platform may perform additional validation before publishing, potentially resulting in a failed publication if requirements aren't met.

## Error Handling

Common errors include:

* Invalid media URLs or inaccessible media files
* Unsupported media formats for the specified platform
* Authentication or permission issues
* Rate limiting by the platform
* Content policy violations

## Related Tools

* [Get Content By ID](./getContentById) - Retrieve published content by ID
* [Refresh Contents](./refreshContents) - Refresh content data from platforms
* [Publish Content Group](../content-groups/publishContentGroup) - Publish multi-media content groups
