TikTok errors

TikTok posting errors: what each code means and what to do

A TikTok post through Status 200 Uploads can be refused by us before anything is sent, or by TikTok itself. Our refusals carry a fixed code, such as REFRESH_TOKEN_EXPIRED or photo_format_not_supported, with a sentence saying what to do. TikTok's own refusals carry TikTok's code, such as spam_risk_too_many_posts, and its message shows in History. This page lists both, with whether sending the same request again can work.

  • Checked on

How to read an error

Every refusal is JSON with error.code and error.message. Switch on the code, not on the HTTP status alone: several codes share a status, and the message is a sentence for a person. The API reference lists the codes under their status.

One code it does not list yet: HTTP 500 FUNCTION_ERROR, our answer when something fails inside the TikTok step itself. It can come after TikTok already had the post, so look in History or on the TikTok profile before you send it again. Under an Idempotency-Key, the same request sent again replays this answer instead of posting a second time.

A TikTok post that left us gets a row in History, also when TikTok refuses it, so you can read what went wrong later. A photo we refuse before sending it (one of the photo codes below) leaves no failed post behind: nothing reached TikTok.

TikTok finishes a post after it answers. A post that TikTok accepted and then refused is written into History with TikTok's reason, and a post that TikTok already has cannot be sent again from History: publish it again as a new post instead.

The connection to your TikTok account

TikTok signs your account out of apps after a while or when you remove access. These answers come from the TikTok step, so the post shows in History as failed.

TikTok: The connection to your TikTok account
HTTPCodeWhat it meansWhat to doSend it again?Where it shows
401REFRESH_TOKEN_EXPIREDTikTok ended the sign-in we hold for this profile.Connect TikTok again under Connections, then publish the post again.never No. The same request cannot work: change it first.API answer, History, AI app
401NO_TOKENThis profile has no TikTok sign-in stored.Connect TikTok under Connections.never No. The same request cannot work: change it first.API answer, History, AI app
401TOKEN_REFRESH_FAILEDWe could not renew the TikTok sign-in just now.Publish it again a little later; if it fails again, connect TikTok again under Connections.wait_and_resend Yes: the same request after a wait (Retry-After, when the answer gives one).API answer, History

Photos TikTok would not take

TikTok takes JPEG and WebP photos up to 1080 × 1920 pixels. We send a JPEG copy of a PNG or GIF and a smaller copy of a larger JPEG, and say so in the answer. When neither is possible we refuse the photo before anything is sent, and the answer names the photo by its place in the post (error.photo, counting from 1).

TikTok: Photos TikTok would not take
HTTPCodeWhat it meansWhat to doSend it again?Where it shows
422photo_format_not_supportedThe photo is HEIC, AVIF, BMP or TIFF.Save it as a JPEG and post again.never No. The same request cannot work: change it first.API answer, AI app
422photo_too_large_to_resizeThe JPEG is larger than TikTok takes and too large for us to make a smaller copy.Save it smaller, for example 1080 × 1350 pixels, and post again.never No. The same request cannot work: change it first.API answer, AI app
422photo_too_large_to_convertThe PNG or GIF is too large for us to make a JPEG copy of it.Save it as a JPEG of at most 1080 × 1920 pixels and post again.never No. The same request cannot work: change it first.API answer, AI app
422photo_conversion_failedMaking the JPEG copy failed.Save the photo as a JPEG yourself and post again.never No. The same request cannot work: change it first.API answer, AI app

Videos and their files

TikTok videos can be up to 4 GB through us. TikTok needs the file's exact size before the upload starts.

TikTok: Videos and their files
HTTPCodeWhat it meansWhat to doSend it again?Where it shows
413MEDIA_TOO_LARGEThe file is larger than TikTok takes through us. Nothing was sent.Use a smaller file: videos up to 4 GB.never No. The same request cannot work: change it first.API answer, AI app
400video_size_unknownThe video is given by web address and its server does not say how large the file is.Import it into your media library first (POST /api/v2/media) and post it by its mediaID.never No. The same request cannot work: change it first.API answer, AI app

Sending the post to TikTok

These answers come after we started sending. The outcome may not be known, so a retry is safe only with the same Idempotency-Key: a TikTok post cannot be deleted by Status 200 Uploads once it is out.

TikTok: Sending the post to TikTok
HTTPCodeWhat it meansWhat to doSend it again?Where it shows
400no_publish_idTikTok did not confirm the upload with its publish id.Send the same request once more, with the same Idempotency-Key.resend_once_with_key Once, with the same Idempotency-Key.API answer, History
502upload_worker_failedOur upload of the video to TikTok stopped before it finished.Send the same request once more, with the same Idempotency-Key.resend_once_with_key Once, with the same Idempotency-Key.API answer, History
202still_publishingTikTok accepted the post and its upload was still going when we answered. It is not a failure.Do not send it again. Read the post back (GET /api/v2/posts/{id}) until TikTok is done.not_a_failure No: it was accepted and goes out on its own.API answer, History

Codes any post can get

Not special to TikTok: the request, the plan and the file in your library. The API reference lists every code.

Codes any post can get
HTTPCodeWhat it meansWhat to doSend it again?Where it shows
401unauthorizedNo API key, or a key that is not active.Send Authorization: Bearer with an active rl_ key from the API page.never No. The same request cannot work: change it first.API answer
403account_not_foundThe accountId is not one of your profiles. The answer lists yours.Use a profile id or "@name" from the list.never No. The same request cannot work: change it first.API answer, AI app
404media_not_foundThe mediaID is not in your library: never imported, deleted, or removed after 7 days.Import or upload the file again and use the new id.never No. The same request cannot work: change it first.API answer, AI app
409media_processingThe file is still importing.Wait the Retry-After seconds and send the same request.wait_and_resend Yes: the same request after a wait (Retry-After, when the answer gives one).API answer, AI app
429rate_limitedLess than 20 seconds since your last post to the same network.Wait the Retry-After seconds and send the same request.wait_and_resend Yes: the same request after a wait (Retry-After, when the answer gives one).API answer, AI app
429daily_limit_reachedYour plan's posts for today are used up.Post after resets_at, or move to a larger plan.after_reset Not before the time in resets_at.API answer, AI app
429monthly_limit_reachedThe Free plan's posts for this month are used up.Post after resets_at, or move to a paid plan.after_reset Not before the time in resets_at.API answer, AI app
422idempotency_key_reusedThe Idempotency-Key was already used with another body.Use a new key for a new post.never No. The same request cannot work: change it first.API answer
500server_errorOur side failed.Send it once more with the same Idempotency-Key; without one, check History first.resend_once_with_key Once, with the same Idempotency-Key.API answer, AI app
502upstream_unavailableThe request never left. Nothing was posted.Send the same request again after a short wait.wait_and_resend Yes: the same request after a wait (Retry-After, when the answer gives one).API answer

TikTok's own errors

When TikTok refuses a post as we send it, the answer carries TikTok's own HTTP status and code in error.code, and History shows TikTok's message. When TikTok refuses a post after accepting it, its reason is written into History. The codes below are TikTok's; what they mean comes from TikTok's developer documentation, read on .

spam_risk_too_many_postsAs the post is sent
The account reached TikTok's daily limit of posts made through apps. TikTok says the limit varies by creator, typically around 15 posts a day per account, shared by every app the account uses. [T9, T2]
Post again the next day, or post from the TikTok app.
spam_risk_user_banned_from_postingAs the post is sent
TikTok does not let this account post right now. [T2]
Check the account in the TikTok app. Sending again will not help.
privacy_level_option_mismatchAs the post is sent
The privacy level is not one TikTok offers this account: a private account cannot post to everyone, for example. [T2, T3]
Pick one of the levels the account's posting options list.
reached_active_user_capAs the post is sent
TikTok's daily cap on the number of accounts one app may post for was reached. [T2, T9]
Post again later.
rate_limit_exceededAs the post is sent
Too many requests in TikTok's one-minute window for this account. [T2, T16]
Wait a minute and send it again.
access_token_invalidAs the post is sent
TikTok no longer accepts the sign-in we hold. [T2, T15]
Connect TikTok again under Connections.
picture_size_check_failedAfter TikTok accepted the post
TikTok refused the size of a photo. History shows it in our words, with the code in brackets. [T8, T4]
Publish it again as a new post; we now send a smaller copy of a larger JPEG. If TikTok refuses it again, save the photo as a JPEG of 1080 × 1350 or 1080 × 1920 pixels.
file_format_check_failedAfter TikTok accepted the post
TikTok could not read the file's format. TikTok takes MP4, WebM and MOV videos. [T8, T4]
Export the video as MP4 (H.264) and publish it as a new post.
duration_check_failedAfter TikTok accepted the post
The video is longer than this account may post. TikTok sets the longest length per account. [T8, T3]
Shorten the video, or check the longest length in the account's posting options.
frame_rate_check_failedAfter TikTok accepted the post
The frame rate is outside what TikTok takes, 23 to 60 frames a second. [T8, T4]
Export the video at 30 frames a second and publish it as a new post.
spam_risk_textAfter TikTok accepted the post
TikTok refused the post because of its text. [T8]
Change the caption before posting again. TikTok says not to retry the same post.
auth_removedAfter TikTok accepted the post
The account removed access while the post was being processed. [T8]
Connect TikTok again, then publish it as a new post.

TikTok error questions

More on TikTok

TikTok's pages this rests on

Sources read on 15 October 2026.

  1. T2Content Posting API: Direct Post reference (last updated August 24, 2026)
  2. T3Content Posting API: Query Creator Info (last updated August 4, 2026)
  3. T4Content Posting API: Media Transfer Guide (last updated August 4, 2026)
  4. T8Content Posting API: Get Post Status (last updated August 4, 2026)
  5. T9Content Sharing Guidelines (last updated August 4, 2026)
  6. T15API v2 error handling (last updated August 4, 2026)
  7. T16API v2 rate limits (last updated August 4, 2026)

Start posting to TikTok

TikTok is on every plan, Free included. This page was checked on 26 October 2026.