Generate Media with fal.ai
Your AI creates images, videos, and audio from text or media inputs using fal.ai models. It supports text-to-image, text/image-to-video, text-to-speech, and video-to-audio generation through fal.ai MCP integration.
affaan-m on GitHub
Curated by PromptsEdge from a public repo · MIT license. All credit goes to the author.
What is this skill?
Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.
When to use
- User wants to generate images from text prompts
- Creating videos from text or images
- Generating speech, music, or sound effects
- Any media generation task
- User says "generate image", "create video", "text to speech", "make a thumbnail", or similar
Drift-prone skill. fal.ai model IDs, pricing, inputs, and MCP tool names change quickly. Search or fetch the current model metadata before promising a specific model, parameter, output format, or cost.
Generate images, videos, and audio using fal.ai models via MCP.
MCP Requirement
fal.ai MCP server must be configured. Add to ~/.claude.json:
"fal-ai": {
"command": "npx",
"args": ["-y", "fal-ai-mcp-server"],
"env": { "FAL_KEY": "YOUR_FAL_KEY_HERE" }
}
Get an API key at fal.ai.
MCP Tools
The fal.ai MCP provides these tools:
search— Find available models by keywordfind— Get model details and parametersgenerate— Run a model with parametersresult— Check async generation statusstatus— Check job statuscancel— Cancel a running jobestimate_cost— Estimate generation costmodels— List popular modelsupload— Upload files for use as inputs
Image Generation
Nano Banana 2 (Fast)
Best for: quick iterations, drafts, text-to-image, image editing.
generate(
app_id: "fal-ai/nano-banana-2",
input_data: {
"prompt": "a futuristic cityscape at sunset, cyberpunk style",
"image_size": "landscape_16_9",
"num_images": 1,
"seed": 42
}
)
Nano Banana Pro (High Fidelity)
Best for: production images, realism, typography, detailed prompts.
generate(
app_id: "fal-ai/nano-banana-pro",
input_data: {
"prompt": "professional product photo of wireless headphones on marble surface, studio lighting",
"image_size": "square",
"num_images": 1,
"guidance_scale": 7.5
}
)
Common Image Parameters
| Param | Type | Options | Notes |
|---|---|---|---|
prompt | string | required | Describe what you want |
image_size | string | square, portrait_4_3, landscape_16_9, portrait_16_9, landscape_4_3 | Aspect ratio |
num_images | number | 1-4 | How many to generate |
seed | number | any integer | Reproducibility |
guidance_scale | number | 1-20 | How closely to follow the prompt (higher = more literal) |
Image Editing
Use Nano Banana 2 with an input image for inpainting, outpainting, or style transfer:
# First upload the source image
upload(file_path: "/path/to/image.png")
# Then generate with image input
generate(
app_id: "fal-ai/nano-banana-2",
input_data: {
"prompt": "same scene but in watercolor style",
"image_url": "<uploaded_url>",
"image_size": "landscape_16_9"
}
)
Video Generation
Seedance 1.0 Pro (ByteDance)
Best for: text-to-video, image-to-video with high motion quality.
generate(
app_id: "fal-ai/seedance-1-0-pro",
input_data: {
"prompt": "a drone flyover of a mountain lake at golden hour, cinematic",
"duration": "5s",
"aspect_ratio": "16:9",
"seed": 42
}
)
Kling Video v3 Pro
Best for: text/image-to-video with native audio generation.
generate(
app_id: "fal-ai/kling-video/v3/pro",
input_data: {
"prompt": "ocean waves crashing on a rocky coast, dramatic clouds",
"duration": "5s",
"aspect_ratio": "16:9"
}
)
Veo 3 (Google DeepMind)
Best for: video with generated sound, high visual quality.
generate(
app_id: "fal-ai/veo-3",
input_data: {
"prompt": "a bustling Tokyo street market at night, neon signs, crowd noise",
"aspect_ratio": "16:9"
}
)
Image-to-Video
Start from an existing image:
generate(
app_id: "fal-ai/seedance-1-0-pro",
input_data: {
"prompt": "camera slowly zooms out, gentle wind moves the trees",
"image_url": "<uploaded_image_url>",
"duration": "5s"
}
)
Video Parameters
| Param | Type | Options | Notes |
|---|---|---|---|
prompt | string | required | Describe the video |
duration | string | "5s", "10s" | Video length |
aspect_ratio | string | "16:9", "9:16", "1:1" | Frame ratio |
seed | number | any integer | Reproducibility |
image_url | string | URL | Source image for image-to-video |
Audio Generation
CSM-1B (Conversational Speech)
Text-to-speech with natural, conversational quality.
generate(
app_id: "fal-ai/csm-1b",
input_data: {
"text": "Hello, welcome to the demo. Let me show you how this works.",
"speaker_id": 0
}
)
ThinkSound (Video-to-Audio)
Generate matching audio from video content.
generate(
app_id: "fal-ai/thinksound",
input_data: {
"video_url": "<video_url>",
"prompt": "ambient forest sounds with birds chirping"
}
)
ElevenLabs (via API, no MCP)
For professional voice synthesis, use ElevenLabs directly:
import os
import requests
resp = requests.post(
"https://api.elevenlabs.io/v1/text-to-speech/<voice_id>",
headers={
"xi-api-key": os.environ["ELEVENLABS_API_KEY"],
"Content-Type": "application/json"
},
json={
"text": "Your text here",
"model_id": "eleven_turbo_v2_5",
"voice_settings": {"stability": 0.5, "similarity_boost": 0.75}
}
)
with open("output.mp3", "wb") as f:
f.write(resp.content)
VideoDB Generative Audio
If VideoDB is configured, use its generative audio:
# Voice generation
audio = coll.generate_voice(text="Your narration here", voice="alloy")
# Music generation
music = coll.generate_music(prompt="upbeat electronic background music", duration=30)
# Sound effects
sfx = coll.generate_sound_effect(prompt="thunder crack followed by rain")
Cost Estimation
Before generating, check estimated cost:
estimate_cost(
estimate_type: "unit_price",
endpoints: {
"fal-ai/nano-banana-pro": {
"unit_quantity": 1
}
}
)
Model Discovery
Find models for specific tasks:
search(query: "text to video")
find(endpoint_ids: ["fal-ai/seedance-1-0-pro"])
models()
Tips
- Use
seedfor reproducible results when iterating on prompts - Start with lower-cost models (Nano Banana 2) for prompt iteration, then switch to Pro for finals
- For video, keep prompts descriptive but concise — focus on motion and scene
- Image-to-video produces more controlled results than pure text-to-video
- Check
estimate_costbefore running expensive video generations
Related Skills
tasteforge-video— Offline taste distillation and modality planning. Its endpoint candidates and request manifests are reference-only, not submitted jobs or saved Fal workflows. A TasteForge handoff does not authorize upload or generation; use a separately authorized provider workflow and verify its current endpoint schema before executing.videodb— Video processing, editing, and streamingvideo-editing— AI-powered video editing workflowscontent-engine— Content creation for social platforms
Install this skill
- 1
Get the skill — it’s free
Use the Get this skill panel. Unlocked skills stay in My skills. - 2
Download or clone the files
Download the zip, or clone the repo and copy theskills/fal-ai-mediafolder. - 3
Put it where your agent looks for skills
For Claude Code, use your personal skills folder (every project) or a project’s own folder:~/.claude/skills/fal-ai-media/SKILL.md # all projects .claude/skills/fal-ai-media/SKILL.md # this project only
- 4
Just ask
No command needed. The agent reads the skill’s description and loads it on its own when your request matches.
SKILL.md frontmatter
What your agent reads to decide when to load this skill.
--- name: fal-ai-media description: Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI. ---
Files
Open any Markdown file to read it here.
Related skills
View all →- Video Ingest, Index, and EditFreeYour AI ingests video or live streams, indexes visual and spoken content, and edits timelines with subtitles, overlays, and audio. It supports local files, URLs, RTSP feeds, desktop capture, and real-time alerts.
- Convert UI to Vue 3FreeTurn batches of UI screenshots or design exports into Vue 3 components. It organizes pages and modules, maps elements to Vant, Element Plus, or Ant Design Vue, and wires up routing automatically.
- Record UI Demo VideosFreeYour AI records polished web app demo videos with visible cursor and natural pacing. It explores pages first, scripts interactions, rehearses, then captures WebM videos suitable for walkthroughs or tutorials.
- Music Video Taste LayerFreeYour AI creates intentional music videos and short edits with a defined visual style and beat-synced editing grammar. It guides mood, color, rhythm, and chains video skills to produce coherent angelcore, cloud-trance, or hyperpop visuals.