remotion-render

Renderiza videos desde código de componentes React/Remotion a través de inference.sh. Envía código TSX, obtén MP4. Soporta todas las APIs de Remotion: useCurrentFrame, useVideoConfig, spring, interpolate, AbsoluteFill, Sequence. Resolución, FPS, duración y códec configurables. Útil para: generación programática de videos, gráficos animados, diseño en movimiento, videos basados en datos, animaciones de React a video. Disparadores: remotion, renderizar video desde código, tsx a video, react video, video programático, remotion render, código a video, 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

Más skills de 101-skills

ai-avatar-video
101-skills
Crea videos de avatar AI y videos de cabeza parlante a través de la CLI de inference.sh. Recomendado: P-Video-Avatar (el más rápido, más barato, 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 impulsados por audio, texto a avatar, videos de sincronización de labios, generación de cabeza parlante, presentadores virtuales, contenido UGC. Usar para: presentadores AI, videos explicativos, influencers virtuales, doblaje, videos de marketing, anuncios UGC, avatares de juegos,...
creativevideomedia
ai-video-generation
101-skills
Genera videos de IA con Google Veo, Seedance 2.0, HappyHorse, Wan, Grok y más de 40 modelos a través de la CLI de 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 a video, imagen a video, referencia a video, edición de video, sincronización de labios, animación de avatares, mejora de resolución de video, sonido foley. Uso para: videos para redes sociales, contenido de marketing, videos explicativos, demostraciones de productos, avatares de IA. Disparadores: generación de video, video de IA,...
creativevideomedia
ai-image-generation
101-skills
Genera imágenes de IA con GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve y más de 50 modelos a través de 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: texto a imagen, imagen a imagen, inpainting, LoRA, edición de imágenes, escalado, renderizado de texto. Usos: arte de IA, maquetas de productos, arte conceptual, gráficos para redes sociales, imágenes de marketing, ilustraciones. Disparadores: flux, generación de imágenes, imagen de IA, texto a...
creativemediaimage
web-search
101-skills
Búsqueda web y extracción de contenido con Tavily y Exa a través de la CLI de inference.sh. Aplicaciones: Tavily Search, Tavily Extract, Exa Search, Exa Answer, Exa Extract. Capacidades: búsqueda impulsada por IA, extracción de contenido, respuestas directas, investigación. Uso para: investigación, pipelines RAG, verificación de datos, agregación de contenido, agentes. Disparadores: búsqueda web, tavily, exa, api de búsqueda, extracción de contenido, investigación, búsqueda en internet, búsqueda IA, asistente de búsqueda, web scraping, rag, alternativa a Perplexity
researchweb-scrapingapi
agent-tools
101-skills
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, buscar en la 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
infsh-cli
101-skills
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, buscar en la web o automatizar Twitter. Disparadores: 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 exa, api de twitter, grok
landing-page-design
101-skills
Optimización de conversión de páginas de aterrizaje con reglas de diseño, diseño de sección hero y psicología de CTA. Cubre la fórmula above-the-fold, colocación de prueba social, diseño móvil y patrón de lectura en F. Útil para: páginas de aterrizaje de startups, páginas de producto, marketing SaaS, optimización de conversión. Disparadores: landing page, hero section, above the fold, conversion optimization, landing page design, cta button, hero image, landing page layout, saas landing page, product page design, conversion rate, landing page...
designmarketingcreative
product-photography
101-skills
Fotografía de productos con IA que incluye iluminación de estudio, tomas de estilo de vida y convenciones de packshot. Abarca á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. Disparadores: fotografía de producto, 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, maqueta de producto,...
creativeecommerceimage