remotion-render

Renderize vídeos a partir de código de componentes React/Remotion via inference.sh. Envie código TSX, receba MP4. Suporta todas as APIs do Remotion: useCurrentFrame, useVideoConfig, spring, interpolate, AbsoluteFill, Sequence. Resolução, FPS, duração e codec configuráveis. Use para: geração programática de vídeos, gráficos animados, motion design, vídeos orientados a dados, animações React para vídeo. Gatilhos: remotion, renderizar vídeo a partir de código, tsx para vídeo, vídeo react, vídeo programático, render remotion, código para vídeo, animado...

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

Mais skills de skills-101

ai-image-generation
skills-101
Gere imagens de IA com GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve e mais de 50 modelos via CLI do inference.sh. Modelos: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Recursos: texto para imagem, imagem para imagem, inpainting, LoRA, edição de imagem, upscaling, renderização de texto. Use para: arte de IA, mockups de produtos, concept art, gráficos para redes sociais, visuais de marketing, ilustrações. Gatilhos: flux, geração de imagem, imagem de IA, texto para...
ai-avatar-video
skills-101
Crie vídeos de avatar IA e talking head via CLI do inference.sh. Recomendado: P-Video-Avatar (mais rápido, mais barato, TTS integrado). Também: OmniHuman, Fabric, PixVerse. Áudio: Inworld TTS-2 (mais de 100 idiomas, controle de emoção para personagens), ElevenLabs, Kokoro. Recursos: avatares dirigidos por áudio, texto-para-avatar, vídeos de sincronização labial, geração de talking head, apresentadores virtuais, conteúdo UGC. Use para: apresentadores de IA, vídeos explicativos, influenciadores virtuais, dublagem, vídeos de marketing, anúncios UGC, avatares de jogos,...
agent-browser
skills-101
Automação de navegador para agentes de IA via inference.sh. Navegue em páginas web, interaja com elementos usando referências @e, tire screenshots, grave vídeo. Capacidades: raspagem web, preenchimento de formulários, cliques, digitação, arrastar e soltar, upload de arquivos, execução de JavaScript. Use para: automação web, extração de dados, testes, navegação por agente, pesquisa. Gatilhos: navegador, automação web, raspar, navegar, clicar, preencher formulário, screenshot, navegar na web, playwright, navegador headless, agente web, navegar na internet, gravar vídeo
agent-tools
skills-101
Execute aplicativos de IA via CLI do inference.sh - geração de imagens, criação de vídeos, LLMs, busca, 3D, automação do Twitter. Modelos: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter e muitos outros. Use ao executar aplicativos de IA, gerar imagens/vídeos, chamar LLMs, buscar na web ou automatizar o Twitter. Gatilhos: 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
Execute aplicativos de IA via CLI do inference.sh - geração de imagens, criação de vídeos, LLMs, busca, 3D, automação do Twitter. Modelos: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter e muitos outros. Use ao executar aplicativos de IA, gerar imagens/vídeos, chamar LLMs, buscar na web ou automatizar o Twitter. Gatilhos: inference.sh, infsh, modelo de IA, executar IA, IA serverless, API de IA, flux, veo, api do claude, geração de imagens, geração de vídeos, openrouter, tavily, busca exa, api do twitter, grok
landing-page-design
skills-101
Otimização de conversão de landing pages com regras de layout, design de hero section e psicologia de CTA. Aborda a fórmula de above-the-fold, posicionamento de prova social, design mobile e leitura em padrão F. Use para: landing pages de startups, páginas de produto, marketing SaaS, otimização de conversão. Gatilhos: landing page, hero section, above the fold, otimização de conversão, design de landing page, botão de CTA, imagem de hero, layout de landing page, landing page SaaS, design de página de produto, taxa de conversão, landing page...
designmarketing
product-photography
skills-101
Fotografia de produto com IA, incluindo iluminação de estúdio, fotos de estilo de vida e convenções de packshot. Abrange ângulos, fundos, tipos de sombra, hero shots e requisitos de imagem para e-commerce. Use para: fotos de produto, imagens de e-commerce, listagens na Amazon, packshots, fotografia de estilo de vida. Gatilhos: fotografia de produto, foto de produto, packshot, fotografia de e-commerce, foto de produto, imagem de produto, fotografia de estúdio, produto de estilo de vida, foto de produto Amazon, imagem de listagem de produto, hero shot, mockup de produto,...