Resize Video for TikTok in Zapier

February 22, 2026 · RenderIO

Auto-resize every video for TikTok

Your team creates videos in 16:9. TikTok needs 9:16. Someone has to open each video, resize it, re-export, and upload.

Or Zapier does it automatically.

This guide builds a Zap that watches for new videos, resizes them to TikTok's 1080x1920 format, compresses them for upload, and saves the result. New video in, TikTok-ready video out.

TikTok's video requirements

ParameterRequirement
Aspect ratio9:16
Resolution1080x1920 (recommended)
FormatMP4
Max file size287 MB
Max duration10 minutes
AudioAAC, -14 LUFS recommended
CodecH.264

Most source videos don't match these specs. They're 16:9, too large, wrong codec, or have inconsistent audio levels.

The Zap

Step 1: Trigger - New video in folder

App: Google Drive (or Dropbox, OneDrive, etc.) Event: New File in Folder Folder: Your "Raw Videos" folder

Configure the trigger and test with a sample video file.

Step 2: Resize with RenderIO

App: Webhooks by Zapier Event: POST URL: https://renderio.dev/api/v1/run-ffmpeg-command

Headers:

  • X-API-KEY: ffsk_your_api_key_here

  • Content-Type: application/json

Body (JSON):

{
  "ffmpeg_command": "-i {{in_video}} -filter_complex \"[0:v]scale=1080:1920:force_original_aspect_ratio=increase,crop=1080:1920,boxblur=25[bg];[0:v]scale=1080:1920:force_original_aspect_ratio=decrease[fg];[bg][fg]overlay=(W-w)/2:(H-h)/2[v]\" -map \"[v]\" -map 0:a? -af \"loudnorm=I=-14:TP=-2:LRA=7\" -c:v libx264 -crf 22 -c:a aac -b:a 128k -movflags +faststart {{out_video}}",
  "input_files": {
    "in_video": "{{step1_file_url}}"
  },
  "output_files": {
    "out_video": "tiktok-ready.mp4"
  }
}

This command does several things:

  1. Scales the video to fill 1080x1920

  2. Creates a blurred background from the video itself

  3. Overlays the original content centered

  4. Normalizes audio to -14 LUFS

  5. Encodes with H.264 and AAC

  6. Adds faststart flag for quick mobile playback

Step 3: Wait for processing

App: Delay by Zapier Duration: 45 seconds

45 seconds handles most videos under 2 minutes. For longer content, increase to 90-120 seconds.

Step 4: Check processing status

App: Webhooks by Zapier Event: GET URL: https://renderio.dev/api/v1/commands/{{step2_command_id}} Headers: X-API-KEY: ffsk_your_api_key_here

Step 5: Save to output folder

App: Google Drive Event: Upload File File: {{step4_output_file_url}} Folder: "TikTok Ready" folder Filename: tiktok-{{step1_original_filename}}

Alternative resize approaches

Simple center crop (no blurred background)

If you prefer a clean crop without the blurred background effect:

{
  "ffmpeg_command": "-i {{in_video}} -vf \"scale=1080:1920:force_original_aspect_ratio=increase,crop=1080:1920\" -af \"loudnorm=I=-14:TP=-2:LRA=7\" -c:v libx264 -crf 22 -c:a aac -b:a 128k -movflags +faststart {{out_video}}",
  "input_files": { "in_video": "{{file_url}}" },
  "output_files": { "out_video": "tiktok-cropped.mp4" }
}

This crops from the center. Good when the main content is centered in the frame.

Black bars (letterbox)

If you want to preserve the full frame with black bars:

{
  "ffmpeg_command": "-i {{in_video}} -vf \"scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black\" -af \"loudnorm=I=-14:TP=-2:LRA=7\" -c:v libx264 -crf 22 -c:a aac -b:a 128k -movflags +faststart {{out_video}}",
  "input_files": { "in_video": "{{file_url}}" },
  "output_files": { "out_video": "tiktok-letterbox.mp4" }
}

This preserves all content but adds black bars. Simpler but less visually appealing on TikTok.

With text overlay

Add a text hook at the top while resizing:

{
  "ffmpeg_command": "-i {{in_video}} -vf \"scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black,drawtext=text='Watch This':fontsize=48:fontcolor=white:borderw=3:bordercolor=black:x=(w-text_w)/2:y=100\" -af \"loudnorm=I=-14\" -c:v libx264 -crf 22 -c:a aac -b:a 128k -movflags +faststart {{out_video}}",
  "input_files": { "in_video": "{{file_url}}" },
  "output_files": { "out_video": "tiktok-with-text.mp4" }
}

Adding compression

TikTok's max file size is 287MB. If your source videos are large, add compression:

{
  "ffmpeg_command": "-i {{in_video}} -filter_complex \"[0:v]scale=1080:1920:force_original_aspect_ratio=increase,crop=1080:1920,boxblur=25[bg];[0:v]scale=1080:1920:force_original_aspect_ratio=decrease[fg];[bg][fg]overlay=(W-w)/2:(H-h)/2[v]\" -map \"[v]\" -map 0:a? -af \"loudnorm=I=-14:TP=-2:LRA=7\" -c:v libx264 -crf 26 -preset slow -c:a aac -b:a 96k -movflags +faststart {{out_video}}",
  "input_files": { "in_video": "{{file_url}}" },
  "output_files": { "out_video": "tiktok-compressed.mp4" }
}

-crf 26 (up from 22) and -preset slow give better compression. -b:a 96k reduces audio bitrate. A 200MB source file becomes 40-60MB.

Duration limits

TikTok allows up to 10 minutes, but shorter videos perform better. Trim to 60 seconds:

{
  "ffmpeg_command": "-i {{in_video}} -t 60 -vf \"scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black\" -af \"loudnorm=I=-14\" -c:v libx264 -crf 22 -c:a aac -movflags +faststart {{out_video}}",
  "input_files": { "in_video": "{{file_url}}" },
  "output_files": { "out_video": "tiktok-60s.mp4" }
}

-t 60 trims to the first 60 seconds.

Multi-platform resize in one Zap

Use Zapier Paths to create multiple platform versions simultaneously:

Path A: TikTok (1080x1920) Path B: Instagram Feed (1080x1080) Path C: YouTube (1920x1080)

Each path makes a separate RenderIO API call with different dimensions. Three outputs from one trigger.

Instagram Feed (1:1)

{
  "ffmpeg_command": "-i {{in_video}} -vf \"crop=min(iw\\,ih):min(iw\\,ih),scale=1080:1080\" -af \"loudnorm=I=-14\" -c:v libx264 -crf 22 -c:a aac -movflags +faststart {{out_video}}",
  "input_files": { "in_video": "{{file_url}}" },
  "output_files": { "out_video": "instagram.mp4" }
}

YouTube (16:9)

{
  "ffmpeg_command": "-i {{in_video}} -vf \"scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:black\" -af \"loudnorm=I=-14\" -c:v libx264 -crf 20 -c:a aac -b:a 192k -movflags +faststart {{out_video}}",
  "input_files": { "in_video": "{{file_url}}" },
  "output_files": { "out_video": "youtube.mp4" }
}

Testing your Zap

  1. Turn on the Zap

  2. Upload a test video to your trigger folder

  3. Wait 2-3 minutes for the Zap to run

  4. Check the output folder for the resized video

  5. Verify the output plays correctly and is 1080x1920

If the output isn't right, adjust the FFmpeg command parameters and re-test. The most common issue is the delay being too short for longer videos. Increase the delay step if you see "processing" status in the check step.

Every video uploaded to your folder becomes TikTok-ready. No manual resizing. No export queue. Just automated formatting. Read the complete Zapier video processing integration for more workflow ideas.