affaan-m/ECC

fal-ai-media

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.

68CollectingSends data outNetwork access
See how to use itView GitHub source
npx skills add https://github.com/affaan-m/ECC --skill ".agents/skills/fal-ai-media"
Automated source guideDevelopmentDeep source

Source checked Jul 28, 2026·Refresh due Oct 26, 2026

Reorganized from the pinned upstream SKILL.md

Source-grounded implementation guide: fal-ai-media

Generate images, videos, and audio using fal.ai models via MCP.

npx skills add https://github.com/affaan-m/ECC --skill ".agents/skills/fal-ai-media"
Check the pinned source

The pinned source contains enough sections and task detail for a source-grounded deep guide; automated content is still not an independent test.

740 source words · 28 usable sections

Best fit

  • Use when the user wants to generate images, videos, or audio with AI.

Project context

  • fal.ai MCP server must be configured. Add to /.claude.json:
  • Get an API key at fal.ai.
  • generate( modelname: "fal-ai/nano-banana-2", input: { "prompt": "same scene but in watercolor style", "imageurl": "", "imagesize": "landscape169" } )

Implementation workflow

Read fal-ai-media through these 5 source sections

Sections are extracted automatically from the pinned SKILL.md and link back to the source.

01

When to Activate

User wants to generate images from text prompts

SKILL.md · When to Activate
User wants to generate images from text promptsCreating videos from text or imagesGenerating speech, music, or sound effects
02

MCP Requirement

fal.ai MCP server must be configured. Add to /.claude.json:

SKILL.md · MCP Requirement
fal.ai MCP server must be configured. Add to /.claude.json:Get an API key at fal.ai.
03

MCP Tools

The fal.ai MCP provides these tools: - search — Find available models by keyword - find — Get model details and parameters - generate — Run a model with parameters - result — Check async generation status - status — Check job status - cancel — Cancel a running job - estimatecost…

SKILL.md · MCP Tools
search — Find available models by keywordfind — Get model details and parametersgenerate — Run a model with parameters
04

Image Generation

Best for: quick iterations, drafts, text-to-image, image editing.

SKILL.md · Image Generation
Best for: quick iterations, drafts, text-to-image, image editing.Best for: production images, realism, typography, detailed prompts.Use Nano Banana 2 with an input image for inpainting, outpainting, or style transfer:
05

Nano Banana 2 (Fast)

Best for: quick iterations, drafts, text-to-image, image editing.

SKILL.md · Nano Banana 2 (Fast)
Best for: quick iterations, drafts, text-to-image, image editing.

SkillSignal prompt templates

Provide the task, context, and acceptance criteria

These prompts were written by SkillSignal from the source structure; they are not upstream text.

Source-grounded prompt

Use for a development task while explicitly checking the source sections.

Use fal-ai-media for this development task: [task]. Inputs and constraints: [details]. Work through these pinned SKILL.md sections: “When to Activate”, “MCP Requirement”, “MCP Tools”, “Image Generation”, “Nano Banana 2 (Fast)”. Cite the concrete requirements that shape each step, do not invent capabilities absent from the source, and verify the result against: [acceptance criteria].

Development checklist

Verify each item before delivery

The source section “When to Activate” has been checked.

The source section “MCP Requirement” has been checked.

The source section “MCP Tools” has been checked.

The source section “Image Generation” has been checked.

Static permission evidence

Inspect the exact source lines that triggered a signal

These are source excerpts matched by deterministic rules, not findings of malicious behavior, safety, or actual execution.

Choose a different workflow

When another Skill is the better fit

FAQ

What does the fal-ai-media source document cover?

Generate images, videos, and audio using fal.ai models via MCP.

How do I install fal-ai-media?

The source record exposes this install command: npx skills add https://github.com/affaan-m/ECC --skill ".agents/skills/fal-ai-media". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged send-data, network in the source; the page lists the matching lines and excerpts.

Repository stars
234,327
Repository forks
35,711
Quality
68/100
Source repository last pushed

Quality breakdown

Based on traceable docs and repository signals; stars are not treated as quality.

68/100
Documentation24/30
Specificity16/25
Maintenance18/20
Trust signals10/25

Compare before choosing

Related Agent Skills and source variants

These links are selected from shared tasks, functions, stacks, platforms, and same-name variants. Compare the source owner, documentation, permissions, and maintenance signals.

View original Skill.mdThis page is parsed directly from the repository SKILL.md without editorial rewriting. Collected: Jul 28, 2026 · about 3 min

fal.ai Media Generation

Generate images, videos, and audio using fal.ai models via MCP.

When to Activate

  • 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

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 keyword
  • find — Get model details and parameters
  • generate — Run a model with parameters
  • result — Check async generation status
  • status — Check job status
  • cancel — Cancel a running job
  • estimate_cost — Estimate generation cost
  • models — List popular models
  • upload — Upload files for use as inputs

Image Generation

Nano Banana 2 (Fast)

Best for: quick iterations, drafts, text-to-image, image editing.

generate(
  model_name: "fal-ai/nano-banana-2",
  input: {
    "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(
  model_name: "fal-ai/nano-banana-pro",
  input: {
    "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

ParamTypeOptionsNotes
promptstringrequiredDescribe what you want
image_sizestringsquare, portrait_4_3, landscape_16_9, portrait_16_9, landscape_4_3Aspect ratio
num_imagesnumber1-4How many to generate
seednumberany integerReproducibility
guidance_scalenumber1-20How 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(
  model_name: "fal-ai/nano-banana-2",
  input: {
    "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(
  model_name: "fal-ai/seedance-1-0-pro",
  input: {
    "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(
  model_name: "fal-ai/kling-video/v3/pro",
  input: {
    "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(
  model_name: "fal-ai/veo-3",
  input: {
    "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(
  model_name: "fal-ai/seedance-1-0-pro",
  input: {
    "prompt": "camera slowly zooms out, gentle wind moves the trees",
    "image_url": "<uploaded_image_url>",
    "duration": "5s"
  }
)

Video Parameters

ParamTypeOptionsNotes
promptstringrequiredDescribe the video
durationstring"5s", "10s"Video length
aspect_ratiostring"16:9", "9:16", "1:1"Frame ratio
seednumberany integerReproducibility
image_urlstringURLSource image for image-to-video

Audio Generation

CSM-1B (Conversational Speech)

Text-to-speech with natural, conversational quality.

generate(
  model_name: "fal-ai/csm-1b",
  input: {
    "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(
  model_name: "fal-ai/thinksound",
  input: {
    "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(model_name: "fal-ai/nano-banana-pro", input: {...})

Model Discovery

Find models for specific tasks:

search(query: "text to video")
find(model_name: "fal-ai/seedance-1-0-pro")
models()

Tips

  • Use seed for 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_cost before running expensive video generations

Related Skills

  • videodb — Video processing, editing, and streaming
  • video-editing — AI-powered video editing workflows
  • content-engine — Content creation for social platforms
Source repo
affaan-m/ECC
Skill path
.agents/skills/fal-ai-media/SKILL.md
Commit SHA
4e973d3eaf92
Repository license
MIT
Data collected