TikTok

SkillMedia

Publish organic TikTok content (videos, photos, carousels) through the TikTok-compliant interactive posting form via the Hyper MCP. Use when the user wants to post a video to TikTok, share photos on TikTok, upload to TikTok, or any phrase like "post this to TikTok" / "share on TikTok" / "put this on my TikTok". For paid TikTok advertising campaigns, use the `tiktok-ads` skill instead.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the TikTok skill

What this skill tells your AI

The instructions your AI receives, as published by hyperfx-ai/marketing-skills in skills/tiktok/SKILL.md and read by ahel’s review.

End-to-end skill for publishing organic content to TikTok through the TikTok Content Sharing Guidelines-compliant interactive posting form.

Out of scope — defer to other skills

RequestSend them to
TikTok ad campaign, Spark Ads, paid promotiontiktok-ads
Instagram post / Reel / storyinstagram
LinkedIn document or carousel postlinkedin

Requirements

If search("tiktok_post_form_open") does not find tiktok_post_form_open, stop and tell the user to enable Hyper MCP and connect TikTok.

How to run the tools in this skill

Every tool in this skill is named by its canonical tool name. Run it with the call your surface gives you:

SurfaceFind a toolRun it
MCP client (Claude, Cursor, Codex, ChatGPT)search("<what you want to do>"), then describe("<name>")call("<name>", {...})
Hyper CLIhyperai search "<what you want to do>", then hyperai describe <name>hyperai call <name> --json '{...}'

If a tool is not found, its integration is not connected or not enabled for the workspace: stop and tell the user which integration to connect.

Tool surface

ToolPurpose
tiktok_post_form_openThe only entrypoint when a user wants to post. Opens the compliance form.
tiktok_videos_send_from_url, tiktok_post_video_from_file, tiktok_photos_sendFinal posting tools — call ONLY after the user submits the form.
tiktok_current_user_getAuthenticated user profile (does not require the form).
tiktok_creator_info_getCheck posting capabilities and limits.
tiktok_videos_list, tiktok_videos_queryBrowse the user's published videos.
tiktok_posts_status_getCheck the status of a previously submitted post.
tiktok_videos_upload_from_url, tiktok_videos_upload_from_file, tiktok_photos_uploadSend to inbox as draft (user posts manually in the TikTok app — bypasses the form intentionally).

Critical Rules

CRITICAL: ALWAYS use tiktok_post_form_open when a user wants to post to TikTok. NEVER call tiktok_videos_send_from_url, tiktok_photos_send, or tiktok_post_video_from_file directly in response to a user request. The posting form is required for TikTok compliance.

CRITICAL: Do NOT ask the user about privacy, policies, captions, or branded content settings before opening the form. The form handles all of this interactively.

CRITICAL: Call tiktok_post_form_open immediately when the user wants to post. Do not gather information first.

When the User Wants to Post

If the user says ANY of:

  • "post this video/photo to TikTok"
  • "share this on TikTok"
  • "upload to TikTok"
  • "put this on my TikTok"

Immediately call tiktok_post_form_open:

tiktok_post_form_open(
    media_type="video",            # or "photo"
    media_url="<url>",             # single video / single photo URL
    media_urls=["<url>", ...]      # for photo carousels (max 35)
)

DO NOT:

  • Ask about privacy settings before opening the form.
  • Ask about caption / title before opening the form.
  • Ask about policy acknowledgments before opening the form.
  • Request any metadata — just open the form.
  • Call tiktok_videos_send_from_url or tiktok_photos_send directly.

What the Form Handles

The interactive posting form is TikTok Content Sharing Guidelines compliant and handles:

  • Creator identity display (username, avatar).
  • Media preview (video player or photo grid).
  • Caption / title entry with character limits (#hashtags and @mentions).
  • Privacy level selection (filtered to account-eligible options).
  • Interaction settings (comments, duet, stitch).
  • AI-generated content labeling.
  • Commercial content disclosure (branded / promotional).
  • Music Usage Confirmation acknowledgment.
  • Branded Content Policy acknowledgment.
  • Posting restrictions / ban detection.
  • Video duration validation.

Pre-fill Parameters

When calling tiktok_post_form_open, provide what you know:

ParameterWhen to provide
media_typeAlways ("video" or "photo").
media_urlSingle video or single photo.
media_urlsPhoto carousel (list of URLs, max 35).
video_duration_secIf known — enables duration validation.
titleIf the user mentioned a caption.
is_aigcIf you generated the media (Sora, Veo, image gen, etc.).

After Form Submission

When the user fills out and submits the form, you receive a message containing all their chosen settings. At that point, call the appropriate posting tool with the exact parameters from their submission:

  • Video from URL: tiktok_videos_send_from_url
  • Video from file: tiktok_post_video_from_file
  • Photos: tiktok_photos_send

The posting tool will automatically poll status and return a completion message.

Media Format Requirements

Videos:

  • Format: MP4 + H.264 recommended.
  • Resolution: 720p minimum, 4K maximum.
  • Aspect ratio: 9:16, 16:9, or 1:1.
  • Duration: 3s minimum, max varies by account (checked by the form).

Photos:

  • Format: WebP or JPEG only (PNG is NOT supported).
  • Resolution: 1080p maximum.
  • Size: 20MB per photo maximum.
  • Carousel: up to 35 photos.

Domain verification:

  • All media URLs must be from verified domains in the TikTok Developer Portal.
  • Unverified domains will fail with an authentication error.

Example Flow

  1. User: "Post this video to TikTok".
  2. You: call tiktok_post_form_open(media_type="video", media_url="<url>").
  3. The posting form opens in the artifact panel.
  4. User configures privacy, caption, policies, etc.
  5. User clicks "Post to TikTok".
  6. You receive their settings as a message.
  7. You: call tiktok_videos_send_from_url(...) with the submitted parameters.
  8. Tool auto-polls and returns status (complete, failed, or timeout).

Inbox / Draft Path (no form required)

These tools intentionally bypass the form — they send content to the user's TikTok app for manual posting:

  • tiktok_videos_upload_from_url — send video to inbox as draft.
  • tiktok_videos_upload_from_file — upload file to inbox as draft.
  • tiktok_photos_upload — send photos to inbox as draft.

Use these only when the user explicitly asks to "send to my TikTok drafts" or "I want to post manually in the app". Otherwise, default to the form path.

Signals

GitHub stars
86
Forks
15
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
tiktok
Source
github.com/hyperfx-ai/marketing-skills