在编程智能体中生成图片、视频和音频
在 Codex、Claude Code、Cursor、Cline 等编程智能体里生成图片、视频和音频:主模型用文本模型,通过 BigModel.io 的 MCP 服务(https://bigmodel.io/mcp)或 AGENTS.md 说明调用多媒体接口。
编程智能体的主模型必须是文本模型:它要能对话、能调用工具。图片、视频、音频模型只会生成内容,不能当主模型,在模型选择器里把主模型换成它们会直接报错。
正确的做法是让文本主模型去调用多媒体模型。有两种方式:
| 方式 | 怎么做 | 适用 |
|---|---|---|
| MCP 服务(推荐) | 把 https://bigmodel.io/mcp 加到智能体,它会多出 generate_image、generate_video 等工具 |
支持 MCP 的工具:Codex、Claude Code、Cursor、Cline、Cherry Studio 等 |
| AGENTS.md 说明 | 在项目说明里写清接口和命令,智能体自己用 curl 调用 |
能执行命令、但不方便配 MCP 的场景 |
两种方式用的都是你自己的 API Key,计费和直接调用 API 完全相同:图片按张,视频按秒,音频按次或按时长。价格见模型页。
#方式一:MCP 服务
服务地址是 https://bigmodel.io/mcp,用 API Key 认证(Authorization: Bearer <你的 Key>)。先在终端设置好 BIGMODEL_API_KEY。
#Codex
在 ~/.codex/config.toml 中加入:
[mcp_servers.bigmodel]
url = "https://bigmodel.io/mcp"
bearer_token_env_var = "BIGMODEL_API_KEY"
tool_timeout_sec = 300视频生成通常要 1–3 分钟,tool_timeout_sec 设长一些,工具会等结果出来再返回。
#Claude Code
claude mcp add --transport http bigmodel https://bigmodel.io/mcp \
--header "Authorization: Bearer $BIGMODEL_API_KEY"#Cursor
在 ~/.cursor/mcp.json(或项目里的 .cursor/mcp.json)中加入:
{
"mcpServers": {
"bigmodel": {
"url": "https://bigmodel.io/mcp",
"headers": { "Authorization": "Bearer ${env:BIGMODEL_API_KEY}" }
}
}
}其他支持「可流式 HTTP」MCP 的工具,按同样的地址和请求头配置即可。
#可用的工具
| 工具 | 作用 |
|---|---|
list_media_models |
列出可用的图片、视频、音频模型和价格,先调用它来选模型 |
generate_image |
按提示词生成 1–4 张图片,返回链接 |
generate_video |
生成视频,可带起始图片;在 wait_seconds(默认 50 秒,最多 240 秒)内等结果,没完成就返回任务 ID |
get_video |
查询视频任务,完成后返回链接 |
generate_audio |
生成音乐或音效,模型特有的字段放在 options 里 |
get_audio |
查询音频任务 |
返回的链接 24 小时有效。让智能体用 curl -L -o <文件> <链接> 下载到项目里,例如:
用 BigModel 生成一张 1024x1024 的应用图标,风格是扁平插画,下载到
assets/icon.png。
#方式二:AGENTS.md 说明
把下面这段放进项目根目录的 AGENTS.md(Claude Code 用 CLAUDE.md),智能体会自己执行这些命令。
## 生成图片、视频和音频
用 BigModel.io 生成多媒体,Key 在环境变量 `BIGMODEL_API_KEY` 里,不要写进代码或提交到仓库。
结果链接 24 小时有效,生成后立即下载到项目里。
- 可用模型:`curl -s "https://bigmodel.io/v1/models?type=all" -H "Authorization: Bearer $BIGMODEL_API_KEY"`,看 `architecture.modality` 为 image、video、audio 的模型。
- 图片(同步返回):
```bash
curl -s https://bigmodel.io/v1/images/generations \
-H "Authorization: Bearer $BIGMODEL_API_KEY" -H "Content-Type: application/json" \
-d '{"model":"<图片模型>","prompt":"<描述>","size":"1024x1024","n":1}'
```
从返回的 `data[0].url` 下载:`curl -L -o assets/<文件名>.png "<url>"`。
- 视频(异步任务):
```bash
curl -s https://bigmodel.io/v1/videos \
-H "Authorization: Bearer $BIGMODEL_API_KEY" -H "Content-Type: application/json" \
-d '{"model":"<视频模型>","prompt":"<描述>","seconds":5}'
```
拿到 `id` 后每 10 秒查询一次 `GET https://bigmodel.io/v1/videos/<id>`,直到 `status` 为 `succeeded`,再下载 `output.url`。`failed` 不收费。
- 音频(异步任务):`POST https://bigmodel.io/v1/audio/generations`,用法同视频,查询 `GET /v1/audio/generations/<id>`。
- 生成前先告诉我预计花费(价格见 https://bigmodel.io/models),超过 1 美元先问我。#常见问题排查
在模型选择器里选了图片或视频模型,报 model_endpoint_mismatch。 主模型要换回文本模型,多媒体用上面的工具生成。
MCP 工具返回 401。 智能体启动时没有读到 BIGMODEL_API_KEY,或请求头没带上 Key。
视频一直显示「仍在运行」。 视频可能需要几分钟。让智能体稍后调用 get_video 查询,或把 wait_seconds 和工具超时设长。
余额不足。 视频按秒计费,提交前余额需要能覆盖预估费用。到充值页充值。
#相关文档
更新于 · 以 Markdown 查看