remotion-render

Renderiza videos a partir de código de componentes React/Remotion mediante inference.sh. Pasa código TSX, obtén MP4. Compatible con todas las APIs de Remotion: useCurrentFrame, useVideoConfig, spring, interpolate, AbsoluteFill, Sequence. Resolución, FPS, duración y códec configurables. Úsalo para: generación programática de videos, gráficos animados, motion design, videos basados en datos, animaciones de React a video. Disparadores: remotion, render video from code, tsx to video, react video, programmatic video, remotion render, code to video, animated...

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

Más skills de skills-101

ai-image-generation
skills-101
Genera imágenes de IA con GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve y más de 50 modelos mediante la CLI de 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: text-to-image, image-to-image, inpainting, LoRA, edición de imágenes, upscaling, renderizado de texto. Úsalo para: arte con IA, maquetas de productos, concept art, gráficos para redes sociales, visuales de marketing, ilustraciones. Desencadenantes: flux, image generation, ai image, text to...
ai-avatar-video
skills-101
Crea videos de avatares IA y cabezas parlantes mediante la CLI de inference.sh. Recomendado: P-Video-Avatar (el más rápido, más económico, con TTS integrado). También: OmniHuman, Fabric, PixVerse. Audio: Inworld TTS-2 (más de 100 idiomas, control de emociones para personajes), ElevenLabs, Kokoro. Capacidades: avatares controlados por audio, texto a avatar, videos con sincronización de labios, generación de cabezas parlantes, presentadores virtuales, contenido UGC. Uso para: presentadores IA, videos explicativos, influencers virtuales, doblaje, videos de marketing, anuncios UGC, avatares para juegos,...
agent-browser
skills-101
Automatización de navegador para agentes de IA mediante inference.sh. Navega páginas web, interactúa con elementos usando referencias @e, toma capturas de pantalla, graba video. Capacidades: extracción web, llenado de formularios, clics, escritura, arrastrar y soltar, carga de archivos, ejecución de JavaScript. Úsalo para: automatización web, extracción de datos, pruebas, navegación de agentes, investigación. Disparadores: navegador, automatización web, extraer, navegar, clic, llenar formulario, captura de pantalla, navegar web, playwright, navegador headless, agente web, navegar por internet, grabar video
agent-tools
skills-101
Ejecuta aplicaciones de IA mediante la CLI de inference.sh: generación de imágenes, creación de videos, LLMs, búsqueda, 3D, automatización de Twitter. Modelos: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter y muchos más. Úsalo al ejecutar aplicaciones de IA, generar imágenes/videos, llamar a LLMs, búsqueda web o automatizar Twitter. Disparadores: 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
Ejecuta aplicaciones de IA mediante la CLI de inference.sh: generación de imágenes, creación de videos, LLM, búsqueda, 3D, automatización de Twitter. Modelos: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter y muchos más. Úsalo al ejecutar aplicaciones de IA, generar imágenes/videos, llamar a LLM, buscar en la web o automatizar Twitter. Desencadenantes: inference.sh, infsh, modelo de IA, ejecutar IA, IA sin servidor, API de IA, flux, veo, API de claude, generación de imágenes, generación de videos, openrouter, tavily, búsqueda de exa, API de twitter, grok
landing-page-design
skills-101
Optimización de conversión de landing pages con reglas de diseño, diseño de sección hero y psicología del CTA. Cubre la fórmula del above-the-fold, la colocación de pruebas sociales, el diseño móvil y la lectura en patrón F. Útil para: landing pages de startups, páginas de producto, marketing SaaS, optimización de conversión. Disparadores: landing page, sección hero, above the fold, optimización de conversión, diseño de landing page, botón CTA, imagen hero, layout de landing page, landing page SaaS, diseño de página de producto, tasa de conversión, landing page...
designmarketing
product-photography
skills-101
Fotografía de productos con IA que incluye iluminación de estudio, tomas de estilo de vida y convenciones de packshot. Cubre ángulos, fondos, tipos de sombra, tomas principales y requisitos de imágenes para comercio electrónico. Útil para: fotos de productos, imágenes de comercio electrónico, listados de Amazon, packshots, fotografía de estilo de vida. Activadores: fotografía de productos, foto de producto, packshot, fotografía de comercio electrónico, toma de producto, imagen de producto, fotografía de estudio, producto de estilo de vida, foto de producto de Amazon, imagen de listado de producto, toma principal, mockup de producto,...