変化が早いスキル。 fal.aiのモデルID、価格、入力、MCPツール名は急速に変わります。特定のモデル、パラメーター、出力形式、またはコストを約束する前に、現在のモデルメタデータを検索または取得してください。
MCPを通じてfal.aiモデルを使用して画像、動画、音声を生成します。
fal.ai MCPサーバーを設定する必要があります。~/.claude.jsonに追加してください:
"fal-ai": {
"command": "npx",
"args": ["-y", "fal-ai-mcp-server"],
"env": { "FAL_KEY": "YOUR_FAL_KEY_HERE" }
}
APIキーはfal.aiで取得してください。
fal.ai MCPは以下のツールを提供します:
search — キーワードで利用可能なモデルを検索find — モデルの詳細とパラメーターを取得generate — パラメーターでモデルを実行result — 非同期生成のステータスを確認status — ジョブステータスを確認cancel — 実行中のジョブをキャンセルestimate_cost — 生成コストを見積もるmodels — 人気モデルの一覧表示upload — 入力として使用するファイルをアップロードベストユースケース: クイックイテレーション、ドラフト、テキストから画像、画像編集。
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
}
)
ベストユースケース: 本番画像、リアリズム、タイポグラフィ、詳細なプロンプト。
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 |
string | 必須 | 生成したいものを説明する |
image_size |
string | square、portrait_4_3、landscape_16_9、portrait_16_9、landscape_4_3 |
アスペクト比 |
num_images |
number | 1-4 | 生成する数 |
seed |
number | 任意の整数 | 再現性 |
guidance_scale |
number | 1-20 | プロンプトへの追従度(高いほど文字通り) |
インペインティング、アウトペインティング、またはスタイル転送にNano Banana 2を入力画像と共に使用:
# まずソース画像をアップロード
upload(file_path: "/path/to/image.png")
# 次に画像入力で生成
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"
}
)
ベストユースケース: テキストから動画、高モーション品質の画像から動画。
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
}
)
ベストユースケース: ネイティブ音声生成付きのテキスト/画像から動画。
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"
}
)
ベストユースケース: 生成された音声付き、高視覚品質の動画。
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": "<uploaded_image_url>",
"duration": "5s"
}
)
| パラメーター | 型 | オプション | 備考 |
|---|---|---|---|
prompt |
string | 必須 | 動画を説明する |
duration |
string | "5s"、"10s" |
動画の長さ |
aspect_ratio |
string | "16:9"、"9:16"、"1:1" |
フレーム比率 |
seed |
number | 任意の整数 | 再現性 |
image_url |
string | URL | 画像から動画用のソース画像 |
自然な会話品質のテキストから音声。
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
}
)
動画コンテンツからマッチする音声を生成。
generate(
app_id: "fal-ai/thinksound",
input_data: {
"video_url": "<video_url>",
"prompt": "ambient forest sounds with birds chirping"
}
)
プロフェッショナルな音声合成には、ElevenLabsを直接使用:
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が設定されている場合、その生成音声を使用:
# 音声生成
audio = coll.generate_voice(text="Your narration here", voice="alloy")
# 音楽生成
music = coll.generate_music(prompt="upbeat electronic background music", duration=30)
# 効果音
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を使用するestimate_costを確認するvideodb — 動画処理、編集、ストリーミングvideo-editing — AI駆動の動画編集ワークフローcontent-engine — ソーシャルプラットフォーム向けコンテンツ作成