Files
everything-claude-code/docs/zh-CN/skills/fal-ai-media/SKILL.md
2026-03-22 15:39:24 -07:00

297 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: fal-ai-media
description: 通过 fal.ai MCP 实现统一的媒体生成——图像、视频和音频。涵盖文本到图像Nano Banana、文本/图像到视频Seedance、Kling、Veo 3、文本到语音CSM-1B以及视频到音频ThinkSound。当用户想要使用 AI 生成图像、视频或音频时使用。
origin: ECC
---
# fal.ai 媒体生成
通过 MCP 使用 fal.ai 模型生成图像、视频和音频。
## 何时激活
* 用户希望根据文本提示生成图像
* 根据文本或图像创建视频
* 生成语音、音乐或音效
* 任何媒体生成任务
* 用户提及“生成图像”、“创建视频”、“文本转语音”、“制作缩略图”或类似表述
## MCP 要求
必须配置 fal.ai MCP 服务器。添加到 `~/.claude.json`
```json
"fal-ai": {
"command": "npx",
"args": ["-y", "fal-ai-mcp-server"],
"env": { "FAL_KEY": "YOUR_FAL_KEY_HERE" }
}
```
在 [fal.ai](https://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": "未来主义日落城市景观,赛博朋克风格",
"image_size": "landscape_16_9",
"num_images": 1,
"seed": 42
}
)
```
### Nano Banana Pro高保真
最适合:生产级图像、写实感、排版、详细提示。
```
generate(
app_id: "fal-ai/nano-banana-pro",
input_data: {
"prompt": "专业产品照片,无线耳机置于大理石表面,影棚灯光",
"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` | 数字 | 任意整数 | 可重现性 |
| `guidance_scale` | 数字 | 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字节跳动
最适合:文生视频、图生视频,具有高运动质量。
```
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": "海浪拍打着岩石海岸,乌云密布",
"duration": "5s",
"aspect_ratio": "16:9"
}
)
```
### Veo 3Google DeepMind
最适合:带生成声音的视频,高视觉质量。
```
generate(
app_id: "fal-ai/veo-3",
input_data: {
"prompt": "夜晚熙熙攘攘的东京街头市场,霓虹灯招牌,人群喧嚣",
"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` | 字符串 | 必需 | 描述视频内容 |
| `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": "<video_url>",
"prompt": "ambient forest sounds with birds chirping"
}
)
```
### ElevenLabs通过 API无 MCP
如需专业的语音合成,直接使用 ElevenLabs
```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 生成式音频
如果配置了 VideoDB使用其生成式音频
```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")
```
***
## 成本估算
生成前,检查估算成本:
```
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` — 社交媒体平台内容创作