API reference / Connected sessions / Publish video

Publish video

Upload and publish in one request. The gateway gets the upload authorization, transfers the file in chunks, runs the media precheck and creates the post. Send multipart/form-data with a file, or JSON with video_url or video_base64.

POSTapi.tikultra.com/v1/account/upload/video100 credits
Upstream
/aweme/v1/upload/authkey//tiktok/v1/infringement/precheck//aweme/v1/create/aweme/
Access
Growth and up
Runs on
FullPool
Client
os, app_flavour, app_version selectable
Body
multipart/form-data or JSON
Billing
Failed calls are free

Authorization

x-api-keyheader · stringrequired

Your API key. Create one in API keys.

Form fields or JSON body

Send multipart/form-data with the file, or application/json with a URL or base64. Arrays go as comma-separated form fields.

account_idstringrequired

A connected account, from /dash/sessions or POST /v1/account/import. For example acc_7Hq2.

filefilefile, video_url or video_base64

The .mp4 or .mov file (multipart only).

video_urlstringfile, video_url or video_base64

Or a URL to fetch the video from. For example https://example.com/launch.mp4.

video_base64stringfile, video_url or video_base64

Or the video as base64.

captionstring

The caption. For example Launch film.

hashtagsstring[]

Hashtags, without the #.

mentionsstring[]

Usernames to mention.

visibilitystring

Who can see it. One of public, friends, private.

allow_commentboolean

Allow comments. For example true.

allow_duetboolean

Allow duets. For example true.

allow_stitchboolean

Allow stitches. For example true.

allow_downloadboolean

Allow downloads. For example false.

cover_timestamp_msinteger

Frame to use as the cover. For example 1200.

poi_idstring

Tag a place.

music_idstring

Use a sound.

schedule_timeinteger

Publish later, as Unix seconds.

aigc_generatedboolean

Label the post as AI-generated. For example false.

shop_product_idsstring[]

Products to anchor.

osstring

android or ios. One of android, ios.

app_flavourstring

Which app to run as. One of tiktok, lite, lite_coin, pro, studio, shop, tv, douyin.

app_versionstring

A release of that app. Defaults to the current default for (os, app_flavour). For example 47.6.3.

Response

A 200 returns JSON with stable field names. Every response carries x-credits-cost, x-credits-tier and x-credits-remaining.

Errors

Errors return a JSON body with a stable code and cost 0 credits. See Errors and retries.

Accounts you own only. Connected sessions are for accounts you own or are authorized to operate. Available on Growth and Scale.