跳转至

fal.ai 媒体生成

快速变化的技能。 fal.ai 的模型 ID、价格、输入和 MCP 工具名变化很快。在承诺特定模型、参数、输出格式或成本之前,请搜索或获取当前模型元数据。

通过 MCP 使用 fal.ai 模型生成图像、视频和音频。

激活时机

  • 当用户想从文本提示生成图像时
  • 当从文本或图像创建视频时
  • 当生成语音、音乐或音效时
  • 任何媒体生成任务
  • 当用户说 “generate image”“create video”“text to speech”“make a thumbnail” 等时

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 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"
  }
)

视频生成

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": "<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 图像转视频用的源图像

音频生成

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": "<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/<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 生成音频

如果已配置 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 以便在重复提示时保持可复现性
  • 提示迭代时先从低成本模型(Nano Banana 2)开始,最终版切换到 Pro
  • 对于视频,提示应聚焦于运动和场景,描述性但简洁
  • 图像转视频比纯文本转视频产生更可控的结果
  • 在执行高成本视频生成前检查 estimate_cost
  • videodb — 视频处理、编辑、流媒体
  • video-editing — AI 驱动的视频编辑工作流
  • content-engine — 面向社交平台的内容创作

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC