{"id":39819,"plugin_id":"plugin_asdk_app_6a1fed02ff5c8191b4060c5807221f26","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-24T12:49:34.163Z","digest":"3e52665ad1bc32ee163acd123cd4ec4b222e9e2494a0f637f9c78a14f5d8b113","against":null,"payload":{"description":"Repurpose a long video (podcast, interview, webinar, livestream, YouTube video) into short vertical clips for TikTok, Instagram Reels and YouTube Shorts - pick the best moments, cut and reframe them with Upload-Post's FFmpeg jobs, then schedule them across accounts. Use when the user wants to repurpose content, make shorts or clips from a long video, or turn one video into many posts. Do not use for editing that needs a full video editor (effects, multi-track timelines).","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":275}],"name":"video-to-shorts","skill_md_contents":"---\nname: video-to-shorts\ndescription: Repurpose a long video (podcast, interview, webinar, livestream, YouTube video) into short vertical clips for TikTok, Instagram Reels and YouTube Shorts - pick the best moments, cut and reframe them with Upload-Post's FFmpeg jobs, then schedule them across accounts. Use when the user wants to repurpose content, make shorts or clips from a long video, or turn one video into many posts. Do not use for editing that needs a full video editor (effects, multi-track timelines).\n---\n\n# Video to shorts\n\nPipeline: find moments → cut with FFmpeg → reframe to 9:16 → schedule.\n\n## 1. Source and moments\n\nThe source must be a public HTTPS URL for the FFmpeg tools. If the user only has the file locally, ask them to share a link (cloud storage with a direct download link works).\n\nUpload-Post does not transcribe. Pick moments from what the user gives you: a transcript with timestamps, YouTube chapters, or timestamps they choose. Good clips: a hook in the first 3 seconds, self-contained, 20–60 seconds. Propose 3–8 candidates with timestamps and a one-line summary; let the user approve before cutting.\n\n## 2. Budget\n\nCall `get_ffmpeg_consumption` first. Free plans have a limited number of FFmpeg jobs. If a job fails on quota, show the upgrade path instead of retrying.\n\n## 3. Cut and reframe\n\nFor each approved clip call `submit_ffmpeg_job` with `input_url` and a `full_command` starting with `ffmpeg`, plus `output_filename` (e.g. `clip-1.mp4`). Do the trim and the 9:16 crop/scale in one command when the source is horizontal. Shell metacharacters are rejected.\n\nPoll `get_ffmpeg_job` with the `job_id` until done, then `download_ffmpeg_result` for the clip URL.\n\n## 4. Schedule\n\nPublish each clip with `upload_video` (`videoPathOrUrl` = the clip URL) to `tiktok`, `instagram` (`instagramMediaType: REELS`) and `youtube`, with its own hook as the caption. Spread them out with `addToQueue: true` (see `content-calendar`) instead of posting them all at once.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}