← Upload-PostCONTENT HISTORY
WHAT CHANGED
Update to Upload-Post
Snapshot Oct 24, 2026 · 12:49 UTC · version 1.1.3
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save Upload-Post and check future changes in Following.
Up to 10 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Post or schedule a video to Instagram Reels, TikTok, YouTube Shorts, Facebook, X, LinkedIn, Threads, Pinterest, Bluesky and other networks through Upload-Post, including a video file the user has on their computer or attached in the chat. Use when the user wants to upload, post, publish, share, cross-post, or schedule a video, Reel, Short, or TikTok. Do not use for editing or generating the video itself, or for photo or text-only posts (use schedule-social-posts).",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 256
}
],
"name": "publish-video",
"skill_md_contents": "---\nname: publish-video\ndescription: Post or schedule a video to Instagram Reels, TikTok, YouTube Shorts, Facebook, X, LinkedIn, Threads, Pinterest, Bluesky and other networks through Upload-Post, including a video file the user has on their computer or attached in the chat. Use when the user wants to upload, post, publish, share, cross-post, or schedule a video, Reel, Short, or TikTok. Do not use for editing or generating the video itself, or for photo or text-only posts (use schedule-social-posts).\n---\n\n# Publish a video\n\nMost Upload-Post posts are videos, and most of them go to Instagram, TikTok and YouTube. Get the video in, pick the accounts, write the captions, publish.\n\n## 1. Pick the profile and accounts\n\nCall `list_users`. Each profile has a `username` and the social accounts connected to it.\n\n- One profile: use it without asking.\n- Several profiles: ask which one before publishing.\n- No profile or no connected accounts: follow `connect-accounts`, then come back.\n\nDefault to every connected video network unless the user names specific ones.\n\n## 2. Get the video in\n\n- **The user has the file** (on their computer, or attached in this chat): call `open_upload_studio` with `user`, `platforms`, `title`, and optionally `description`, `firstComment`, `instagramMediaType`. The user picks the file in the widget, it uploads directly, and the widget publishes it. Never pass a `/mnt/data` or sandbox path to `upload_video`; the server cannot read it.\n- **`open_upload_studio` is not available** (clients other than ChatGPT): if the client can make HTTP requests, stage the file with `create_media_upload`, PUT the bytes to `upload_url`, call `complete_media_upload`, and use the returned `media_url`. Otherwise ask for a public HTTPS link.\n- **The user gives a public link**: call `upload_video` with `videoPathOrUrl`.\n\n## 3. Captions and options\n\n- `title` is the main caption. Per-network overrides go in `platformOptions`: `instagramTitle`, `tiktokTitle`, `youtubeTitle`, `linkedinTitle`, `xTitle`. Offer short, platform-native variants: a hook on TikTok, a searchable title on YouTube.\n- Instagram: `instagramMediaType` is `REELS` (default) or `STORIES`.\n- Facebook: needs a Page; call `get_facebook_pages` and pass `facebookPageId`.\n- TikTok: privacy goes in `tiktokPrivacyLevel`. Trending sounds and locations depend on the account's `capabilities` in `list_users`; find them with `tiktok_music_trending`, `tiktok_music_search`, `tiktok_location_search`.\n- YouTube: `youtubePrivacyStatus`, `youtubePlaylistId`, `youtubeTags`, `youtubeThumbnailUrl`.\n- `firstComment` posts a comment under the video right after publishing (hashtags, links).\n\n## 4. Now or later\n\n- Now: omit `scheduledDate`.\n- At a time: `scheduledDate` in ISO 8601 plus `timezone` (IANA, e.g. `Europe/Madrid`). Confirm the local time back to the user.\n- Next free slot: `addToQueue: true` (see `content-calendar`).\n\nReddit publishing is currently unavailable; say so if asked.\n\n## 5. Confirm\n\nUploads return a `request_id`. Poll `get_status` until it finishes, then report each network and its result. If one network failed, offer `retry_post` for that one instead of re-uploading everything.\n"
}SHA-256 of public snapshot: db676d35172567d76c74e33a1bd991096de378719fbef6b4fb6e2f87b684f3d9