Use when adding new error messages to React, or seeing "unknown error code" warnings.
npx skills add ncklrs/startup-os-skills --skill "remotion-render-config"
Install specific skill from multi-skill repository
# Description
Generates render and output configuration for Remotion videos. Focuses ONLY on output settings, codec, format, quality, resolution. Input is target platform/quality requirements. Output is RENDER_CONFIG.md with Remotion render settings.
# SKILL.md
name: remotion-render-config
description: Generates render and output configuration for Remotion videos. Focuses ONLY on output settings, codec, format, quality, resolution. Input is target platform/quality requirements. Output is RENDER_CONFIG.md with Remotion render settings.
Remotion Render Config
Generates render configuration documents that define video output settings, codec parameters, format options, and quality settings for Remotion video renders. This skill focuses exclusively on render/export configuration.
What This Skill Does
Generates render configurations for:
- Output format — MP4, WebM, ProRes, etc.
- Codec settings — H.264, H.265, VP9 parameters
- Quality settings — CRF, bitrate, compression level
- Resolution — Output dimensions and scaling
- Platform optimization — YouTube, Twitter, Instagram presets
Scope Boundaries
IN SCOPE:
- Render command configuration
- Codec and format selection
- Quality and compression settings
- Platform-specific optimizations
- Output file parameters
OUT OF SCOPE:
- Composition implementation (use /remotion-composition)
- Scene logic (use /remotion-component-gen)
- Animation parameters (use /remotion-animation)
- Asset management (use /remotion-asset-coordinator)
Input/Output Formats
Input Format: Target Platform/Quality Requirements
Accepts render target specifications:
Natural Language:
Render for YouTube at high quality with H.264 codec
Structured Format:
## Render Requirements
**Target Platform:** YouTube
**Quality Level:** High
**Format:** MP4 (H.264)
**Resolution:** 1920x1080
**Frame Rate:** 30 fps
**Additional:** Upload-ready, optimized file size
Output Format: RENDER_CONFIG.md
Generates complete render configuration document:
# Render Configuration: ProductDemo
## Status
✅ Render settings defined
⏳ Ready for video render
## Render Command
```bash
npx remotion render \
src/index.tsx \
ProductDemo \
output.mp4 \
--codec=h264 \
--crf=18 \
--pixel-format=yuv420p \
--audio-codec=aac \
--audio-bitrate=320k
Configuration Details
Output Format
- Container: MP4
- Video Codec: H.264 (x264)
- Audio Codec: AAC
- Pixel Format: yuv420p (for maximum compatibility)
Quality Settings
- CRF: 18 (high quality, ~15-20 MB/min)
- Audio Bitrate: 320 kbps (high quality)
- Preset: medium (balanced speed/quality)
Resolution
- Output: 1920x1080 (16:9)
- Frame Rate: 30 fps
- Duration: 30 seconds (900 frames)
Platform: YouTube
Optimized for YouTube upload:
- ✅ H.264 codec (widely supported)
- ✅ yuv420p pixel format (required)
- ✅ AAC audio (recommended)
- ✅ CRF 18 (high quality, good file size)
- ✅ Metadata compatible
Estimated File Size: ~45-60 MB
Alternative Render Options
Web Delivery (Smaller File)
npx remotion render \
src/index.tsx \
ProductDemo \
output.mp4 \
--codec=h264 \
--crf=23 \
--audio-bitrate=192k
File size: ~25-35 MB
Maximum Quality (Archive)
npx remotion render \
src/index.tsx \
ProductDemo \
output.mp4 \
--codec=h264 \
--crf=15 \
--audio-bitrate=320k \
--preset=slower
File size: ~80-100 MB
Fast Preview Render
npx remotion render \
src/index.tsx \
ProductDemo \
preview.mp4 \
--crf=28 \
--preset=ultrafast
File size: ~15-20 MB
Render Workflow
-
Test render (first 3 seconds):
bash npx remotion render src/index.tsx ProductDemo test.mp4 --frames=0-90 -
Full render with progress:
bash npx remotion render src/index.tsx ProductDemo output.mp4 --codec=h264 --crf=18 -
Verify output:
- Check file size
- Play in video player
- Verify audio sync
-
Check quality
-
Upload to platform (YouTube, etc.)
Next Steps
- Run test render to verify timing and quality
- Adjust CRF if file size too large/small
- Full render when ready
- Upload to target platform
Troubleshooting
File too large:
- Increase CRF (23-28 for web)
- Lower audio bitrate (192k or 128k)
Quality issues:
- Decrease CRF (15-17 for higher quality)
- Use slower preset (slow, slower)
Rendering slow:
- Use faster preset (fast, veryfast)
- Reduce resolution temporarily for testing
Checklist
- [x] Codec selected
- [x] Quality settings defined
- [x] Platform optimized
- [x] Render command generated
- [ ] Test render completed
- [ ] Full render completed
- [ ] Output verified
## Codec Reference
### H.264 (Most Compatible)
Best for: YouTube, web delivery, social media
```bash
--codec=h264
--crf=18 # Quality (lower = better, 15-28 typical)
--pixel-format=yuv420p
--audio-codec=aac
--audio-bitrate=320k
Quality Levels:
- CRF 15-17: Excellent (large files)
- CRF 18-20: High (recommended)
- CRF 21-23: Good (web delivery)
- CRF 24-28: Acceptable (preview/draft)
H.265 (HEVC) - Better Compression
Best for: Modern platforms, smaller files, 4K video
--codec=h265
--crf=23
--pixel-format=yuv420p10le
Note: Not universally supported, but ~50% smaller files at same quality
VP9 (Open Source)
Best for: WebM format, web delivery, Chrome/Firefox
--codec=vp9
--crf=30
--pixel-format=yuv420p
ProRes (Professional)
Best for: Video editing, maximum quality, no compression
--codec=prores
--prores-profile=3 # HQ profile
Warning: Very large files (~1-2 GB/minute)
Quality vs File Size Reference
For 30-second 1080p video at 30fps:
| CRF | Quality | File Size | Use Case |
|---|---|---|---|
| 15 | Excellent | 80-100 MB | Archive, editing |
| 18 | High | 45-60 MB | YouTube, high quality |
| 21 | Good | 30-40 MB | Web, social media |
| 23 | Acceptable | 20-30 MB | Web delivery |
| 28 | Preview | 10-15 MB | Draft, testing |
Platform-Specific Presets
YouTube
npx remotion render src/index.tsx VideoName output.mp4 \
--codec=h264 \
--crf=18 \
--pixel-format=yuv420p \
--audio-codec=aac \
--audio-bitrate=320k
Specifications:
- Resolution: 1920x1080 or higher
- Frame rate: 24, 25, 30, 48, 50, or 60 fps
- Codec: H.264 or H.265
- Audio: AAC-LC, 320 kbps
Twitter/X
npx remotion render src/index.tsx VideoName output.mp4 \
--codec=h264 \
--crf=20 \
--audio-bitrate=192k
Specifications:
- Max duration: 2:20 (140 seconds)
- Max file size: 512 MB
- Resolution: Up to 1920x1200 or 1200x1920
Instagram Feed
npx remotion render src/index.tsx VideoName output.mp4 \
--codec=h264 \
--crf=20 \
--audio-bitrate=192k
Specifications:
- Max duration: 60 seconds
- Resolution: 1080x1080 (1:1) or 1080x1350 (4:5)
- Frame rate: 30 fps
- Codec: H.264
Instagram Reels/Stories
npx remotion render src/index.tsx VideoName output.mp4 \
--codec=h264 \
--crf=20 \
--audio-bitrate=192k
Specifications:
- Resolution: 1080x1920 (9:16)
- Max duration: 90 seconds (Reels), 15 seconds (Stories)
- Frame rate: 30 fps
TikTok
npx remotion render src/index.tsx VideoName output.mp4 \
--codec=h264 \
--crf=20 \
--audio-bitrate=192k
Specifications:
- Resolution: 1080x1920 (9:16)
- Max duration: 10 minutes
- Max file size: 287.6 MB
- Frame rate: 30 or 60 fps
npx remotion render src/index.tsx VideoName output.mp4 \
--codec=h264 \
--crf=20 \
--audio-bitrate=192k
Specifications:
- Max file size: 5 GB
- Resolution: 256x144 to 4096x2304
- Frame rate: 10-60 fps
Advanced Render Options
Concurrency (Faster Renders)
--concurrency=8 # Use 8 CPU cores
Image Sequence (for Post-Processing)
--sequence
--image-format=png
Outputs PNG sequence for After Effects, Premiere, etc.
Specific Frame Range
--frames=30-90 # Render frames 30-90 only
Scale Output
--scale=0.5 # Render at 50% resolution (960x540)
Useful for quick previews.
Overwrite Existing File
--overwrite
Custom Output Name
npx remotion render src/index.tsx VideoName "output/final-video.mp4"
Environment Variables
# Number of CPU cores to use
export REMOTION_CONCURRENCY=8
# Disable browser sandbox (Docker)
export REMOTION_DISABLE_CHROMIUM_SANDBOX=true
# Set custom Chromium path
export REMOTION_CHROMIUM_PATH=/path/to/chromium
Render Configuration File
Create remotion.config.ts:
import { Config } from "@remotion/cli/config";
Config.setCodec("h264");
Config.setCrf(18);
Config.setPixelFormat("yuv420p");
Config.setAudioBitrate("320k");
Config.setAudioCodec("aac");
Config.setConcurrency(8);
Config.setOverwriteOutput(true);
Then render with:
npx remotion render
Render Scripts
Add to package.json:
{
"scripts": {
"render:preview": "remotion render src/index.tsx VideoName preview.mp4 --crf=28 --preset=ultrafast",
"render:draft": "remotion render src/index.tsx VideoName draft.mp4 --crf=23",
"render:final": "remotion render src/index.tsx VideoName output.mp4 --codec=h264 --crf=18",
"render:youtube": "remotion render src/index.tsx VideoName youtube.mp4 --codec=h264 --crf=18 --audio-bitrate=320k"
}
}
Usage:
npm run render:youtube
Render Performance Tips
- Use concurrency to utilize all CPU cores
- Close other applications during render
- Use SSD for faster file I/O
- Reduce composition complexity if render is too slow
- Test render small ranges before full render
- Use image-format prop if you need transparency
Quality Verification Checklist
After rendering:
- [ ] File plays without errors
- [ ] Audio is in sync with video
- [ ] Visual quality meets expectations
- [ ] File size is reasonable for platform
- [ ] No encoding artifacts visible
- [ ] Colors look correct
- [ ] Text is readable
- [ ] Animations are smooth
Integration Workflow
- Complete composition via other skills
- Generate render config using this skill → RENDER_CONFIG.md
- Run test render (first few seconds)
- Verify quality and timing
- Run full render
- Upload to target platform
Integration with Other Skills
This skill is the FINAL STEP in the pipeline:
remotion-render-config (this skill)
↓ outputs: RENDER_CONFIG.md
↓ used after: All implementation is complete
↓ produces: Final video file
Works with:
- /remotion-scaffold — Render outputs completed project
- /remotion-composition — Renders structured composition
- /remotion-component-gen — Renders implemented scenes
- /remotion-spec-translator — Orchestrates this as final step
This skill provides production-ready render configurations that ensure high-quality video output optimized for target platforms.
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.