Skip to content
UGC API

Formats and options

You choose a format once per post. Each platform turns it into its own placement, and options fine-tunes each one. This page lists every rule and option.

Updated

What each format becomes

FormatTikTokInstagramFacebook PageYouTube
videoVideo postReel, optional grid and StoryReel, optional StoryShort
slideshowPhoto post, optional auto musicCarousel at 4:5, optional Story framesMulti-photo postNot supported
imagePhoto post with one imageFeed image, optional StoryPhoto post, optional StoryNot supported

If a post targets an account whose platform doesn't support the format, such as a slideshow to YouTube, the request is rejected with 400 invalid_request and nothing is scheduled.

TikTok options

OptionTypeApplies toEffect
tiktok.draftbooleanvideo, slideshowtrue sends the content to the creator's TikTok inbox instead of publishing. The creator finishes and posts in the app.
tiktok.auto_musicbooleanslideshowtrue lets TikTok add recommended music to the photo post. Direct posts only, not drafts.
tiktok.ai_generatedbooleanvideo, slideshow, imagetrue applies TikTok's AI-generated content label.
tiktok.titlestringvideo, slideshowTikTok text, if different from caption. Photo post titles are limited by TikTok to 90 characters.

TikTok photo posts accept up to 35 images. The first image in media is the cover. TikTok decides which privacy levels and interactions are available per creator. See the AI label guide.

Instagram options

OptionTypeApplies toEffect
instagram.gridbooleanvideotrue shows the Reel on the profile grid as well as the Reels tab.
instagram.storybooleanvideo, slideshow, imagetrue also publishes the content as a Story.
instagram.story_slidesall or firstslideshowWith story: true, publish every slide as a Story frame in order, or only the first.
instagram.feedboolean, default trueallSet false to skip the Reel or feed post and publish only the Story.
  • Carousels take 2 to 20 slides and are cropped to 4:5. Keep text in the center 1080x1350 area of a 9:16 design.
  • Each Story frame is a separate result and one post credit.
  • Images should be JPEG.
  • Accounts must be Business or Creator.

Facebook options

OptionTypeApplies toEffect
facebook.storybooleanvideo, imagetrue also publishes the content as a Page Story.

Page Reels follow Meta's spec: 9:16, 3 to 90 seconds, and 60 seconds maximum for Reels shared as Page Stories.

YouTube options

OptionTypeEffect
youtube.titlestringVideo title, up to 100 characters.
youtube.privacypublic, unlisted or privateVisibility of the upload.

YouTube classifies square or vertical videos up to 3 minutes as Shorts. caption becomes the description.

Full example

json
{
  "accounts": ["acc_tt_01", "acc_ig_01", "acc_fb_01"],
  "format": "slideshow",
  "media": ["https://cdn.example.com/1.jpg", "https://cdn.example.com/2.jpg", "https://cdn.example.com/3.jpg"],
  "caption": "3 mistakes new runners make",
  "options": {
    "tiktok": { "auto_music": true, "ai_generated": false, "title": "3 mistakes new runners make" },
    "instagram": { "story": true, "story_slides": "all" },
    "facebook": { "story": false }
  }
}

Results: TikTok photo post (1), Instagram carousel (1), 3 Instagram Story frames (3), Facebook photo post (1). Total 6 credits. More on formats: slideshow API and UGC video API.

FAQ

Can I post a slideshow to YouTube?

No. Render it as a video and use format 'video' for YouTube Shorts.

Does auto_music work with drafts?

No. TikTok only applies auto music to direct posts. With a draft, the creator picks music in the app.

What happens with options for platforms not in the post?

They are ignored. You can send the same options object for every post.

Related