Why repurposing works so well
Short form content dominates right now. TikTok, Instagram Reels and YouTube Shorts all compete for the same attention, and they all reward consistent posting. But creating original short content every day is exhausting.
The smarter approach is to pull the best moments from your long form videos and redistribute them. A 15 minute tutorial can easily become 5 to 8 standalone clips. Each one works as its own piece of content that drives viewers back to the full video on your YouTube channel.
The technical challenge
YouTube videos are usually 16:9 landscape. Short form platforms want 9:16 vertical. So you need to:
- Cut the video into individual clips (the best 30 to 60 second moments)
- Crop from landscape to vertical, keeping the subject in frame
- Re-encode to H.264 MP4 for maximum compatibility
- Upload each clip to TikTok, Instagram and YouTube Shorts
You can do all of this manually in Premiere or DaVinci Resolve. Or you can automate the entire process. Let's look at both.
Step 1: Clip and crop with FFmpeg
The fastest way to convert a landscape video to vertical is with FFmpeg. This command takes a 16:9 video, crops the center to 9:16, resizes to 1080x1920, and extracts a 45 second clip starting at the 2 minute mark:
ffmpeg -i full-video.mp4 \
-ss 00:02:00 -t 45 \
-vf "crop=ih*9/16:ih,scale=1080:1920" \
-c:v libx264 -preset medium -profile:v high \
-pix_fmt yuv420p -c:a aac -movflags +faststart \
clip-01.mp4 Don't want to run FFmpeg locally? Upload-Post has a built in FFmpeg API that does it in the cloud:
curl -X POST https://api.upload-post.com/api/uploadposts/ffmpeg/jobs/upload \
-H "Authorization: Apikey your-api-key-here" \
-F "[email protected]" \
-F 'full_command=ffmpeg -i {input} -ss 00:02:00 -t 45 -vf "crop=ih*9/16:ih,scale=1080:1920" -c:v libx264 -preset medium -pix_fmt yuv420p -c:a aac -movflags +faststart {output}' \
-F "output_extension=mp4"
The API returns a job_id. Once processing finishes (you can poll the status), download the result and you've got a perfectly formatted vertical clip ready for publishing.
Step 2: Upload the clip to all short form platforms
Now take that clip and send it everywhere with a single API call:
curl -X POST https://api.upload-post.com/api/upload \
-H "Authorization: Apikey your-api-key-here" \
-F "[email protected]" \
-F "user=mybrand" \
-F "title=The one editing trick most people miss" \
-F "tiktok_title=The one editing trick most people miss #editing #tutorial" \
-F "instagram_title=This changed my editing workflow. Full tutorial on YouTube (link in bio)" \
-F "youtube_title=The one editing trick most people miss #shorts" \
-F "platform[]=tiktok" \
-F "platform[]=instagram" \
-F "platform[]=youtube" \
-F "first_comment=Full video: https://youtube.com/watch?v=your-video-id"
Notice how each platform gets a slightly different caption. TikTok gets hashtags inline, Instagram gets a call to action mentioning the full video, and YouTube gets the #shorts tag. The first_comment parameter automatically adds a link to the original video.
YouTube Shorts detection is automatic: any video under 60 seconds in vertical format (9:16 or 1:1) is treated as a Short.
Step 3: Automate the entire pipeline with n8n
Here's where things get really powerful. You can set up an n8n workflow that watches your YouTube channel, detects new uploads, clips them automatically, and publishes the clips to TikTok and Instagram without you doing anything.
We have several templates that do exactly this:
- Auto crop long videos into Shorts and schedule to TikTok and Instagram
- Transform long videos into viral shorts with AI (Whisper + Gemini)
- Turn YouTube videos into viral Instagram Reels automatically
- Transform podcasts into viral TikTok clips with Gemini AI
The most advanced version uses Whisper for transcription and Gemini AI to identify the most engaging moments from your video. It then clips those exact segments, crops them to vertical, generates captions, and publishes them to your connected accounts. All in the background.
You can also set up similar workflows with Make.com or Zapier if you prefer those tools.
Video format requirements per platform
When you're creating clips for multiple platforms, it helps to know the technical requirements so you hit the right specs on the first try:
| Platform | Max duration | Max file size | Resolution |
|---|---|---|---|
| TikTok | 10 min | 4 GB | 1080x1920 (9:16) |
| Instagram Reels | 15 min | 300 MB | 1080x1920 (9:16) |
| YouTube Shorts | 60 sec | 256 GB | 1080x1920 (9:16) |
| Facebook Reels | 90 sec | No limit | 1080x1920 (9:16) |
The safe zone is: 1080x1920, H.264, under 60 seconds, under 300 MB. A clip that meets these specs works on every platform. For the full breakdown, check the video requirements documentation.
A Python script for batch clipping and uploading
Here's a practical script that takes a long video and a list of timestamps, creates vertical clips for each one, and uploads them all:
import subprocess
import os
from upload_post import UploadPostClient
client = UploadPostClient(api_key="your-api-key-here")
source_video = "full-tutorial.mp4"
clips = [
{"start": "00:01:30", "duration": 45, "title": "This tip saved me hours"},
{"start": "00:05:10", "duration": 55, "title": "Nobody talks about this feature"},
{"start": "00:12:00", "duration": 40, "title": "Before and after comparison"},
{"start": "00:18:45", "duration": 50, "title": "The final result blew my mind"},
]
for i, clip in enumerate(clips):
output = f"clip-{i+1:02d}.mp4"
# Crop to vertical and extract clip
cmd = [
"ffmpeg", "-y", "-i", source_video,
"-ss", clip["start"], "-t", str(clip["duration"]),
"-vf", "crop=ih*9/16:ih,scale=1080:1920",
"-c:v", "libx264", "-preset", "medium",
"-pix_fmt", "yuv420p", "-c:a", "aac",
"-movflags", "+faststart", output
]
subprocess.run(cmd, check=True)
# Upload to all short form platforms
response = client.upload_video(
video_path=output,
title=clip["title"],
user="mybrand",
platforms=["tiktok", "instagram", "youtube"],
add_to_queue=True,
async_upload=True
)
print(f"Clip {i+1} queued: {clip['title']}")
os.remove(output) # Clean up local file
print("All clips processed and queued!") Tips for better repurposed content
- Pick moments with strong hooks. The first 3 seconds decide whether someone keeps watching. Choose clips that start with a question, a surprising statement, or a visual payoff.
- Keep clips under 60 seconds so they work as YouTube Shorts (which has the strictest limit). TikTok and Reels allow longer, but shorter clips tend to perform better anyway.
- Add a first comment with a link to the full video. Use the
first_commentparameter to drive traffic back to YouTube. - Schedule clips across the week instead of posting them all at once. Use the queue system to spread them out automatically.
- Use different captions per platform. What works on TikTok (hashtags, trends) doesn't always work on LinkedIn or YouTube.
Frequently asked questions
Will platforms penalize me for reposting the same content?
Each platform has its own algorithm and audience. Posting the same clip on TikTok and Instagram is totally normal and won't hurt your reach. Just make sure you're not uploading the exact same file to the same platform multiple times within 48 hours, as platforms have duplicate detection.
Can I do this with podcasts too?
Absolutely. The workflow is similar: extract the best audio segments, add a waveform or video background, and publish. We have a specific n8n template for turning podcasts into TikTok clips with automated captions.
Can I add captions or subtitles to the clips?
Yes. If you're using the n8n AI templates, Whisper handles transcription and the captions get burned into the video automatically. If you're doing it manually with FFmpeg, you can add an SRT subtitle file with the subtitles filter.