TikTok photo post API: is_aigc label and auto_add_music
Set is_aigc to true on a TikTok photo post of generated images to add the AI-generated tag. auto_add_music is direct post only. And the audit rule.

Yes: in the photo post body, send is_aigc: true when the photos are AI generated, and TikTok labels the post with an "AI-generated" tag in the description. The flag is yours to set. Sume returns image files and a job status, not a platform label, so nothing in a Sume response sets it for you.
Flags are from TikTok's photo reference, "Last updated August 24, 2026", read 2026-10-01. This is a field description, not legal advice about when a label is required.
Which flags matter for generated images?
| Field | What the reference says |
|---|---|
is_aigc | If true, the photo is labeled with an AI-generated tag in the description |
auto_add_music | Direct post only; adds recommended music |
disable_comment | Direct post only |
brand_content_toggle | Direct post only; paid partnership promoting a third-party business |
brand_organic_toggle | Direct post only; promoting the creator's own business |
Should I use auto_add_music or my own track?
auto_add_music lets TikTok pick recommended music, and the user can change it later in the app. It does nothing in MEDIA_UPLOAD mode. If you want a specific soundtrack, generate it with Sume's Music route; the result is an audio artifact, typically audio/mpeg on media.sume.com. The photo init request takes only images, so a custom track has to be added by the user in TikTok's editor or by making a video instead.
Why is my post private?
The reference states that all content posted by unaudited clients is restricted to private viewing. Once the integration is tested, the API client must undergo an audit to lift the restriction. Test posts from a new app will therefore not appear public, whatever privacy_level you send.
Do edits change whether I label?
Making images with Sume and editing them with 1 to 10 reference images via image_urls (see the image docs) still produces generated content. For the platform's own rules on when a label applies, read does TikTok allow AI-generated content and TikTok's policy pages, not this post.
Sources
Related posts
More in Developers
- TikTok PULL_FROM_URL times out after one hour: keep the URL live
TikTok pulls a PULL_FROM_URL file at up to 100 Mbps and times out one hour after it starts. The URL must stay live; a Sume durable URL has no expiry.
- Concatenate audio files by API: parts, and no top-level url
Sume Timeline audio concat needs a parts array and refuses a top-level url or ranges. Each operation accepts its own keys; mixing them returns a stable code.
- Split audio into segments by timestamps: url and ranges
Sume Timeline audio split needs a top-level url and 1 to 20 ranges. A range with end at or before start is refused; each segment gets its own audio_url.
- Image over video longer than the clip: compose's 300 s ceiling
Sume Timeline compose length comes from the video layer, capped at 300 seconds. Asking for more than the file clamps with a warning and the job still succeeds.
Written by Sume