Automate TikTok tasks via Rube MCP (Composio): upload/publish videos, post photos, manage content, and view user profiles/stats. Always search tools first for current schemas.
Add this skill
npx mdskills install sickn33/tiktok-automationComprehensive TikTok automation with clear multi-step workflows, OAuth setup, and extensive pitfall documentation
1---2name: tiktok-automation3description: "Automate TikTok tasks via Rube MCP (Composio): upload/publish videos, post photos, manage content, and view user profiles/stats. Always search tools first for current schemas."4requires:5 mcp: [rube]6---78# TikTok Automation via Rube MCP910Automate TikTok content creation and profile operations through Composio's TikTok toolkit via Rube MCP.1112## Prerequisites1314- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)15- Active TikTok connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `tiktok`16- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas1718## Setup1920**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.2122231. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds242. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `tiktok`253. If connection is not ACTIVE, follow the returned auth link to complete TikTok OAuth264. Confirm connection status shows ACTIVE before running any workflows2728## Core Workflows2930### 1. Upload and Publish a Video3132**When to use**: User wants to upload a video and publish it to TikTok3334**Tool sequence**:351. `TIKTOK_UPLOAD_VIDEO` or `TIKTOK_UPLOAD_VIDEOS` - Upload video file(s) [Required]362. `TIKTOK_FETCH_PUBLISH_STATUS` - Check upload/processing status [Required]373. `TIKTOK_PUBLISH_VIDEO` - Publish the uploaded video [Required]3839**Key parameters for upload**:40- `video`: Video file object with `s3key`, `mimetype`, `name`41- `title`: Video title/caption4243**Key parameters for publish**:44- `publish_id`: ID returned from upload step45- `title`: Video caption text46- `privacy_level`: 'PUBLIC_TO_EVERYONE', 'MUTUAL_FOLLOW_FRIENDS', 'FOLLOWER_OF_CREATOR', 'SELF_ONLY'47- `disable_duet`: Disable duet feature48- `disable_stitch`: Disable stitch feature49- `disable_comment`: Disable comments5051**Pitfalls**:52- Video upload and publish are TWO separate steps; upload first, then publish53- After upload, poll FETCH_PUBLISH_STATUS until processing is complete before publishing54- Video must meet TikTok requirements: MP4/WebM format, max 10 minutes, max 4GB55- Caption/title has character limits; check current TikTok guidelines56- Privacy level strings are case-sensitive and must match exactly57- Processing may take 30-120 seconds depending on video size5859### 2. Post a Photo6061**When to use**: User wants to post a photo to TikTok6263**Tool sequence**:641. `TIKTOK_POST_PHOTO` - Upload and post a photo [Required]652. `TIKTOK_FETCH_PUBLISH_STATUS` - Check processing status [Optional]6667**Key parameters**:68- `photo`: Photo file object with `s3key`, `mimetype`, `name`69- `title`: Photo caption text70- `privacy_level`: Privacy setting for the post7172**Pitfalls**:73- Photo posts are a newer TikTok feature; availability may vary by account type74- Supported formats: JPEG, PNG, WebP75- Image size and dimension limits apply; check current TikTok guidelines7677### 3. List and Manage Videos7879**When to use**: User wants to view their published videos8081**Tool sequence**:821. `TIKTOK_LIST_VIDEOS` - List user's published videos [Required]8384**Key parameters**:85- `max_count`: Number of videos to return per page86- `cursor`: Pagination cursor for next page8788**Pitfalls**:89- Only returns the authenticated user's own videos90- Response includes video metadata: id, title, create_time, share_url, duration, etc.91- Pagination uses cursor-based approach; check for `has_more` and `cursor` in response92- Recently published videos may not appear immediately in the list9394### 4. View User Profile and Stats9596**When to use**: User wants to check their TikTok profile info or account statistics9798**Tool sequence**:991. `TIKTOK_GET_USER_PROFILE` - Get full profile information [Required]1002. `TIKTOK_GET_USER_STATS` - Get account statistics [Optional]1013. `TIKTOK_GET_USER_BASIC_INFO` - Get basic user info [Alternative]102103**Key parameters**: (no required parameters; returns data for authenticated user)104105**Pitfalls**:106- Profile data is for the authenticated user only; cannot view other users' profiles107- Stats include follower count, following count, video count, likes received108- `GET_USER_PROFILE` returns more details than `GET_USER_BASIC_INFO`109- Stats may have slight delays; not real-time110111### 5. Check Publish Status112113**When to use**: User wants to check the status of a content upload or publish operation114115**Tool sequence**:1161. `TIKTOK_FETCH_PUBLISH_STATUS` - Poll for status updates [Required]117118**Key parameters**:119- `publish_id`: The publish ID from a previous upload/publish operation120121**Pitfalls**:122- Status values include processing, success, and failure states123- Poll at reasonable intervals (5-10 seconds) to avoid rate limits124- Failed publishes include error details in the response125- Content moderation may cause delays or rejections after processing126127## Common Patterns128129### Video Publish Flow130131```1321. Upload video via TIKTOK_UPLOAD_VIDEO -> get publish_id1332. Poll TIKTOK_FETCH_PUBLISH_STATUS with publish_id until complete1343. If status is ready, call TIKTOK_PUBLISH_VIDEO with final settings1354. Optionally poll status again to confirm publication136```137138### Pagination139140- Use `cursor` from previous response for next page141- Check `has_more` boolean to determine if more results exist142- `max_count` controls page size143144## Known Pitfalls145146**Content Requirements**:147- Videos: MP4/WebM, max 4GB, max 10 minutes148- Photos: JPEG/PNG/WebP149- Captions: Character limits vary by region150- Content must comply with TikTok community guidelines151152**Authentication**:153- OAuth tokens have scopes; ensure video.upload and video.publish are authorized154- Tokens expire; re-authenticate if operations fail with 401155156**Rate Limits**:157- TikTok API has strict rate limits per application158- Implement exponential backoff on 429 responses159- Upload operations have daily limits160161**Response Parsing**:162- Response data may be nested under `data` or `data.data`163- Parse defensively with fallback patterns164- Publish IDs are strings; use exactly as returned165166## Quick Reference167168| Task | Tool Slug | Key Params |169|------|-----------|------------|170| Upload video | TIKTOK_UPLOAD_VIDEO | video, title |171| Upload multiple videos | TIKTOK_UPLOAD_VIDEOS | videos |172| Publish video | TIKTOK_PUBLISH_VIDEO | publish_id, title, privacy_level |173| Post photo | TIKTOK_POST_PHOTO | photo, title, privacy_level |174| List videos | TIKTOK_LIST_VIDEOS | max_count, cursor |175| Get profile | TIKTOK_GET_USER_PROFILE | (none) |176| Get user stats | TIKTOK_GET_USER_STATS | (none) |177| Get basic info | TIKTOK_GET_USER_BASIC_INFO | (none) |178| Check publish status | TIKTOK_FETCH_PUBLISH_STATUS | publish_id |179
Full transparency — inspect the skill content before installing.