fal-ai-media
affaan-m/ECC
MCPツールを通じてfal.aiのモデルを使用し、画像、動画、音声を生成します。テキストから画像、テキスト/画像から動画、テキストから音声、動画から音声への変換に対応しています。
...すべて拡張しますfal.ai メディア生成
変動しやすいスキルです。fal.aiのモデルID、価格、入力、およびMCPツールの名称は 急速に変化します。特定のモデル、パラメータ、出力形式、またはコストを 約束する前に、最新のモデルメタデータを検索または取得してください。
MCPを介してfal.aiモデルを使用して、画像、動画、および音声を生成します。
有効化すべきタイミング
- ユーザーがテキストプロンプトから画像を生成したい場合
- テキストや画像から動画を生成する場合
- 音声、音楽、または効果音を生成する場合
- あらゆるメディア生成タスク
- ユーザーが「画像を生成」「動画を制作」「テキストを音声に変換」「サムネイルを作成」などと言う場合
MCPの要件
fal.ai MCP サーバーを設定する必要があります。追加先 ~/.claude.json:
"fal-ai": {
"command": "npx",
"args": ["-y", "fal-ai-mcp-server"],
"env": { "FAL_KEY": "YOUR_FAL_KEY_HERE" }
}
fal.aiでAPIキーを取得してください。
MCPツール
fal.ai MCPでは、以下のツールが提供されています:
search— キーワードで利用可能なモデルを検索find— モデルの詳細やパラメータの取得generate— パラメータを指定してモデルを実行するresult— 非同期生成のステータスを確認status— ジョブのステータスを確認cancel— 実行中のジョブをキャンセルするestimate_cost— 生成コストを見積もるmodels— 人気のモデルを一覧表示するupload— 入力用ファイルのアップロード
画像生成
Nano Banana 2 (高速)
最適用途:迅速な反復作業、下書き、テキストから画像への変換、画像編集。
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 (高精細)
適した用途:制作用画像、写実性、タイポグラフィ、詳細なプロンプト。
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
}
)
一般的な画像パラメータ
| パラメータ | タイプ | オプション | 備考 |
|---|---|---|---|
prompt |
文字列 | 必須 | 希望する内容を記述してください |
image_size |
文字列 | square, portrait_4_3, landscape_16_9, portrait_16_9, landscape_4_3 |
アスペクト比 |
num_images |
数値 | 1~4 | 生成する数 |
seed |
number1~4 | 任意の整数 | 再現性 |
guidance_scale |
number | 1~20 | 指示に従う度合い(数値が大きいほど文字通りの処理) |
画像編集
Nano Banana 2 を使用して、入力画像に対してインペインティング、アウトペインティング、またはスタイル転送を行う:
# 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": "",
"image_size": "landscape_16_9"
}
)
動画生成
Seedance 1.0 Pro (ByteDance)
最適用途:テキストから動画への生成、動きの質が高い画像から動画への生成。
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
特長:ネイティブ音声生成を伴うテキスト/画像から動画への変換。
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)
特長:音声を生成した動画、高い画質。
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"
}
)
画像から動画
既存の画像から開始:
generate(
app_id: "fal-ai/seedance-1-0-pro",
input_data: {
"prompt": "camera slowly zooms out, gentle wind moves the trees",
"image_url": "",
"duration": "5s"
}
)
動画パラメータ
| パラメータ | タイプ | オプション | 備考 |
|---|---|---|---|
prompt |
文字列 | 必須 | 動画の説明 |
duration |
文字列 | "5s", "10s" |
動画の長さ |
aspect_ratio |
文字列 | "16:9", "9:16", "1:1" |
アスペクト比 |
seed |
数値 | 任意の整数 | 再現性 |
image_url |
文字列 | URL | 画像から動画への変換用ソース画像 |
音声生成
CSM-1B (会話型音声)
自然で会話のような質感のあるテキスト読み上げ。
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(動画から音声)
動画コンテンツから対応する音声を生成します。
generate(
app_id: "fal-ai/thinksound",
input_data: {
"video_url": "",
"prompt": "ambient forest sounds with birds chirping"
}
)
ElevenLabs(API経由、MCP不要)
プロフェッショナルな音声合成には、ElevenLabsを直接ご利用ください:
import os
import requests
resp = requests.post(
"https://api.elevenlabs.io/v1/text-to-speech/",
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 生成音声
VideoDBが設定されている場合は、その生成オーディオ機能を使用してください:
# 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")
コスト見積もり
生成を行う前に、推定コストを確認してください:
estimate_cost(
estimate_type: "unit_price",
endpoints: {
"fal-ai/nano-banana-pro": {
"unit_quantity": 1
}
}
)
モデルの検索
特定のタスクに適したモデルを検索します:
search(query: "text to video")
find(endpoint_ids: ["fal-ai/seedance-1-0-pro"])
models()
ヒント
- 以下の
seedプロンプトの反復調整を行う際は、再現性のある結果を得るためにこれを使用してください - プロンプトの反復作業にはまず低コストのモデル(Nano Banana 2)から始め、最終段階ではProに切り替えてください
- 動画の場合は、プロンプトを説明的かつ簡潔に保つこと — 動きやシーンに焦点を当てる
- 画像から動画への生成は、純粋なテキストから動画への生成よりも制御された結果が得られます
- 実行前に
estimate_cost高コストな動画生成を実行する前に確認してください
関連スキル
videodb— 動画処理、編集、ストリーミングvideo-editing— AIを活用した動画編集ワークフローcontent-engine— ソーシャルプラットフォーム向けコンテンツ制作
---
name: fal-ai-media
description: Generate images, videos, and audio using fal.ai models via MCP tools, with support for text-to-image, text/image-to-video, text-to-speech, and video-to-audio.
---
# fal.ai Media Generation
> **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.
## 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`:
```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](https://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(
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:
```python
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:
```python
# 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 `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
すべてのファイル
1件のファイルfal-ai-mediaをインストール
スキルファイルをダウンロードし、.claude/skills/ ディレクトリに解凍してください。
ZIPをダウンロードリポジトリをクローンし、スキルファイルをプロジェクトにコピーしてください。
git clone https://github.com/affaan-m/ECC/tree/main/skills/fal-ai-media # Copy SKILL.md to your .claude/skills/ directory
コピー





家
