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, design de movimento, 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, react video, vídeo programático, remotion render, código para vídeo, animado...

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

Mais skills de 101-skills

ai-avatar-video
101-skills
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. Capacidades: avatares guiados por áudio, texto para avatar, vídeos com sincronia labial, geração de talking head, apresentadores virtuais, conteúdo UGC. Use para: apresentadores IA, vídeos explicativos, influenciadores virtuais, dublagem, vídeos de marketing, anúncios UGC, avatares para jogos,...
creativevideomedia
ai-video-generation
101-skills
Gere vídeos de IA com Google Veo, Seedance 2.0, HappyHorse, Wan, Grok e mais de 40 modelos via CLI do inference.sh. Modelos: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capacidades: texto para vídeo, imagem para vídeo, referência para vídeo, edição de vídeo, sincronização labial, animação de avatar, upscaling de vídeo, som foley. Use para: vídeos para redes sociais, conteúdo de marketing, vídeos explicativos, demonstrações de produtos, avatares de IA. Gatilhos: geração de vídeo, vídeo de IA,...
creativevideomedia
ai-image-generation
101-skills
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. Capacidades: 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, arte conceitual, gráficos para redes sociais, visuais de marketing, ilustrações. Gatilhos: flux, geração de imagem, imagem de IA, texto para...
creativemediaimage
web-search
101-skills
Pesquisa na web e extração de conteúdo com Tavily e Exa via CLI inference.sh. Apps: Tavily Search, Tavily Extract, Exa Search, Exa Answer, Exa Extract. Capacidades: pesquisa com IA, extração de conteúdo, respostas diretas, pesquisa. Uso para: pesquisa, pipelines RAG, verificação de fatos, agregação de conteúdo, agentes. Gatilhos: pesquisa na web, tavily, exa, api de pesquisa, extração de conteúdo, pesquisa, busca na internet, pesquisa com IA, assistente de pesquisa, raspagem web, rag, alternativa ao perplexity
researchweb-scrapingapi
agent-tools
101-skills
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 mais. Use ao executar aplicativos de IA, gerar imagens/vídeos, chamar LLMs, busca 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
infsh-cli
101-skills
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 mais. 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 Claude, geração de imagem, geração de vídeo, openrouter, tavily, busca exa, API do Twitter, grok
landing-page-design
101-skills
Otimização de conversão de landing pages com regras de layout, design de seção hero e psicologia de CTA. Abrange fórmula acima da dobra, posicionamento de prova social, design mobile e padrão de leitura em F. Use para: landing pages de startups, páginas de produto, marketing SaaS, otimização de conversão. Gatilhos: landing page, seção hero, acima da dobra, otimização de conversão, design de landing page, botão cta, imagem hero, layout de landing page, landing page saas, design de página de produto, taxa de conversão, landing page...
designmarketingcreative
product-photography
101-skills
Fotografia de produto com IA com 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 da 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,...
creativeecommerceimage