Skip to Content
API ReferenceUpload MediaTikTok

TikTok Upload API

This section details how to upload videos and photos (carousels) to TikTok using the API.

Base URL

https://api.multi-upload-tool.com/api/v1

Authentication

All requests require an API Token in the header: x-api-token: YOUR_API_TOKEN


Requirements

TikTok Video Requirements

  • Supported Formats: MP4 (recommended), WebM, MOV
  • Supported Codecs: H.264 (recommended), H.265, VP8
  • Framerate: Minimum: 23 FPS, Maximum: 60 FPS
  • Picture Size: Minimum: 360 pixels (height and width), Maximum: 4096 pixels (height and width)
  • Duration: Maximum via API: 10 minutes. (Note: All TikTok creators can post 3-minute videos. Some creators have access to 5-minute or 10-minute videos. Users may trim videos in the TikTok app.)
  • Size: Maximum: 4GB

TikTok Photo Requirements

While the API allows photo uploads to TikTok (e.g., for slideshows with auto_add_music), specific format requirements (resolution, aspect ratio, file size) are not detailed in the provided source.

  • General Guidance: Only image formats: JPG, JPEG, or WEBP are compatible.
  • Please refer to the official TikTok documentation for specific photo guidelines.

Upload Video

Upload a single video file to TikTok.

Endpoint

POST /upload/tiktok

Content-Type

multipart/form-data

Parameters

ParameterTypeRequiredDescription
accountIdstringYesThe ID of the connected TikTok account.
fileFileYesThe video file to upload (MP4, WebM).
titlestringYesThe caption/title of the post (max 2200 characters).
privacy_levelstringNoVisibility: PUBLIC_TO_EVERYONE (default), MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR, SELF_ONLY.
disable_commentbooleanNoDisable comments on the post.
disable_duetbooleanNoDisable Duet feature.
disable_stitchbooleanNoDisable Stitch feature.
brand_content_togglebooleanNoMark as branded content.
brand_organic_togglebooleanNoMark as organic branded content.
is_aigcbooleanNoMark as AI-Generated Content (AIGC).
video_cover_timestamp_msnumberNoTimestamp (in ms) for the video cover image.
schedule_datestringNoISO 8601 date string to schedule the post (e.g., 2025-12-25T10:00:00Z).

Example Request

curl -X POST https://api.multi-upload-tool.com/api/v1/upload/tiktok \ -H "x-api-token: YOUR_API_TOKEN" \ -F "accountId=123" \ -F "file=@/path/to/video.mp4" \ -F "title=My amazing video #tiktok" \ -F "privacy_level=PUBLIC_TO_EVERYONE" \ -F "is_aigc=false"

Example Response

{ "success": true, "message": "Upload queued successfully", "data": { "uploadId": 456, "status": "pending", "jobId": "job_789" } }

Upload multiple photos to create a TikTok carousel.

Endpoint

POST /upload/tiktok

Content-Type

multipart/form-data

Parameters

ParameterTypeRequiredDescription
accountIdstringYesThe ID of the connected TikTok account.
filesFile[]YesArray of photo files to upload.
titlestringYesThe caption/title of the post.
media_typestringYesMust be set to PHOTO.
privacy_levelstringNoVisibility options (same as video).
auto_add_musicbooleanNoAutomatically add music to the carousel.
photo_cover_indexnumberNoIndex of the image to use as cover (1-based).
disable_commentbooleanNoDisable comments.
schedule_datestringNoISO 8601 date string to schedule the post.

Example Request

curl -X POST https://api.multi-upload-tool.com/api/v1/upload/tiktok \ -H "x-api-token: YOUR_API_TOKEN" \ -F "accountId=123" \ -F "files=@/path/to/photo1.jpg" \ -F "files=@/path/to/photo2.jpg" \ -F "title=My photo dump 📸" \ -F "media_type=PHOTO" \ -F "auto_add_music=true"

Example Response

{ "success": true, "message": "Upload queued successfully", "data": { "uploadId": 457, "status": "pending", "jobId": "job_790" } }

Check Upload Status

Check the status of a queued or completed upload.

Endpoint

GET /posts/:id

Parameters

ParameterTypeRequiredDescription
idnumberYesThe uploadId returned from the upload endpoint.

Example Request

curl -X GET https://api.multi-upload-tool.com/api/v1/posts/456 \ -H "x-api-token: YOUR_API_TOKEN"

Example Response

{ "success": true, "data": { "id": 456, "userId": 1, "connectedAccountId": 123, "platform": "tiktok", "title": "My amazing video #tiktok", "status": "completed", "uploadedAt": "2023-10-27T10:00:00.000Z", "metadata": "{\"videoId\":\"v123456\",\"shareUrl\":\"https://www.tiktok.com/@user/video/123456\"}", "fileSize": "15000000" } }