MCP (streamable HTTP, custom connector) · TikTok

Write TikTok captions in ChatGPT and post them after review

Creators already ask ChatGPT for TikTok hooks. With SocialHandoff as a custom connector, those captions become TikTok drafts in your approval inbox instead of text you copy around. ChatGPT attaches the video from a public link with attach_media, or you add it in the inbox, and the approval screen shows the visibility and interaction settings you picked in Connections along with TikTok's consent text. ChatGPT never touches your TikTok login.

Prompt

I make short cooking videos. Today's is 40 seconds: a 5-minute garlic noodle recipe. Write 3 caption options with a strong first line and 5 hashtags each, then attach the video from https://example.com/v/garlic-noodles.mp4 and save the best caption as a TikTok draft.

How to do it

  1. Connect TikTok and mint a key In https://app.socialhandoff.com, open Connections, connect TikTok, then open TikTok settings on the account and choose visibility, comment/duet/stitch, and commercial disclosure. Then create an agent key named ChatGPT scoped to TikTok with draft and schedule permission.
  2. Add a custom connector Turn on developer mode in ChatGPT settings, create a connector with the MCP URL https://app.socialhandoff.com/mcp, and send the agent key as a bearer token. Pick the connector in the composer before you ask for a draft.
  3. Attach the media Give ChatGPT a public https link to the video or up to 35 photos. It calls attach_media with the url and alt text, gets a media id, and passes it to draft_post in mediaIds. You can also attach files in the inbox instead. TikTok refuses approval or scheduling without media.
  4. Ask for the draft Ask ChatGPT with the connector selected, pick the caption you like, and confirm the draft_post call.
  5. Approve with the consent text The approval screen shows the visibility and interaction settings chosen in Connections and TikTok's consent text. Approve, and it publishes; a video is sent to TikTok in chunks.

Example draft

5-minute garlic noodles that taste like you tried way harder.

Butter, a whole head of garlic, soy, a little sugar, and whatever noodles you have. Full recipe in the video.

#garlicnoodles #easyrecipes #cookingtiktok #dinnerideas #5minutemeals

[Video: 40-second vertical cooking video, attached in the inbox]

Gotchas

  • Visibility has no default. Posts are refused until the owner picks it in TikTok settings under Connections, along with comment, duet, and stitch.
  • ChatGPT asks you to confirm each write action. Confirming draft_post only creates a pending draft; nothing is posted until you approve in the inbox.
  • Photo posts are fetched by URL, so the domain serving your media must be verified in the TikTok developer portal. Videos upload as bytes and skip this.
TikTok
  • Media: Every post needs one video or up to 35 photos. Text-only posts are not possible.
  • Video upload: Videos upload in chunks of 5 to 64 MB; smaller files go in one piece. Maximum duration depends on the creator account.
  • Photo posts: Up to 35 JPEG or WebP images, a title up to 90 characters, and a description up to 4,000 characters.
  • Required choices: TikTok requires a visibility setting with no default, comment/duet/stitch toggles, and a commercial content disclosure.
TikTok scheduler with approval and TikTok's required choices

Frequently asked questions

Can I post photos instead of a video?
Yes. A TikTok photo post takes up to 35 images. The domain serving them must be verified in the TikTok developer portal.
Which ChatGPT plans can add the connector?
Custom MCP connectors need developer mode, which OpenAI offers on the web for paid plans. Workspace admins may need to allow it.
Why are my TikTok posts private?
TikTok limits unaudited developer apps to private posts. Submit your app for TikTok's audit to lift the restriction; until then, posts are visible only to the account.

Let your agents post. Keep the final say.

Connect your first agent in minutes. Every draft waits in your inbox until you approve it.

14 days free. No card required.

The hosted version is opening soon

Leave your email and we will send one message when hosted accounts open, with your 14-day trial ready. Want it today? Self-host it free from the repo.

Start free trial