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 dapat dikonfigurasi. Gunakan untuk: pembuatan video secara programatis, grafik animasi, desain gerak, video berbasis data, animasi React ke video. Pemicu: remotion, render video dari kode, tsx ke video, react video, video programatis, render remotion, kode ke video, animasi...

npx skills add https://github.com/101-skills/skills --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 101-skills

ai-avatar-video
101-skills
Buat video AI avatar 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, teks-ke-avatar, video lipsync, generasi talking head, presenter virtual, konten UGC. Gunakan untuk: presenter AI, video penjelasan, influencer virtual, dubbing, video pemasaran, iklan UGC, avatar game,...
creativevideomedia
ai-video-generation
101-skills
Hasilkan video AI dengan Google Veo, Seedance 2.0, HappyHorse, Wan, Grok dan 40+ model melalui CLI inference.sh. Model: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Kemampuan: teks-ke-video, gambar-ke-video, referensi-ke-video, pengeditan video, lipsync, animasi avatar, peningkatan resolusi video, suara foley. Gunakan untuk: video media sosial, konten pemasaran, video penjelasan, demo produk, avatar AI. Pemicu: pembuatan video, video AI,...
creativevideomedia
ai-image-generation
101-skills
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: teks-ke-gambar, gambar-ke-gambar, 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, gambar ai, teks ke...
creativemediaimage
web-search
101-skills
Pencarian web dan ekstraksi konten dengan Tavily dan Exa melalui CLI inference.sh. Aplikasi: Tavily Search, Tavily Extract, Exa Search, Exa Answer, Exa Extract. Kemampuan: pencarian bertenaga AI, ekstraksi konten, jawaban langsung, riset. Gunakan untuk: riset, pipeline RAG, verifikasi fakta, agregasi konten, agen. Pemicu: pencarian web, tavily, exa, search api, ekstraksi konten, riset, pencarian internet, pencarian AI, asisten pencarian, web scraping, rag, alternatif perplexity
researchweb-scrapingapi
agent-tools
101-skills
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, model ai, jalankan ai, serverless ai, ai api, flux, veo, claude api, pembuatan gambar, pembuatan video, openrouter, tavily, pencarian exa, twitter api, grok
infsh-cli
101-skills
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, model ai, jalankan ai, serverless ai, ai api, flux, veo, claude api, pembuatan gambar, pembuatan video, openrouter, tavily, exa search, twitter api, grok
landing-page-design
101-skills
Optimasi konversi halaman arahan dengan aturan tata letak, desain bagian hero, dan psikologi CTA. Mencakup formula di atas lipatan, penempatan bukti sosial, desain seluler, dan pola membaca F. Gunakan untuk: halaman arahan startup, halaman produk, pemasaran SaaS, optimasi konversi. Pemicu: halaman arahan, bagian hero, di atas lipatan, optimasi konversi, desain halaman arahan, tombol CTA, gambar hero, tata letak halaman arahan, halaman arahan SaaS, desain halaman produk, rasio konversi, halaman arahan...
designmarketingcreative
product-photography
101-skills
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, daftar 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 daftar produk, hero shot, mockup produk,...
creativeecommerceimage