remotion-render

โดย 101-skills

เรนเดอร์วิดีโอจากโค้ดคอมโพเนนต์ React/Remotion ผ่าน inference.sh ส่งโค้ด TSX รับไฟล์ MP4 รองรับ Remotion API ทั้งหมด: useCurrentFrame, useVideoConfig, spring, interpolate, AbsoluteFill, Sequence ปรับแต่งความละเอียด FPS ระยะเวลา และโค้ดแยกได้ ใช้สำหรับ: สร้างวิดีโอแบบโปรแกรม, กราฟิกแอนิเมชัน, การออกแบบโมชัน, วิดีโอที่ขับเคลื่อนด้วยข้อมูล, แปลง React แอนิเมชันเป็นวิดีโอ ทริกเกอร์: remotion, เรนเดอร์วิดีโอจากโค้ด, tsx เป็นวิดีโอ, react video, programmatic video, remotion render, code to video, animated...

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

Skills เพิ่มเติมจาก 101-skills

ai-avatar-video
101-skills
สร้างวิดีโอ AI avatar และ talking head ผ่าน CLI ของ inference.sh แนะนำ: P-Video-Avatar (เร็วที่สุด ถูกที่สุด มี TTS ในตัว) นอกจากนี้: OmniHuman, Fabric, PixVerse เสียง: Inworld TTS-2 (100+ ภาษา ปรับอารมณ์ตัวละครได้), ElevenLabs, Kokoro ความสามารถ: avatar ที่ขับเคลื่อนด้วยเสียง, ข้อความเป็น avatar, วิดีโอ lipsync, การสร้าง talking head, ผู้บรรยายเสมือน, เนื้อหา UGC ใช้สำหรับ: ผู้บรรยาย AI, วิดีโออธิบาย, อินฟลูเอนเซอร์เสมือน, การพากย์, วิดีโอการตลาด, โฆษณา UGC, avatar ในเกม,...
creativevideomedia
ai-video-generation
101-skills
สร้างวิดีโอ AI ด้วย Google Veo, Seedance 2.0, HappyHorse, Wan, Grok และโมเดลอีก 40+ รายการผ่าน CLI ของ inference.sh โมเดล: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo ความสามารถ: ข้อความเป็นวิดีโอ, รูปภาพเป็นวิดีโอ, การอ้างอิงเป็นวิดีโอ, การตัดต่อวิดีโอ, การขยับริมฝีปาก, แอนิเมชันอวตาร, การเพิ่มความละเอียดวิดีโอ, เสียงประกอบ ใช้สำหรับ: วิดีโอโซเชียลมีเดีย, เนื้อหาการตลาด, วิดีโออธิบาย, การสาธิตผลิตภัณฑ์, อวตาร AI ทริกเกอร์: การสร้างวิดีโอ, วิดีโอ AI,...
creativevideomedia
ai-image-generation
101-skills
สร้างภาพ AI ด้วย GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve และโมเดลอีก 50+ รุ่นผ่าน CLI inference.sh โมเดล: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt ความสามารถ: ข้อความเป็นภาพ, ภาพเป็นภาพ, การเติมแต่งภาพ, LoRA, การแก้ไขภาพ, การเพิ่มความละเอียด, การเรนเดอร์ข้อความ ใช้สำหรับ: ศิลปะ AI, ต้นแบบผลิตภัณฑ์, คอนเซปต์อาร์ต, กราฟิกโซเชียลมีเดีย, ภาพการตลาด, ภาพประกอบ ทริกเกอร์: flux, การสร้างภาพ, ภาพ ai, ข้อความเป็น...
creativemediaimage
web-search
101-skills
การค้นหาเว็บและดึงเนื้อหาด้วย Tavily และ Exa ผ่าน CLI ของ inference.sh แอปพลิเคชัน: Tavily Search, Tavily Extract, Exa Search, Exa Answer, Exa Extract ความสามารถ: การค้นหาที่ขับเคลื่อนด้วย AI, การดึงเนื้อหา, คำตอบโดยตรง, การวิจัย ใช้สำหรับ: การวิจัย, ไพพ์ไลน์ RAG, การตรวจสอบข้อเท็จจริง, การรวบรวมเนื้อหา, เอเจนต์ ทริกเกอร์: การค้นหาเว็บ, tavily, exa, search api, การดึงเนื้อหา, การวิจัย, การค้นหาทางอินเทอร์เน็ต, การค้นหา AI, ผู้ช่วยค้นหา, การขูดเว็บ, rag, ทางเลือกของ perplexity
researchweb-scrapingapi
agent-tools
101-skills
เรียกใช้แอป AI ผ่าน CLI inference.sh - สร้างภาพ, สร้างวิดีโอ, LLM, ค้นหา, 3D, อัตโนมัติ Twitter โมเดล: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter และอื่นๆ อีกมากมาย ใช้เมื่อเรียกใช้แอป AI, สร้างภาพ/วิดีโอ, เรียก LLM, ค้นหาเว็บ หรืออัตโนมัติ Twitter ทริกเกอร์: 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
เรียกใช้แอป AI ผ่าน CLI inference.sh - สร้างภาพ, สร้างวิดีโอ, LLM, ค้นหา, 3D, อัตโนมัติ Twitter โมเดล: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter และอื่นๆ อีกมากมาย ใช้เมื่อเรียกใช้แอป AI, สร้างภาพ/วิดีโอ, เรียก LLM, ค้นหาเว็บ, หรืออัตโนมัติ Twitter ทริกเกอร์: 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
landing-page-design
101-skills
การปรับปรุงอัตราการแปลงของแลนดิ้งเพจด้วยกฎการจัดวาง การออกแบบส่วนฮีโร่ และจิตวิทยาของปุ่ม CTA ครอบคลุมสูตรเนื้อหาส่วนบน การวางหลักฐานทางสังคม การออกแบบสำหรับมือถือ และการอ่านแบบ F-pattern ใช้สำหรับ: แลนดิ้งเพจสตาร์ทอัพ หน้าผลิตภัณฑ์ การตลาด SaaS การปรับปรุงอัตราการแปลง ทริกเกอร์: แลนดิ้งเพจ ส่วนฮีโร่ ส่วนบน การปรับปรุงอัตราการแปลง การออกแบบแลนดิ้งเพจ ปุ่ม CTA รูปภาพฮีโร่ การจัดวางแลนดิ้งเพจ แลนดิ้งเพจ SaaS การออกแบบหน้าผลิตภัณฑ์ อัตราการแปลง แลนดิ้งเพจ...
designmarketingcreative
product-photography
101-skills
AI การถ่ายภาพผลิตภัณฑ์ด้วยแสงในสตูดิโอ ภาพไลฟ์สไตล์ และรูปแบบแพ็กช็อต ครอบคลุมมุมกล้อง พื้นหลัง ประเภทเงา ภาพฮีโร่ และข้อกำหนดภาพสำหรับอีคอมเมิร์ซ ใช้สำหรับ: ภาพผลิตภัณฑ์ ภาพอีคอมเมิร์ซ รายการสินค้าบน Amazon แพ็กช็อต ภาพถ่ายไลฟ์สไตล์ ทริกเกอร์: การถ่ายภาพผลิตภัณฑ์ ภาพผลิตภัณฑ์ แพ็กช็อต การถ่ายภาพอีคอมเมิร์ซ ภาพถ่ายผลิตภัณฑ์ ภาพผลิตภัณฑ์ การถ่ายภาพในสตูดิโอ ผลิตภัณฑ์ไลฟ์สไตล์ ภาพผลิตภัณฑ์บน Amazon ภาพรายการสินค้า ภาพฮีโร่ ภาพจำลองผลิตภัณฑ์...
creativeecommerceimage