guides/content/ai-content-pipeline/SKILL.md
Build multi-step AI content creation pipelines combining image, video, audio, and text. Workflow examples: generate image -> animate -> add voiceover -> merge with music. Tools: FLUX, Veo, Kokoro TTS, OmniHuman, media merger, upscaling. Use for: YouTube videos, social media content, marketing materials, automated content. Triggers: content pipeline, ai workflow, content creation, multi-step ai, content automation, ai video workflow, generate and edit, ai content factory, automated content creation, ai production pipeline, media pipeline, content at scale
npx skillsauth add inference-sh/agent-skills ai-content-pipelineInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Build multi-step content creation pipelines via inference.sh CLI.

Requires inference.sh CLI (
belt). Install instructions
belt login
# Simple pipeline: Generate image -> Animate to video
belt app run falai/flux-dev --input '{"prompt": "portrait of a woman smiling"}' > image.json
belt app run falai/wan-2-5 --input '{"image_url": "<url-from-previous>"}'
[FLUX Image] -> [Wan 2.5 Video] -> [Foley Sound]
[LLM Script] -> [Kokoro TTS] -> [OmniHuman Avatar]
[Tavily Search] -> [Claude Summary] -> [FLUX Visual] -> [Twitter Post]
Create a complete short-form video from a topic.
# 1. Generate script with Claude
belt app run openrouter/claude-sonnet-45 --input '{
"prompt": "Write a 30-second script about the future of AI. Make it engaging and conversational. Just the script, no stage directions."
}' > script.json
# 2. Generate voiceover with Kokoro
belt app run infsh/kokoro-tts --input '{
"prompt": "<script-text>",
"voice": "af_sarah"
}' > voice.json
# 3. Generate background image with FLUX
belt app run falai/flux-dev --input '{
"prompt": "Futuristic city skyline at sunset, cyberpunk aesthetic, 4K wallpaper"
}' > background.json
# 4. Animate image to video with Wan
belt app run falai/wan-2-5 --input '{
"image_url": "<background-url>",
"prompt": "slow camera pan across cityscape, subtle movement"
}' > video.json
# 5. Add captions (manually or with another tool)
# 6. Merge video with audio
belt app run infsh/media-merger --input '{
"video_url": "<video-url>",
"audio_url": "<voice-url>"
}'
Create an AI avatar presenting content.
# 1. Write the script
belt app run openrouter/claude-sonnet-45 --input '{
"prompt": "Write a 1-minute explainer script about quantum computing for beginners."
}' > script.json
# 2. Generate speech
belt app run infsh/kokoro-tts --input '{
"prompt": "<script>",
"voice": "am_michael"
}' > speech.json
# 3. Generate or use a portrait image
belt app run falai/flux-dev --input '{
"prompt": "Professional headshot of a friendly tech presenter, neutral background, looking at camera"
}' > portrait.json
# 4. Create talking head video
belt app run bytedance/omnihuman-1-5 --input '{
"image_url": "<portrait-url>",
"audio_url": "<speech-url>"
}' > talking_head.json
Create a product showcase video.
# 1. Generate product image
belt app run falai/flux-dev --input '{
"prompt": "Sleek wireless earbuds on white surface, studio lighting, product photography"
}' > product.json
# 2. Animate product reveal
belt app run falai/wan-2-5 --input '{
"image_url": "<product-url>",
"prompt": "slow 360 rotation, smooth motion"
}' > product_video.json
# 3. Upscale video quality
belt app run falai/topaz-video-upscaler --input '{
"video_url": "<product-video-url>"
}' > upscaled.json
# 4. Add background music
belt app run infsh/media-merger --input '{
"video_url": "<upscaled-url>",
"audio_url": "https://your-music.mp3",
"audio_volume": 0.3
}'
Convert written content to video format.
# 1. Summarize blog post
belt app run openrouter/claude-haiku-45 --input '{
"prompt": "Summarize this blog post into 5 key points for a video script: <blog-content>"
}' > summary.json
# 2. Generate images for each point
for i in 1 2 3 4 5; do
belt app run falai/flux-dev --input "{
\"prompt\": \"Visual representing point $i: <point-text>\"
}" > "image_$i.json"
done
# 3. Animate each image
for i in 1 2 3 4 5; do
belt app run falai/wan-2-5 --input "{
\"image_url\": \"<image-$i-url>\"
}" > "video_$i.json"
done
# 4. Generate voiceover
belt app run infsh/kokoro-tts --input '{
"prompt": "<full-script>",
"voice": "bf_emma"
}' > narration.json
# 5. Merge all clips
belt app run infsh/media-merger --input '{
"videos": ["<video1>", "<video2>", "<video3>", "<video4>", "<video5>"],
"audio_url": "<narration-url>",
"transition": "crossfade"
}'
| Step | App | Purpose |
|------|-----|---------|
| Script | openrouter/claude-sonnet-45 | Write content |
| Research | tavily/search-assistant | Gather information |
| Summary | openrouter/claude-haiku-45 | Condense content |
| Step | App | Purpose |
|------|-----|---------|
| Image | falai/flux-dev | Generate images |
| Image | google/imagen-3 | Alternative image gen |
| Upscale | falai/topaz-image-upscaler | Enhance quality |
| Step | App | Purpose |
|------|-----|---------|
| I2V | falai/wan-2-5 | Animate images |
| T2V | google/veo-3-1-fast | Generate from text |
| Avatar | bytedance/omnihuman-1-5 | Talking heads |
| Step | App | Purpose |
|------|-----|---------|
| TTS | infsh/kokoro-tts | Voice narration |
| Music | infsh/ai-music | Background music |
| Foley | infsh/hunyuanvideo-foley | Sound effects |
| Step | App | Purpose |
|------|-----|---------|
| Upscale | falai/topaz-video-upscaler | Enhance video |
| Merge | infsh/media-merger | Combine media |
| Caption | infsh/caption-video | Add subtitles |
# Video generation models
npx skills add inference-sh/skills@ai-video-generation
# Image generation
npx skills add inference-sh/skills@ai-image-generation
# Text-to-speech
npx skills add inference-sh/skills@text-to-speech
# LLM models for scripts
npx skills add inference-sh/skills@llm-models
# Full platform skill
npx skills add inference-sh/skills@infsh-cli
Browse all apps: belt app list
development
Render videos from React/Remotion component code via inference.sh. Pass TSX code, get MP4. Supports all Remotion APIs: useCurrentFrame, useVideoConfig, spring, interpolate, AbsoluteFill, Sequence. Configurable resolution, FPS, duration, codec. Use for: programmatic video generation, animated graphics, motion design, data-driven videos, React animations to video. Triggers: remotion, render video from code, tsx to video, react video, programmatic video, remotion render, code to video, animated video, motion graphics code, react animation video
tools
Generate videos with Pruna P-Video and WAN models via inference.sh CLI. Models: P-Video, WAN-T2V, WAN-I2V. Capabilities: text-to-video, image-to-video, audio support, 720p/1080p, fast inference. Pruna optimizes models for speed without quality loss. Triggers: pruna video, p-video, pruna ai video, fast video generation, optimized video, wan t2v, wan i2v, economic video generation, cheap video generation, pruna text to video, pruna image to video
documentation
Still-to-video conversion guide: model selection, motion prompting, and camera movement. Covers Wan 2.5 i2v, Seedance, Fabric, Grok Video with when to use each. Use for: animating images, creating video from stills, adding motion, product animations. Triggers: image to video, i2v, animate image, still to video, add motion to image, image animation, photo to video, animate still, wan i2v, image2video, bring image to life, animate photo, motion from image
tools
Generate videos with Google Veo models via inference.sh CLI. Models: Veo 3.1, Veo 3.1 Fast, Veo 3, Veo 3 Fast, Veo 2. Capabilities: text-to-video, cinematic output, high quality video generation. Triggers: veo, google veo, veo 3, veo 2, veo 3.1, vertex ai video, google video generation, google video ai, veo model, veo video