# Upload Video to TikTok

**Action ID:** `tiktok_upload_video`

## Description

Upload a video to TikTok

## Connection

| Name              | Description                                          | Required | Category |
| ----------------- | ---------------------------------------------------- | -------- | -------- |
| TikTok Connection | The TikTok connection to use to call the TikTok API. | True     | tiktok   |

## Input Parameters

| Name       | Type   | Required | Default | Description                                                               |
| ---------- | ------ | :------: | ------- | ------------------------------------------------------------------------- |
| video\_url | string |     ✓    | -       | The URL to the video to upload. Must be a publicly accessible video file. |

<details>

<summary>View JSON Schema</summary>

```json
{
  "description": "Input for Tiktok Upload Video node.",
  "properties": {
    "video_url": {
      "description": "The URL to the video to upload.",
      "title": "Video URL",
      "type": "string"
    }
  },
  "required": [
    "video_url"
  ],
  "title": "TiktokUploadVideoNodeInput",
  "type": "object"
}
```

</details>

## Output Parameters

| Name        | Type   | Description                         |
| ----------- | ------ | ----------------------------------- |
| publish\_id | string | The publish ID of the TikTok video. |

<details>

<summary>View JSON Schema</summary>

```json
{
  "description": "Node output for Tiktok Upload Video node.",
  "properties": {
    "publish_id": {
      "description": "The publish ID of the Tiktok video.",
      "title": "Publish ID",
      "type": "string"
    }
  },
  "required": [
    "publish_id"
  ],
  "title": "TiktokUploadVideoNodeOutput",
  "type": "object"
}
```

</details>

## How It Works

This node downloads the video from the provided URL, validates it meets TikTok's requirements, and uploads it to TikTok using the TikTok API. The video is processed and published to the connected TikTok account. Upon successful upload, TikTok returns a publish\_id that can be used to track the video's status and retrieve additional information about the published content.

## Usage Examples

### Example 1: Upload Marketing Video

**Input:**

```
video_url: "https://storage.example.com/videos/product_launch_2024.mp4"
```

**Output:**

```
publish_id: "v2.public.MTIzNDU2Nzg5MA%3D%3D"
```

### Example 2: Upload Generated Content

**Input:**

```
video_url: "https://cdn.agenticflow.com/generated/promo_video_abc123.mp4"
```

**Output:**

```
publish_id: "v2.public.OTg3NjU0MzIxMA%3D%3D"
```

### Example 3: Upload User-Generated Content

**Input:**

```
video_url: "https://ugc-platform.com/uploads/user_12345/video_789.mp4"
```

**Output:**

```
publish_id: "v2.public.NDU2Nzg5MDEyMw%3D%3D"
```

## Common Use Cases

* **Automated Content Publishing**: Schedule and automate video uploads to TikTok as part of content marketing workflows
* **Cross-Platform Distribution**: Simultaneously publish content to TikTok and other social media platforms
* **Bulk Video Upload**: Upload multiple videos in sequence for content campaigns
* **Generated Content Publishing**: Upload AI-generated or edited videos to TikTok
* **User Content Moderation**: Review and approve user-generated content before uploading to brand accounts
* **Marketing Campaigns**: Automate video publication for time-sensitive marketing campaigns
* **Content Repurposing**: Upload reformatted content from other platforms to TikTok

## Error Handling

| Error Type           | Cause                                  | Solution                                                      |
| -------------------- | -------------------------------------- | ------------------------------------------------------------- |
| Authentication Error | Invalid or expired TikTok connection   | Re-authenticate your TikTok connection with valid credentials |
| Invalid Video URL    | URL is malformed or inaccessible       | Verify the URL is correct and publicly accessible             |
| Video Format Error   | Video format not supported by TikTok   | Convert video to MP4 format with H.264 codec                  |
| Video Too Large      | Video exceeds TikTok's size limits     | Compress video or reduce resolution to meet size requirements |
| Video Too Short/Long | Video duration outside TikTok's limits | Ensure video is between 3 seconds and 10 minutes              |
| Download Failed      | Cannot download video from URL         | Check URL accessibility and network connectivity              |
| Rate Limit Exceeded  | Too many uploads in short period       | Wait before uploading more videos or upgrade API limits       |
| Account Restricted   | TikTok account has upload restrictions | Check account status and resolve any TikTok policy violations |

## Notes

* **Video Requirements**: TikTok accepts MP4 and MOV formats. Recommended resolution is 1080x1920 (9:16 aspect ratio) for optimal mobile viewing.
* **File Size Limits**: Maximum file size is typically 287.6 MB for iOS and 72 MB for Android. Check current TikTok limits.
* **Duration Limits**: Videos must be between 3 seconds and 10 minutes in length (may vary based on account type).
* **Authentication**: Ensure your TikTok connection is properly configured and has necessary permissions for video uploads.
* **Publishing Status**: Use the publish\_id to track upload status and retrieve video details through TikTok's API.
* **Content Guidelines**: Ensure videos comply with TikTok's community guidelines to avoid removal or account penalties.
* **Async Processing**: Video processing on TikTok may take time. The video might not be immediately visible after receiving the publish\_id.
* **API Limits**: Be aware of TikTok's API rate limits for uploads. Implement appropriate delays between uploads if processing multiple videos.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.agenticflow.ai/reference/nodes/tiktok_upload_video.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
