youtube-shortscontent-repurposingffmpeg

YouTube Shorts bonus program: 12 originals from one long video

··10 min read
YouTube Shorts bonus program: 12 originals from one long video

Invites for YouTube's Shorts bonus pilot hit Studio inboxes this week, and the number in yours is either 12 or 16 public Shorts inside one calendar month. Miss by one and the month pays nothing. Those Shorts also have to survive the originality change YouTube started applying on October 1, so the usual "one template, twelve rows" bulk method is out.

Quick answer: To hit the YouTube Shorts bonus program quota of 12 Shorts per month from one long video, cut 12 distinct moments out of your own upload, reframe each to 1080x1920 with FFmpeg's pad or crop filter, burn captions from that clip's own audio, and write a different hook line per cut. By hand that's three FFmpeg passes over twelve files. Sent to FFmpeg Micro it's one API call per clip with no encoder to host, and twelve 40-second cuts bill as 8 minutes of input, not the hour you pulled them from.

The quota is a count of public Shorts, and it resets with the calendar month

YouTube announced the pilot on October 15, 2026 for invited Partner Program channels in the US, UK, Germany, Brazil, Japan and South Korea, and there's no way to apply. YouTube's help page sets the mechanics: your invite names a number of public Shorts to post within a calendar month, hitting it pays a minimum promotional offer plus a bonus based on valid, engaged Shorts views, and you must still be monetizing at month end. Private and unlisted uploads don't count.

Invites creators have shared publicly specify either 12 or 16 Shorts per month, with reported offers running from a $300 base up to $2,000, and a join-by date of November 15 to start earning for November. The test runs three months.

Partial credit doesn't exist: eleven Shorts in a 12-Short month pays the same as zero. Accept on the 24th and you have a week, not a month.

Cutting your own long video is not what the October 1 rule catches

Conventional wisdom after October 1 is that repurposing is now risky. Half true, and the true half isn't the one most people worry about. Creator Liaison Rene Ritchie said on Creator Insider that the Shorts recommendation system will further prioritize original content and cut the reach of content re-uploaded from other creators without adding anything of your own.

YouTube was specific about what does not make reused content original: voice-over that just describes what's on screen, minor technical edits, and template-based bulk changes. Commentary, analysis, storytelling and substantive editing do count. The dividing line is whose editorial work is in the clip.

That rules out the method most bulk-Shorts guides teach: one caption template stamped across thirty variants of stock footage with a synthetic voice over it hits all three exclusions at once. It does not rule out slicing a 50-minute video you shot, wrote and narrated into twelve clips. The 9:16 reframe isn't what makes those clips original; they already were. More on that in Reformatting isn't original: repurpose long-form video to Shorts.

One source upload, twelve clips: the actual pipeline

A month of Shorts off one long video is four production steps per clip plus a publishing schedule. Upload the source once: on FFmpeg Micro, links to uploaded inputs stay valid for 24 hours, so twelve render jobs can point at the same gs:// URL.

Pick the moments before you touch a filter

Twelve clips means twelve moments that stand on their own. A 50-minute interview or tutorial usually carries eight to fifteen; a vlog carries fewer. If you can't name twelve in a notes file, you have six Shorts and six padded cuts, and the padded ones drag down average watch time.

Write them as timecodes and hook lines in a CSV: start,duration,hook.

Reframe to 1080x1920 with pad or crop

FFmpeg gives you two routes from a 16:9 source to a 1080x1920 frame, and neither is subject-aware. Padding keeps the whole frame and letterboxes it with scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:color=black,setsar=1. Center-cropping fills the frame and throws away the sides:

ffmpeg -ss 00:12:40 -i source.mp4 -t 40 \
  -vf "crop=ih*9/16:ih,scale=1080:1920,setsar=1" \
  -c:v libx264 -crf 20 -preset veryfast -c:a aac -b:a 128k clip-01.mp4

Crop wins when you're centered in frame and talking. Pad wins when the frame has content at the edges, like a screen recording or a two-person shot. The 4K to 1080x1920 conversion walkthrough covers the scaling math, including why setsar=1 is not optional.

The same job as one API call, with trim, reframe and hook text in one pass:

curl -X POST https://api.ffmpeg-micro.com/v1/transcodes \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $FFMPEG_MICRO_API_KEY" \
  -d '{
    "inputs": [{ "url": "gs://<YOUR_BUCKET>/1761100000-source.mp4" }],
    "outputFormat": "mp4",
    "options": [
      { "option": "-ss", "argument": "00:12:40" },
      { "option": "-t",  "argument": "40" },
      { "option": "-vf", "argument": "crop=ih*9/16:ih,scale=1080:1920,setsar=1" },
      { "option": "-c:v", "argument": "libx264" },
      { "option": "-crf", "argument": "20" },
      { "option": "@text-overlay", "argument": {
          "text": "The pricing mistake I made for two years",
          "style": { "fontSize": 64, "charsPerLine": 18, "x": "(w-text_w)/2", "y": "0.12*h" }
      }}
    ]
  }'

That returns a job id immediately. Poll GET /v1/transcodes/:id until status is completed, then GET /v1/transcodes/:id/download for a signed URL. There are no completion callbacks, so a twelve-job batch is one status loop, not a listener you host. Failed jobs are never billed, so a bad crop costs nothing to redo.

Burn captions from each clip's own audio

Captions go on after the cut, and they should come from the trimmed clip, not the source. Transcribe the 40-second file and the SRT timestamps start at zero, which is what the subtitles filter expects. Transcribe the full hour and every block carries a source-relative timestamp you have to shift per clip (SRT timing math covers that arithmetic).

Locally, with an SRT in hand:

ffmpeg -i clip-01.mp4 \
  -vf "subtitles=clip-01.srt:force_style='Alignment=2,Fontsize=24,Outline=2,MarginV=180'" \
  -c:a copy clip-01-captioned.mp4

Through the API it's two calls. POST /v1/transcribe with the clip's gs:// URL runs Whisper and returns a job envelope; GET /v1/transcribe/:id/download hands back a signed HTTPS URL for the SRT, good for 10 minutes. That URL drops into a transcode's filter as subtitles='https://...', so the caption pass is a normal render job with no Whisper install.

MarginV=180 matters more than the font choice. The bottom of the Shorts player holds the title, channel name and action buttons, so captions at the default margin sit under the UI.

Give every clip a hook line that promises something different

The hook text is where the per-clip editorial lives. "The pricing mistake I made for two years" and "Why I stopped offering a free tier" can come from one source video and still be two different pieces of content.

Drive it from the CSV: one column of hooks, one @text-overlay per job, one job per row. That's the shape of the bulk Shorts bash script, which fires every pipeline in parallel and writes short-001.mp4 through short-012.mp4.

Twelve render jobs can run at once; twelve uploads should not. Dumping all twelve on the 30th clears the quota, but the view-based half of the bonus does better if you schedule them in Studio three or four days apart.

What twelve Shorts a month actually costs to render

Billing is per-second metering on input duration, not output and not server time. Trim a 40-second cut out of a one-hour recording and you're billed 40 seconds.

PassWhat it billsTokens for 12 × 40 s
Trim and reframe to 1080x1920480 s of input48
Transcribe each cut to SRT480 s48
Burn captions plus the per-clip hook480 s48
Whole month1,440 s (24 minutes)144

One token buys 10 seconds of input, and a new account gets 200 tokens at sign-up with no card, about 33 minutes of video, which covers a 12-Short month at 40 seconds a clip. Transcribing the whole hour once to pick moments from the transcript is 360 tokens, so a $5 top-up (500 tokens) covers it. Status checks, job listings and downloads are free.

The self-hosted version's real cost isn't CPU. It's the hour on an FFmpeg build without libass, or the 16-minute GPU instance you forgot to shut down.

Pitfalls that cost people the month

The pitfall that bites hardest is treating hook text as a style layer. Twelve clips with the same hook in twelve colors is a template-based bulk change, the category YouTube named. Write twelve different lines.

Seek position is second. -ss before -i seeks fast but lands on the nearest keyframe, up to a few seconds off; after -i it's frame-accurate and slower because FFmpeg decodes up to that point. Keyframe-accurate is fine for a talking-head cut, but use the accurate form when a clip has to start on a specific word.

Audio drift shows up when you trim video and copy audio with -c:a copy. Re-encode the audio on a cut (-c:a aac -b:a 128k) and the two streams start together.

Shorts accept up to three minutes, which tempts people into 2:50 cuts to fill the quota faster. A padded three-minute clip with a 20-second payoff performs worse than a 40-second clip that's all payoff, and the bonus pays on views.

When this pipeline is the wrong call

A channel whose output is mainly other creators' footage won't be fixed by a render pipeline. The October 1 change is about where content comes from, and reach gets re-evaluated when a channel shifts toward original work, so the fix is a source change, not a filter change.

If the frame has to follow a moving subject across a basketball court, FFmpeg's crop is a fixed rectangle and won't do it. That's a tracking problem, and it wants a tool built for tracking, not a transcode API.

If your long video doesn't hold twelve real moments, cutting harder won't produce them. Two 25-minute uploads beat one 50-minute upload sliced thin, and an invite that says 16 needs two source uploads either way.

FAQ

Do private or unlisted Shorts count toward the 12?

Only public Shorts count toward the YouTube Shorts bonus quota. YouTube's help page excludes private and unlisted uploads, so a Short scheduled to go public after month end counts for the following month, not the current one.

Does clipping my own long video count as original content?

Clips cut from your own long-form upload count as original under the October 1 recommendation change, which targets channels built on re-uploads of other creators' footage. The exclusions YouTube named are voice-over that narrates what's on screen, minor technical edits, and template-based bulk changes, none of which describes cutting your own interview into twelve moments with a distinct hook on each.

Can I run all twelve renders at the same time?

Twelve transcode jobs run in parallel and independently, and the FFmpeg Micro bash recipe caps concurrency at 20 by default to stay inside plan limits. Inputs longer than two minutes route to a separate long lane, so a 40-second Short never waits behind an hour-long encode.

What does it cost to render 12 captioned vertical Shorts?

Twelve 40-second Shorts through trim, transcribe and caption-burn passes bill 24 minutes of input, which is 144 tokens, inside the 200 tokens a free FFmpeg Micro account gets at sign-up. After that, Starter is $19.99 a month for 2,500 tokens, and top-up packs start at 500 tokens for $5.

The parallel bash version, CSV of hooks in and finished MP4s out, is in Make 100 Shorts in under a minute with the script attached. Sign up free and the 200 starting tokens cover your first bonus month with tokens to spare.

About Javid Jamae

Founder & CEO at FFmpeg Micro

Javid is a software engineer, author, and entrepreneur with over 25 years of professional software development experience across enterprise, startup, and consulting environments. He founded FFmpeg Micro to make video processing accessible to developers through a simple, automation-first REST API.

Software EngineeringVideo ProcessingFFmpegCloud ArchitectureAPI DesignAutomation

Ready to process videos at scale?

Start using FFmpeg Micro's simple API today. No infrastructure required.

Get Started Free