Use case

Publish to every platform

Works on: Instagram, TikTok, YouTube, X, Threads, Facebook, LinkedIn

Upload a file once, then send one post to as many networks as you like. Creator OS picks each network’s connected account and formats the post for it (Reels, Shorts, TikTok consent flags, YouTube titles).

  1. 1

    Upload the video or image. Keep the returned id.

    curl -X POST "https://creatoros-production-5658.up.railway.app/v1/media" \
      -H "Authorization: Bearer $CREATOROS_API_KEY" \
      -H "Content-Type: video/mp4" \
      -H "X-Filename: clip.mp4" \
      --data-binary @clip.mp4
  2. 2

    Create the post with the networks you want. Leave out schedule_at to publish right away.

    curl -X POST "https://creatoros-production-5658.up.railway.app/v1/posts" \
      -H "Authorization: Bearer $CREATOROS_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "content": "Day 1 of building in public πŸš€",
        "title": "Day 1 of building in public",
        "platforms": [
          "instagram",
          "tiktok",
          "youtube",
          "threads",
          "twitter"
        ],
        "media": [
          "med_b0Wq7Yx2Rk9LzT4nVs1Pc8Hf3Jd6Gm5Ea2Uo7Ki9Nr0"
        ]
      }'
  3. 3

    Check that every network went through. Each entry in platforms moves from pending to published or failed.

    curl "https://creatoros-production-5658.up.railway.app/v1/posts/post_3JSJJWvgHKZH-Vjy_ggeP792GJbvjQ1pZzbqlPEgKJOO" \
      -H "Authorization: Bearer $CREATOROS_API_KEY"
  4. 4

    If a network failed, retry just the failed ones.

    POST/v1/posts/{postId}/retryRetry failed networks reference β†’
    curl -X POST "https://creatoros-production-5658.up.railway.app/v1/posts/post_3JSJJWvgHKZH-Vjy_ggeP792GJbvjQ1pZzbqlPEgKJOO/retry" \
      -H "Authorization: Bearer $CREATOROS_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{}'

Not every format exists on every network. Set post_type (or let it be inferred from the media) and target only the networks that support it:

post_typeWhat it isNetworks
textPlain text posts and threadsX, Threads, LinkedIn, Facebook
imageSingle photo with a captionInstagram, X, Threads, LinkedIn, Facebook
carouselMulti-image swipe postsInstagram, TikTok, LinkedIn, X, Facebook
short_videoVertical shortform: Reels, TikToks, ShortsAll seven platforms
long_videoStandard long-form videoYouTube, Facebook, LinkedIn, TikTok, X

For video posts, add cover (a med_ id from Upload media) to set the cover photo. It lands on Instagram, TikTok, Facebook, LinkedIn and YouTube long videos; see Add a video cover.

With the CLI

$ creatoros media:upload clip.mp4Copy
$ creatoros posts:create --platforms instagram,tiktok,youtube --text "Day 1 πŸš€" --media <med_id>Copy
$ creatoros posts:get <post_id> --prettyCopy

Or ask your agent

β€œPost this clip everywhere: content-library/day1.mp4. Write per-platform captions.”