木木AI

统一管理文本、图片与视频模型的中转接口。上游密钥只保存在服务端,客户端只使用本站令牌。

OpenAI 兼容HTTPS按实际渠道计费失败任务自动对账

字字动画专用插件

在字字动画中使用本站的图片与视频模型。插件是独立编写的本地适配器,只填写本站中转令牌,不包含任何上游密钥。

文件 mumu-typetale-0.3.4.zip · 124,158 字节 · SHA-256 75e90b53adce49fad46eb10aec82b6a646d504ca7ec985733e27585af54835ea

v0.3.4 修复同作品木木图片原图被复制、改名后的公网参考图识别;BD仅对已确认原图使用本站原字节存储兜底,不上传第三方图床。保存作品、检查更新并重启字字动画;保留配置和作品记录。

  1. 解压后把 plugins/image_plugins/mumu_relay_image 与 plugins/video_plugins/mumu_relay_video 复制到字字动画的 _internal/plugins 对应目录;也可直接运行包内 安装.ps1。
  2. 打开作品,在图片/视频模型管理器选择“自定义插件”→“木木中转 · 图片 / 视频”。
  3. 中转地址填 https://api.mumugofe.com,令牌填本站创建的中转站令牌,不要填上游密钥。
  4. 模型名单与参数由本站统一发布,打开设置页即自动同步;同协议新模型无需重新安装插件。

包内 使用说明.md 有完整安装、任务恢复与排障说明。重新下载

快速开始

在控制台创建 API 令牌,然后把客户端的 Base URL 设置为:

https://api.mumugofe.com/v1

www.mumugofe.com 仅用于浏览器永久跳转;API 客户端请直接使用上面的正式地址,避免依赖客户端对 308 重定向的处理。

鉴权请求头:

Authorization: Bearer sk-你的中转站令牌

不要把上游供应商密钥或管理员密码填进客户端,也不要把自己的中转站令牌放进公开安装包。

常用接口

用途方法与路径说明
模型列表GET /v1/models返回当前令牌可访问的模型。
文本/多模态对话POST /v1/chat/completions使用 OpenAI Chat Completions 格式。
图片生成POST /v1/images/generations能力和参数以模型广场标注为准。
图片编辑/参考图POST /v1/images/editsJSON 或 multipart;参考图能力取决于模型。
图片任务查询GET /v1/images/generations/tasks/{task_id}成功后读取 data[0].url 下载成品。
视频提交POST /v1/videosJSON 或 multipart,返回异步任务 ID。
视频查询GET /v1/videos/{task_id}轮询至完成、失败或取消。
视频成品下载GET /v1/videos/{task_id}/content携带本站令牌,任务完成后返回媒体二进制。

完整调用指南 · 2026-09-07

模型参数 · 素材上传 · 文本 · 图片/多图编辑 · 视频/多图参考 · 任务与下载 · 完整 Python 客户端 · 错误处理

执行生成示例会产生费用。本文按当前程序接口核对;不代表每个模型的每种参考素材组合均做过付费验收。模型是否开放及价格以你的令牌权限、模型广场和管理员确认结果为准。

当前模型与参数

模型名称区分大小写;SD2.0 满血 中间有一个空格。所有生成请求必填 model;文本必填 messages,图片/视频必填非空 prompt。以下为目前这批模型的接口说明,不自动承诺新增模型兼容。

模型接口与参数参考素材与限制
glm-5.2
glm-5.3
chat/completions;messages、max_tokens;stream=false 返回 JSON,stream=true 返回 SSE。输入/输出 Token 分别计费。本指南提供文本示例;不将图片、视频输入视为已验收能力。
gpt-image-2.5
gpt-image-2.5-flare
gpt-image-2.5-sunburst
POST /v1/images/generations;model、prompt 必填。建议 n=1、size=1024x1024、response_format=b64_json;同步返回 data[0].b64_json,Base64 解码后保存为图片。3.64 积分/张。2.5 系列使用直接出图接口,请勿按旧版图片任务轮询。url 格式可能返回需要上游授权的地址,客户端应使用 b64_json。
gpt-image-2images/generations 或 images/edits;n 必须为 1;async 为布尔值;response_format 为 url 或 b64_json;不支持 stream=true。编辑接口本地参考图用 image / image[],可选 mask。多图编辑请求构造已核对,但具体参考组合尚未付费验收。size、quality 等为模型专属可选参数,不建议盲目填入其他模型的参数。
sd25-30svideos;seconds 固定 30;size 可填 1280x720 / 720x1280,也可用 ratio 指定比例。按次计费。最多 30 张参考图,支持本地多文件或公网图片 URL 数组。单文件不超过 20 MiB。仅在此接口明确支持重复 input_reference 文件字段。
sd2.5videos;seconds=30;建议显式填写 size=1280x720 或 720x1280。按次计费。模型标称最多 10 张图,但本站通用视频 multipart 当前只接受 1 个 input_reference 文件;不把多文件直接重复上传当作已支持。音频/视频参考不支持。
SD2.0 满血videos;seconds=5–15;本指南使用 720p 的 1280x720 / 720x1280。固定按次收费,不乘时长。模型标称支持 720p/1080p、图片及音视频参考;本站通用接口当前仅明确提供单张本地参考图示例。1080p 和音视频参考字段需另行验收,不凭模型简介推断传参名称。
wan3.0-videovideos;显式填写 seconds、size=1280x720 或 720x1280;按秒计费,10 秒费用=每秒单价×10。本指南仅提供文本或单图参考。模型标称的多图/音频能力尚无本站完整验收的参数示例;不支持视频参考。
sd2.0-720videos;720p,显式填写 seconds;按秒模型。文档发布核对时基础价格仍未配置完成,暂勿调用。管理员完成定价后才能按同类视频请求使用;具体时长范围尚待确认。
seedance-2.0超分videos;seconds=5–15,720p;按秒计费。可参考下方单图视频请求;实际模型生成能力尚未逐项付费验收。

sd25-30s 的 ratio 可选:1:1、3:4、4:3、9:16、16:9、21:9。不要同时填写相互冲突的 ratio/size 或 seconds/duration;推荐只用本文示例字段。通用视频 size 校验目前明确支持 720x1280、1280x720、1792x1024、1024x1792,后两项不是通用的“1080p 开关”。

参考素材上传:不需要先创建文件 ID

本站当前示例采用随生成请求直接上传,没有已文档化的独立“上传后返回 file_id”接口;不要先调用 /v1/files 再猜参数。

curl 准备

以下多行 curl 为 Bash 写法(Linux/macOS/Git Bash)。Windows PowerShell 推荐直接用下方 Python 示例;PowerShell 中 curl 可能是别名,且不能用 Bash 的反斜线换行。

BASE_URL='https://api.mumugofe.com/v1'
read -rsp '请输入本站 API Key: ' MU_API_KEY; echo
curl --fail-with-body "$BASE_URL/models" \
  -H "Authorization: Bearer $MU_API_KEY"

不要将真实密钥写进示例文件、截图、公开仓库或浏览器网页源码。curl 不要增加自动重试生成 POST 的参数。

文本调用

curl --fail-with-body "$BASE_URL/chat/completions" \
  -H "Authorization: Bearer $MU_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"model":"glm-5.2","messages":[{"role":"user","content":"写一句简短的产品介绍"}],"max_tokens":256,"stream":false}'

非流式正文在 choices[0].message.content。将 model 改为 glm-5.3 可调用另一个文本模型。需要流式时将 stream 改为 true,并给 curl 加 -N;按 SSE 逐条读取 data,不要把整段响应当成一个 JSON 对象。

图片生成与多图编辑

异步文生图

curl --fail-with-body "$BASE_URL/images/generations" \
  -H "Authorization: Bearer $MU_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"model":"gpt-image-2","prompt":"一只坐在窗边的橘猫,柔和自然光","n":1,"async":true,"response_format":"url"}'

立即保存返回的 task_id 或 id。省略 async 或设为 false 时服务端会等待结果,成功返回 data[0].url 或 data[0].b64_json;等待超时并不表示任务失败,见下方恢复示例。

上传两张参考图生成一张图片(编辑接口)

curl --fail-with-body "$BASE_URL/images/edits" \
  -H "Authorization: Bearer $MU_API_KEY" \
  -F 'model=gpt-image-2' \
  -F 'prompt=保留第一张图的主体,参考第二张图的色彩生成一张新图' \
  -F 'n=1' -F 'async=true' -F 'response_format=url' \
  -F 'image[]=@./subject.png;type=image/png' \
  -F 'image[]=@./style.png;type=image/png'

这是本站适配器支持的多文件构造方式,不代表该账号对应的模型已完成多图编辑付费验收;如上游拒绝,不要改成自动重试。可选蒙版用 -F 'mask=@./mask.png;type=image/png',蒙版尺寸及透明区域语义以模型要求为准。

视频提交与多图参考

30 秒视频:本地多图上传

curl --fail-with-body "$BASE_URL/videos" \
  -H "Authorization: Bearer $MU_API_KEY" \
  -F 'model=sd25-30s' -F 'seconds=30' -F 'size=1280x720' \
  -F 'prompt=保持参考人物外观一致,镜头缓慢推进,人物自然行走' \
  -F 'input_reference=@./person.png;type=image/png' \
  -F 'input_reference=@./scene.jpg;type=image/jpeg'

增加参考图时继续添加同名 input_reference 文件字段,最多 30 张;并注意整个请求体限制。此种重复文件传法不要直接复制到其他视频模型。

同一模型:公网图片 URL 数组

curl --fail-with-body "$BASE_URL/videos" \
  -H "Authorization: Bearer $MU_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"model":"sd25-30s","prompt":"保持人物一致,参考场景生成自然运动镜头","seconds":30,"size":"1280x720","images":["https://example.com/person.png","https://example.com/scene.jpg"]}'

WAN:10 秒单图参考视频

curl --fail-with-body "$BASE_URL/videos" \
  -H "Authorization: Bearer $MU_API_KEY" \
  -F 'model=wan3.0-video' -F 'seconds=10' -F 'size=1280x720' \
  -F 'prompt=镜头缓慢推进,参考主体自然移动' \
  -F 'input_reference=@./subject.png;type=image/png'

纯文生视频可省略 input_reference,或使用 JSON:

curl --fail-with-body "$BASE_URL/videos" \
  -H "Authorization: Bearer $MU_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"model":"wan3.0-video","prompt":"清晨海边,镜头缓慢推进","seconds":10,"size":"1280x720"}'

满血版示例将 model 改为 SD2.0 满血,seconds 取 5–15;sd2.5 改为 seconds=30;seedance-2.0超分取 5–15。不要省略时长:通用适配器缺省可能按 4 秒估算,不等于模型默认支持 4 秒。

任务状态、失败处理和成品下载

以下 JSON 是字段结构示意,task_example 不是可用任务。只使用本站返回的任务 ID,不使用其他平台后台的 ID。

{"id":"task_example","object":"video","status":"queued","progress":0}

常见状态:queued(排队)、in_progress(生成中)、completed(完成)、failed(失败)。遇到未知状态应继续查询或联系管理员,不自动重复提交。建议间隔 5–10 秒轮询。

图片查询与下载

TASK_ID='替换为本站返回的任务ID'
curl --fail-with-body "$BASE_URL/images/generations/tasks/$TASK_ID" \
  -H "Authorization: Bearer $MU_API_KEY"

成功时读取 data[0].url(同时可能有 image_url)。这是本站带签名的成品地址,有时效且等同访问凭据。直接下载该地址,不要拼造 /v1/images/{id}/content;那不是本文确认的本站公开下载接口。

IMAGE_URL='粘贴本次查询返回的 data[0].url,仅在自己终端使用'
# 先确认地址是 https://api.mumugofe.com/ 下的链接;不向其他域名发送 API Key。
curl --fail-with-body "$IMAGE_URL" --output result-image.bin

实际图片格式看 Content-Type;修改文件扩展名不会转换格式。URL 过期时重新查询同一任务获取新地址,不重新生成。

视频查询与下载

TASK_ID='替换为本站返回的任务ID'
curl --fail-with-body "$BASE_URL/videos/$TASK_ID" \
  -H "Authorization: Bearer $MU_API_KEY"

# 仅在 status=completed 后执行:
curl --fail-with-body "$BASE_URL/videos/$TASK_ID/content" \
  -H "Authorization: Bearer $MU_API_KEY" \
  --output result.mp4

HTTP 200 不一定就是有效成品,保存前检查 Content-Type 是否为 image/* 或 video/*;下载接口返回 JSON 错误时不要把它当图片或 MP4。下方 Python 客户端已包含检查。

完整 Python 示例:上传 → 查询 → 下载

下载 mumu_api_example.py(Python 3.9+)。首次运行安装 requests;密钥在终端隐藏输入,不放在命令参数中。程序只提交一次,网络错误不自动重发 POST;输出任务 ID 后请保存。

python -m pip install requests

# 文本(以下生成命令都会按模型价格收费)
python mumu_api_example.py --kind text --model glm-5.2 --prompt "写一句产品介绍"

# 图片生成
python mumu_api_example.py --kind image --model gpt-image-2 --prompt "窗边的橘猫" --out cat.bin

# 两张参考图编辑(模型组合仍需验收)
python mumu_api_example.py --kind edit --model gpt-image-2 --prompt "主体参考第一张,色彩参考第二张" --image subject.png --image style.png --out edited.bin

# 30 秒多图视频
python mumu_api_example.py --kind video --model sd25-30s --seconds 30 --size 1280x720 --prompt "人物自然行走" --image person.png --image scene.jpg --out video.mp4

# WAN 10 秒视频
python mumu_api_example.py --kind video --model wan3.0-video --seconds 10 --size 1280x720 --prompt "清晨海边" --out wan.mp4

# 仅恢复查询/下载:不会创建新任务,--task-id 替换为已有 ID
python mumu_api_example.py --kind video --task-id task_example --out resumed.mp4
python mumu_api_example.py --kind image --task-id task_example --out resumed-image.bin

客户端默认查询最多 1800 秒,可用 --wait 调整;停止等待不会取消任务。输出文件已存在时拒绝覆盖,下载中断可能留下部分文件,请用新的文件名恢复下载。公网参考图可将 --image 替换为 --image-url,并且 sd25-30s 可重复使用多次;示例不混用本地文件和 URL。

错误码与避免重复扣费

情况处理
400 / 422参数、格式、时长或素材不符合要求;检查字段和模型支持范围,不自动重试。
401 / 403检查本站令牌、模型/分组权限、余额或额度限制。不能只凭状态码判断一定是余额不足。
404确认接口路径、任务归属与任务 ID;下载前确认任务已完成。
413请求体超过网关限制,压缩或减少素材。
429降低并发;GET 查询可以退避后再查。生成 POST 是否成功不明时先查任务日志。
502 / 504 / 网络断开不等于生成失败。响应有 task_id 就查询同一任务;没有 ID 时到控制台任务日志核查。不要自动重新生成。
completed 但下载失败重查同一任务、刷新成品链接或联系管理员;不要为了重新下载再调用生成接口。

明确失败的任务按本站实际结算记录处理退款;不要把“停止轮询”“客户端超时”当作取消或退款成功。当前文档不提供未经确认的取消接口,也不承诺 Idempotency-Key 对所有生成接口都能去重。

额度与计费

安全建议

可用模型

请以站点顶部的“模型广场”和 GET /v1/models 实时结果为准。上游维护、余额不足或风控可能导致个别模型临时不可用。