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-registry 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
Declarative UI widgets from JSON for React/Next.js from ui.inference.sh. Render rich interactive UIs from structured agent responses. Capabilities: forms, buttons, cards, layouts, inputs, selects, checkboxes. Use for: agent-generated UIs, dynamic forms, data display, interactive cards. Triggers: widgets, declarative ui, json ui, widget renderer, agent widgets, dynamic ui, form widgets, card widgets, shadcn widgets, structured output ui
tools
Tool lifecycle UI components for React/Next.js from ui.inference.sh. Display tool calls: pending, progress, approval required, results. Capabilities: tool status, progress indicators, approval flows, results display. Use for: showing agent tool calls, human-in-the-loop approvals, tool output. Triggers: tool ui, tool calls, tool status, tool approval, tool results, agent tools, mcp tools ui, function calling ui, tool lifecycle, tool pending
development
Chat UI building blocks for React/Next.js from ui.inference.sh. Components: container, messages, input, typing indicators, avatars. Capabilities: chat interfaces, message lists, input handling, streaming. Use for: building custom chat UIs, messaging interfaces, AI assistants. Triggers: chat ui, chat component, message list, chat input, shadcn chat, react chat, chat interface, messaging ui, conversation ui, chat building blocks
tools
Batteries-included agent component for React/Next.js from ui.inference.sh. One component with runtime, tools, streaming, approvals, and widgets built in. Capabilities: drop-in agent, human-in-the-loop, client-side tools, form filling. Use for: building AI chat interfaces, agentic UIs, SaaS copilots, assistants. Triggers: agent component, agent ui, chat agent, shadcn agent, react agent, agentic ui, ai assistant ui, copilot ui, inference ui, human in the loop