remotion-render

Render video dari kode komponen React/Remotion melalui inference.sh. Kirim kode TSX, dapatkan MP4. Mendukung semua API Remotion: useCurrentFrame, useVideoConfig, spring, interpolate, AbsoluteFill, Sequence. Resolusi, FPS, durasi, codec yang dapat dikonfigurasi. Gunakan untuk: pembuatan video programatik, grafis animasi, motion design, video berbasis data, animasi React ke video. Pemicu: remotion, render video dari kode, tsx ke video, react video, video programatik, remotion render, kode ke video, animasi...

npx skills add https://github.com/skills-101/superpowers --skill remotion-render

Install the belt CLI skill: npx skills add belt-sh/cli

Remotion Render

Render videos from React/Remotion component code via inference.sh CLI.

Remotion Render

Quick Start

Requires inference.sh CLI (belt). Install instructions

belt login

# Render a simple animation
belt app run infsh/remotion-render --input '{
  "code": "import { useCurrentFrame, AbsoluteFill } from \"remotion\"; export default function Main() { const frame = useCurrentFrame(); return <AbsoluteFill style={{backgroundColor: \"#000\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\"}}><h1 style={{color: \"white\", fontSize: 100, opacity: frame / 30}}>Hello World</h1></AbsoluteFill>; }",
  "duration_seconds": 3,
  "fps": 30,
  "width": 1920,
  "height": 1080
}'

Input Schema

ParameterTypeRequiredDescription
codestringYesReact component TSX code. Must export default a component.
composition_idstringNoComposition ID to render
propsobjectNoProps passed to the component
widthnumberNoVideo width in pixels
heightnumberNoVideo height in pixels
fpsnumberNoFrames per second
duration_secondsnumberNoVideo duration in seconds
codecstringNoOutput codec

Available Imports

Your TSX code can import from remotion and react:

// Remotion APIs
import {
  useCurrentFrame,
  useVideoConfig,
  spring,
  interpolate,
  AbsoluteFill,
  Sequence,
  Audio,
  Video,
  Img
} from "remotion";

// React
import React, { useState, useEffect } from "react";

Examples

Fade-In Text

belt app run infsh/remotion-render --input '{
  "code": "import { useCurrentFrame, AbsoluteFill, interpolate } from \"remotion\"; export default function Main() { const frame = useCurrentFrame(); const opacity = interpolate(frame, [0, 30], [0, 1]); return <AbsoluteFill style={{backgroundColor: \"#1a1a2e\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\"}}><h1 style={{color: \"#eee\", fontSize: 80, opacity}}>Welcome</h1></AbsoluteFill>; }",
  "duration_seconds": 2,
  "fps": 30,
  "width": 1920,
  "height": 1080
}'

Animated Counter

belt app run infsh/remotion-render --input '{
  "code": "import { useCurrentFrame, useVideoConfig, AbsoluteFill } from \"remotion\"; export default function Main() { const frame = useCurrentFrame(); const { fps, durationInFrames } = useVideoConfig(); const progress = Math.floor((frame / durationInFrames) * 100); return <AbsoluteFill style={{backgroundColor: \"#000\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\", flexDirection: \"column\"}}><h1 style={{color: \"#fff\", fontSize: 200}}>{progress}%</h1><p style={{color: \"#666\", fontSize: 30}}>Loading...</p></AbsoluteFill>; }",
  "duration_seconds": 5,
  "fps": 60,
  "width": 1080,
  "height": 1080
}'

Spring Animation

belt app run infsh/remotion-render --input '{
  "code": "import { useCurrentFrame, useVideoConfig, spring, AbsoluteFill } from \"remotion\"; export default function Main() { const frame = useCurrentFrame(); const { fps } = useVideoConfig(); const scale = spring({ frame, fps, config: { damping: 10, stiffness: 100 } }); return <AbsoluteFill style={{backgroundColor: \"#6366f1\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\"}}><div style={{width: 200, height: 200, backgroundColor: \"white\", borderRadius: 20, transform: `scale(${scale})`}} /></AbsoluteFill>; }",
  "duration_seconds": 2,
  "fps": 60,
  "width": 1080,
  "height": 1080
}'

With Props

belt app run infsh/remotion-render --input '{
  "code": "import { AbsoluteFill } from \"remotion\"; export default function Main({ title, subtitle }) { return <AbsoluteFill style={{backgroundColor: \"#000\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\", flexDirection: \"column\"}}><h1 style={{color: \"#fff\", fontSize: 80}}>{title}</h1><p style={{color: \"#888\", fontSize: 40}}>{subtitle}</p></AbsoluteFill>; }",
  "props": {"title": "My Video", "subtitle": "Created with Remotion"},
  "duration_seconds": 3,
  "fps": 30,
  "width": 1920,
  "height": 1080
}'

Sequence Animation

belt app run infsh/remotion-render --input '{
  "code": "import { useCurrentFrame, AbsoluteFill, Sequence, interpolate } from \"remotion\"; function FadeIn({ children }) { const frame = useCurrentFrame(); const opacity = interpolate(frame, [0, 20], [0, 1]); return <div style={{ opacity }}>{children}</div>; } export default function Main() { return <AbsoluteFill style={{backgroundColor: \"#000\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\", flexDirection: \"column\", gap: 20}}><Sequence from={0}><FadeIn><h1 style={{color: \"#fff\", fontSize: 60}}>First</h1></FadeIn></Sequence><Sequence from={30}><FadeIn><h1 style={{color: \"#fff\", fontSize: 60}}>Second</h1></FadeIn></Sequence><Sequence from={60}><FadeIn><h1 style={{color: \"#fff\", fontSize: 60}}>Third</h1></FadeIn></Sequence></AbsoluteFill>; }",
  "duration_seconds": 4,
  "fps": 30,
  "width": 1920,
  "height": 1080
}'

Python SDK

from inferencesh import inference

client = inference()

result = client.run({
    "app": "infsh/remotion-render",
    "input": {
        "code": """
import { useCurrentFrame, AbsoluteFill, interpolate } from "remotion";

export default function Main() {
  const frame = useCurrentFrame();
  const opacity = interpolate(frame, [0, 30], [0, 1]);

  return (
    <AbsoluteFill style={{
      backgroundColor: "#1a1a2e",
      display: "flex",
      justifyContent: "center",
      alignItems: "center"
    }}>
      <h1 style={{ color: "#eee", fontSize: 80, opacity }}>
        Hello from Python
      </h1>
    </AbsoluteFill>
  );
}
""",
        "duration_seconds": 3,
        "fps": 30,
        "width": 1920,
        "height": 1080
    }
})

print(result["output"]["video"])

Streaming Progress

for update in client.run({
    "app": "infsh/remotion-render",
    "input": {
        "code": "...",
        "duration_seconds": 10
    }
}, stream=True):
    if update.get("progress"):
        print(f"Rendering: {update['progress']}%")
    if update.get("output"):
        print(f"Video: {update['output']['video']}")

Related Skills

# Remotion best practices (component patterns)
npx skills add remotion-dev/skills@remotion-best-practices

# AI video generation (for AI-generated clips)
npx skills add inference-sh/skills@ai-video-generation

# Image generation (for video assets)
npx skills add inference-sh/skills@ai-image-generation

# Python SDK reference
npx skills add inference-sh/skills@python-sdk

# Full platform skill
npx skills add inference-sh/skills@infsh-cli

Documentation

Lebih banyak skill dari skills-101

ai-image-generation
skills-101
Hasilkan gambar AI dengan GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve, dan 50+ model melalui CLI inference.sh. Model: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Kemampuan: text-to-image, image-to-image, inpainting, LoRA, pengeditan gambar, upscaling, rendering teks. Gunakan untuk: seni AI, mockup produk, seni konsep, grafik media sosial, visual pemasaran, ilustrasi. Pemicu: flux, pembuatan gambar, ai image, text to...
ai-avatar-video
skills-101
Buat video avatar AI dan talking head melalui CLI inference.sh. Rekomendasi: P-Video-Avatar (tercepat, termurah, TTS bawaan). Juga: OmniHuman, Fabric, PixVerse. Audio: Inworld TTS-2 (100+ bahasa, pengaturan emosi untuk karakter), ElevenLabs, Kokoro. Kemampuan: avatar berbasis audio, text-to-avatar, video lipsync, pembuatan talking head, presenter virtual, konten UGC. Gunakan untuk: presenter AI, video penjelas, influencer virtual, sulih suara, video pemasaran, iklan UGC, avatar game,...
agent-browser
skills-101
Otomatisasi browser untuk agen AI melalui inference.sh. Navigasi halaman web, interaksi dengan elemen menggunakan referensi @e, ambil tangkapan layar, rekam video. Kemampuan: pengikisan web, pengisian formulir, klik, mengetik, seret-dan-lepas, unggah berkas, eksekusi JavaScript. Gunakan untuk: otomatisasi web, ekstraksi data, pengujian, penjelajahan agen, riset. Pemicu: browser, otomatisasi web, kikis, navigasi, klik, isi formulir, tangkapan layar, jelajahi web, playwright, browser tanpa kepala, agen web, jelajahi internet, rekam video
agent-tools
skills-101
Jalankan aplikasi AI melalui CLI inference.sh - pembuatan gambar, pembuatan video, LLM, pencarian, 3D, otomatisasi Twitter. Model: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter, dan masih banyak lagi. Gunakan saat menjalankan aplikasi AI, membuat gambar/video, memanggil LLM, pencarian web, atau mengotomatisasi Twitter. Pemicu: inference.sh, infsh, ai model, run ai, serverless ai, ai api, flux, veo, claude api, image generation, video generation, openrouter, tavily, exa search, twitter api, grok
python-executor
skills-101
Execute Python code in a safe sandboxed environment via [inference.sh](https://inference.sh). Pre-installed: NumPy, Pandas, Matplotlib, requests, BeautifulSoup, Selenium, Playwright, MoviePy, Pillow, OpenCV, trimesh, and 100+ more libraries. Use for: data processing, web scraping, image manipulation, video creation, 3D model processing, PDF generation, API calls, automation scripts. Triggers: python, execute code, run script, web scraping, data analysis, image processing, video editing, 3D...
infsh-cli
skills-101
Jalankan aplikasi AI melalui CLI inference.sh - pembuatan gambar, pembuatan video, LLM, pencarian, 3D, otomatisasi Twitter. Model: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter, dan masih banyak lagi. Gunakan saat menjalankan aplikasi AI, membuat gambar/video, memanggil LLM, pencarian web, atau mengotomatisasi Twitter. Pemicu: inference.sh, infsh, ai model, run ai, serverless ai, ai api, flux, veo, claude api, image generation, video generation, openrouter, tavily, exa search, twitter api, grok
landing-page-design
skills-101
Optimasi konversi landing page dengan aturan tata letak, desain bagian hero, dan psikologi CTA. Mencakup formula above-the-fold, penempatan social proof, desain mobile, dan pola membaca F. Gunakan untuk: landing page startup, halaman produk, pemasaran SaaS, optimasi konversi. Pemicu: landing page, bagian hero, above the fold, optimasi konversi, desain landing page, tombol cta, gambar hero, tata letak landing page, landing page saas, desain halaman produk, tingkat konversi, landing page...
designmarketing
product-photography
skills-101
Fotografi produk AI dengan pencahayaan studio, foto gaya hidup, dan konvensi packshot. Mencakup sudut, latar belakang, jenis bayangan, hero shot, dan persyaratan gambar e-commerce. Gunakan untuk: foto produk, gambar e-commerce, listing Amazon, packshot, fotografi gaya hidup. Pemicu: fotografi produk, foto produk, packshot, fotografi e-commerce, bidikan produk, gambar produk, fotografi studio, produk gaya hidup, foto produk amazon, gambar listing produk, hero shot, mockup produk,...