ECC fal-ai-media 技能:通过 fal.ai MCP 实现图片、视频、音频一体化生成的完整实践

📅 发布时间:2026/9/5 19:55:04
ECC fal-ai-media 技能:通过 fal.ai MCP 实现图片、视频、音频一体化生成的完整实践
ECC fal-ai-media 技能通过 fal.ai MCP 实现图片、视频、音频一体化生成的完整实践【免费下载链接】ECCThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.项目地址: https://gitcode.com/GitHub_Trending/ev/ECCECCagent harness 性能优化系统中的fal-ai-media技能将 fal.ai 平台的模型能力以 MCPModel Context Protocol形式接入 Claude Code、Codex、Cursor 等 Agent 环境让 Agent 能够统一完成文生图、文/图生视频、文本转语音和视频转音频四类媒体生成任务。本文基于仓库中该技能的完整定义与配套配置展开覆盖 MCP 服务端配置、9 个 MCP 工具的使用方式、图片/视频/音频三类模型的调用参数表、图像编辑与图生视频流程、成本预估与模型发现机制以及与其他技能如video-editing的协作关系。读完本文你可以把该技能配置进自己的 Agent 工作流并复现文档中的每一段生成调用。技能定位与安装归属fal-ai-media的完整定义位于 skills/fal-ai-media/SKILL.mdAntigravity 镜像位于.agents/skills/fal-ai-media/SKILL.md其 frontmatter 描述如下name: fal-ai-media description: 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).从 manifests/install-modules.json 可以看到该技能被归入media-generation模块与blender-motion-state-inspection、manim-video、remotion-video-creation、ui-demo、video-editing、videodb、taste、tasteforge-video一同构成媒体生成与技术解说视频技能组目标平台覆盖 claude、claude-project、cursor、codex、opencode、codebuddy、joycode、qwen、zed 九种 harness依赖platform-configs模块标记为defaultInstall: false、cost: heavy、stability: beta。也就是说它不属于默认安装内容而是按需选装的重量级媒体能力模块。agent.yaml 的 skills 清单中同样列出了fal-ai-media说明它也被纳入 ECC 的 gitagent 导出面。根据 docs/ANTIGRAVITY-GUIDE.mdskills/name/目录会映射到.agents/skills/name/供 Antigravity 原生加载这解释了为什么仓库中同时存在两处副本——两者内容同源正文以skills/下为规范版本。何时激活该技能技能文档明确了激活条件触发词/场景Agent 在以下情况下应切换到该技能用户希望用文本提示词生成图片从文本或已有图片创建视频生成语音、音乐或音效任何媒体生成任务用户说出 generate image、create video、text to speech、make a thumbnail 之类的表达。MCP 前置条件配置 fal-ai 服务端该技能的全部生成能力都依赖 fal.ai MCP server。文档要求在~/.claude.json中加入如下配置fal-ai: { command: npx, args: [-y, fal-ai-mcp-server], env: { FAL_KEY: YOUR_FAL_KEY_HERE } }API Key 需在 fal.ai 官网申请。仓库中该配置同样登记在 mcp-configs/mcp-servers.json 的fal-ai条目下command/args/env三字段与技能文档完全一致description 标注为 AI image/video/audio generation via fal.ai models。该文件末尾的_comments还给出了两条重要的运维约束复制所需 server 到自己的~/.claude.json的mcpServers段并把YOUR_*_HERE占位符替换为真实值通过ECC_DISABLED_MCPSgithub,context7,...可在安装/同步阶段禁用捆绑的 ECC MCP或在项目配置中用disabledMcpServers做按项目覆盖同时建议启用中的 MCP 数量保持在 10 个以内以保护上下文窗口。这条上下文预算约束值得注意fal-ai只占用一个 MCP 位但聚合了图片、视频、音频三类生成工具是典型的高价值单点接入。MCP 工具清单与职责划分fal.ai MCP 提供 9 个工具覆盖了发现—详情—执行—跟踪—计费—输入的完整生命周期工具职责search按关键词查找可用模型find获取指定模型的详情与参数说明generate带参数运行一个模型核心工具result查询异步生成的结果status查询任务状态cancel取消进行中的任务estimate_cost预估生成成本models列出热门模型upload上传文件作为生成输入如源图/源视频从这套工具的结构看generate是唯一的执行入口search/find/models构成模型发现层result/status/cancel构成异步任务管理面estimate_cost构成成本治理面。媒体生成尤其是视频通常耗时较长且计费因此文档把先估成本、后执行列为标准姿势而不是可选动作。图片生成Nano Banana 2 与 Nano Banana ProNano Banana 2快速迭代档文档为它定位的是快速迭代、草稿、文生图、图像编辑。调用示例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高保真档定位是生产级图片、写实感、排版文字、长细节提示词。示例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 } )两档模型的取舍逻辑与文档Tips部分呼应先用 Nano Banana 2 这类低成本模型打磨 prompt确认方向后再切到 Pro 出成片。图片通用参数表参数类型取值说明promptstring必填描述要生成的内容image_sizestringsquare、portrait_4_3、landscape_16_9、portrait_16_9、landscape_4_3宽高比num_imagesnumber1-4生成张数seednumber任意整数结果可复现性guidance_scalenumber1-20对 prompt 的遵循程度越高越字面化图像编辑以 Nano Banana 2 做 inpainting / outpainting / 风格迁移编辑流程分两步先upload源图再带image_url生成。文档给出的完整序列# 第一步上传源图 upload(file_path: /path/to/image.png) # 第二步带图像输入生成 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 } )关键点在于upload工具的产出上传后的 URL是后续generate的输入——本地文件不能直接塞给模型必须先经过 fal.ai 的文件通道。这一上传换 URL的模式同样适用于下面的图生视频。视频生成Seedance、Kling v3 Pro 与 Veo 3Seedance 1.0 ProByteDance定位文生视频与图生视频强调高运动质量。示例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定位文/图生视频支持原生音频生成。示例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 3Google DeepMind定位带生成式声音的视频视觉质量高。示例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从已有图片出发同样先upload拿到 URLgenerate( 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 } )视频参数表参数类型取值说明promptstring必填描述视频内容durationstring5s、10s视频时长aspect_ratiostring16:9、9:16、1:1画幅比例seednumber任意整数可复现性image_urlstringURL图生视频的源图文档的提示词经验是视频 prompt 要描述性但克制聚焦运动motion与场景scene两个维度并且图生视频的结果比纯文生视频更可控这是选择工作路径时的实用判据。音频生成CSM-1B、ThinkSound 与两条旁路CSM-1B会话式语音合成自然、口语化的 text-to-speechgenerate( model_name: fal-ai/csm-1b, input: { text: Hello, welcome to the demo. Let me show you how this works., speaker_id: 0 } )ThinkSound视频转音频根据视频内容生成匹配音频例如环境音generate( model_name: fal-ai/thinksound, input: { video_url: video_url, prompt: ambient forest sounds with birds chirping } )旁路一ElevenLabs直接 API不经 MCP需要专业级人声时文档建议绕过 MCP 直接调 ElevenLabs REST APIimport 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)注意 API key 从环境变量ELEVENLABS_API_KEY读取model_id使用eleven_turbo_v2_5voice_settings中的stability与similarity_boost分别控制音色稳定度与对参考声纹的贴合度。旁路二VideoDB 生成式音频如果环境里已配置 VideoDB则直接走它的生成接口与 skills/videodb 技能配套# 语音生成 audio coll.generate_voice(textYour narration here, voicealloy) # 音乐生成 music coll.generate_music(promptupbeat electronic background music, duration30) # 音效 sfx coll.generate_sound_effect(promptthunder crack followed by rain)这三条音频路径的分工是MCP 内的 CSM-1B 覆盖通用口语场景ElevenLabs 面向专业配音VideoDB 则服务于视频项目内一次性配齐语音/音乐/音效的整体工作流。成本治理与模型发现成本预估文档把estimate_cost定位为生成前的标准动作尤其针对昂贵的视频任务estimate_cost(model_name: fal-ai/nano-banana-pro, input: {...})模型发现当不确定某个任务该用哪个模型时走搜索—详情—热门列表三步search(query: text to video) find(model_name: fal-ai/seedance-1-0-pro) models()find返回模型的参数 schema可以把它当作运行时文档使用——在写generate调用前先find一次能避免参数名猜错导致的任务失败。实践要点文档 Tips 全量继承迭代 prompt 时用固定seed保证可复现对比先用低成本模型Nano Banana 2做 prompt 迭代定稿再切 Pro 档视频 prompt 描述性但简洁聚焦运动与场景图生视频比纯文生视频结果更可控有源图时优先走图生视频昂贵的视频生成前先estimate_cost。与仓库内其他能力的衔接从 skills/video-editing/SKILL.md 的引用关系看fal-ai-media是视频编辑管线中的生成资产层该技能把整体流程分成多层原始素材 → 剪辑 → 解说/配音 → 生成式资产 → 精修其中 Layer 5 明确标注为 Generated Assets (ElevenLabs / fal.ai)并直接点名音乐与音效、生成式视觉素材使用fal-ai-media技能。也就是说video-editing负责结构与剪辑逻辑fal-ai-media负责补齐生成式素材两者通过 fal.ai MCP 与 ElevenLabs 共享同一组凭据边界。技能文档末尾列出的三个相关技能可作为延伸阅读videodb— 视频处理、编辑与流式播放video-editing— AI 驱动的视频编辑工作流content-engine— 面向社交平台的规模化内容生产。适用前提与边界本技能面向已启用 MCP 的 Agent 客户端Claude Code 的~/.claude.json、或仓库中 mcp-configs/mcp-servers.json 列出的各平台等价配置核心前提是本地具备 Node 环境npx -y fal-ai-mcp-server和有效的FAL_KEY模型名fal-ai/nano-banana-2、fal-ai/seedance-1-0-pro、fal-ai/kling-video/v3/pro、fal-ai/veo-3、fal-ai/csm-1b、fal-ai/thinksound以当前文档与 fal.ai 平台实际可用模型为准建议以find/models的输出核对参数 schema 后再调用在 manifests/install-modules.json 中该模块标记为stability: beta、cost: heavy属于选装能力生产使用建议配合estimate_cost与任务cancel能力做成本兜底。参考文件汇总skills/fal-ai-media/SKILL.md、mcp-configs/mcp-servers.json、manifests/install-modules.json、agent.yaml、skills/video-editing/SKILL.md、docs/ANTIGRAVITY-GUIDE.md。【免费下载链接】ECCThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.项目地址: https://gitcode.com/GitHub_Trending/ev/ECC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考