Skip to Content
MiniMax H3 文档API 调用MiniMax-H3-Image 图片生成 API

MiniMax-H3-Image 图片生成 API

MiniMax-H3-Image 支持文生图和参考图编辑,提供 1K、2K、4K 三种分辨率、10 种固定画面比例,最多使用 10 张参考图,输出 PNG 图片。

通过共用的 /image/v1/* 异步图片接口调用:创建任务后获取 task_id,轮询任务状态,成功后从 output_url 下载结果。查询配置和创建任务时均需明确选择 MiniMax-H3-Image。

接入信息

  • 请求地址:https://cp.compshare.cn。
  • 鉴权:Authorization: Bearer <YOUR_API_KEY>,使用 MiniMax H3 模块的 sk-ml- 模型 API Key。获取步骤见获取 API Key。
  • JSON 请求必须携带 Content-Type: application/json。
  • 创建任务必须携带 Idempotency-Key,去除首尾空白后为 1~128 个字符,建议使用 UUID。
  • 任务、参考图及积分余额归属于 API Key 对应的顶级组织,与工作台共享。

模型名称为 MiniMax-H3-Image,区分大小写。配置查询或创建请求省略 model、或传空字符串时,默认选择 Qwen-Image-2.1;未知模型名称返回 HTTP 400。

接口总览

功能方法路径
查询 H3 配置与价格GET/image/v1/config?model=MiniMax-H3-Image
创建图片生成任务POST/image/v1/tasks
查询单个任务GET/image/v1/tasks/{task_id}
查询任务列表GET/image/v1/tasks
取消任务POST/image/v1/tasks/{task_id}/cancel
删除任务DELETE/image/v1/tasks/{task_id}
获取参考图上传地址POST/image/v1/upload_urls
登记参考图素材POST/image/v1/assets

查询配置与价格

curl 'https://cp.compshare.cn/image/v1/config?model=MiniMax-H3-Image' \ -H 'Authorization: Bearer <YOUR_API_KEY>'

响应参数

名称类型描述
modelString本次查询的模型,为 MiniMax-H3-Image
availableBoolean所选模型当前是否可创建任务
unavailable_reasonString不可用原因,可用时为空字符串
price_versionStringH3 的当前价格版本,未配置时为 null
pricesObject包含 1K、2K、4K;未开放的档位为 null
prices.1K.baseInteger1K 每张生成图片的基础积分
prices.1K.per_referenceInteger1K 每张参考图额外增加的积分
prices.2K.baseInteger2K 每张生成图片的基础积分
prices.2K.per_referenceInteger2K 每张参考图额外增加的积分
prices.4K.baseInteger4K 每张生成图片的基础积分
prices.4K.per_referenceInteger4K 每张参考图额外增加的积分
moderation_availableBoolean提示词审核服务是否可用
reference_moderation_availableBoolean参考图审核服务是否可用
prompt_optimization_availableBoolean提示词智能优化是否可用
prompt_optimization_default_enabledBoolean平台配置的优化默认开关;API 调用以请求中的 optimize_prompt 为准

响应示例,价格仅供说明,实际以接口返回为准:

{ "model": "MiniMax-H3-Image", "available": true, "unavailable_reason": "", "price_version": "1", "prices": { "1K": {"base": 12, "per_reference": 3}, "2K": {"base": 13, "per_reference": 3}, "4K": {"base": 38, "per_reference": 3} }, "moderation_available": true, "reference_moderation_available": true, "prompt_optimization_available": true, "prompt_optimization_default_enabled": true }

积分规则

单张积分费用 = 所选档位的 base + per_reference × 参考图张数

H3 与 Qwen 分别维护价格和价格版本。创建任务时,平台自动查询 H3 的价格版本并提交,调用方无需传入 price_version。所选档位为 null 时不可创建。

创建任务时预占积分,成功后扣除;失败、取消或审核拦截后释放。两种图片模型与视频、语音共用组织积分余额,查询方式见查询积分余额。

创建图片生成任务

POST https://cp.compshare.cn/image/v1/tasks

每次请求创建一个任务,生成一张 PNG 图片。

请求参数

名称类型必填描述示例值
modelString是(调用 H3 时)明确选择 MiniMax-H3-Image;省略或为空会使用 QwenMiniMax-H3-Image
promptString是原始提示词,最多 7000 个 Unicode 字符,不能只有空白山谷中的木屋,清晨薄雾,电影感光影
optimize_promptBoolean否是否开启提示词智能优化,默认 falsetrue
aspect_ratioString否支持下表中的 10 种比例,默认 1:121:9
resolutionString否1K、2K 或 4K,默认 1K;可用性以 H3 配置中的档位价格为准4K
reference_imagesArray of Object否最多 10 张,按数组顺序引用,每项填写已登记素材的 asset_id[{"asset_id":"<ASSET_ID>"}]

输出宽高由模型、分辨率和比例共同决定,无需传入 width、height 或 output_format。不支持的请求体字段会返回 HTTP 400。

输出尺寸

H3 使用独立尺寸表,与 Qwen 相同比例的像素尺寸也可能不同。提示词中的尺寸描述和参考图尺寸不会改变下表规格。

宽高比1K(宽 × 高)2K(宽 × 高)4K(宽 × 高)
21:91568 × 6723136 × 13446272 × 2688
16:91376 × 7682720 × 15365472 × 3072
5:41152 × 9282304 × 18244576 × 3648
4:31184 × 8962368 × 17604736 × 3552
3:21248 × 8322496 × 16645024 × 3360
1:11024 × 10242048 × 20484096 × 4096
2:3832 × 12481664 × 24963360 × 5024
3:4896 × 11841760 × 23683552 × 4736
4:5928 × 11521824 × 23043648 × 4576
9:16768 × 13761536 × 27203072 × 5472

文生图示例

curl -X POST 'https://cp.compshare.cn/image/v1/tasks' \ -H 'Authorization: Bearer <YOUR_API_KEY>' \ -H 'Content-Type: application/json' \ -H 'Idempotency-Key: h3-image-text-001' \ -d '{ "model": "MiniMax-H3-Image", "prompt": "山谷中的木屋,清晨薄雾,远山层叠,电影感光影", "aspect_ratio": "21:9", "resolution": "4K" }'

成功响应:

{"task_id": "<TASK_ID>"}

参考图生图示例

参考图先按获取上传地址 → PUT 上传 → 登记素材流程获取 asset_id。支持 JPG、JPEG、PNG、WebP,单张上限 30 MiB;API 上传原始图片,不进行缩放或裁剪。Qwen 与 H3 可使用同一组织的参考图素材。

curl -X POST 'https://cp.compshare.cn/image/v1/tasks' \ -H 'Authorization: Bearer <YOUR_API_KEY>' \ -H 'Content-Type: application/json' \ -H 'Idempotency-Key: h3-image-reference-001' \ -d '{ "model": "MiniMax-H3-Image", "prompt": "将图 1 中的角色放入图 2 的场景,保持角色服装不变,水彩风格", "aspect_ratio": "4:5", "resolution": "2K", "reference_images": [ {"asset_id": "<ASSET_ID_1>"}, {"asset_id": "<ASSET_ID_2>"} ] }'

幂等与重试

  • 同一组织使用相同 Idempotency-Key 和相同参数重试,会返回原任务,不会重复创建或重复扣费。
  • 创建请求超时后,保留原键重试;更换模型或修改生成参数后创建新任务,必须使用新的键。
  • 取价与创建之间价格版本发生变化时,请求会被拒绝;使用原键重试,平台重新读取所选模型的价格版本。

查询任务与下载结果

curl 'https://cp.compshare.cn/image/v1/tasks/<TASK_ID>' \ -H 'Authorization: Bearer <YOUR_API_KEY>'

响应中的 task.input.model 标明生成模型。以下为成功响应的主要字段:

{ "task": { "task_id": "<TASK_ID>", "status": "succeeded", "can_cancel": false, "input": { "model": "MiniMax-H3-Image", "prompt": "山谷中的木屋,清晨薄雾,远山层叠,电影感光影", "optimize_prompt": false, "aspect_ratio": "21:9", "resolution": "4K", "width": 6272, "height": 2688, "output_format": "png", "reference_images": [] }, "prompt_optimization": {"status": "disabled"}, "point_cost": 38, "point_status": "consumed", "output_url": "https://example.com/generated/h3-image.png" } }

建议每隔 3 秒轮询。succeeded、failed、cancelled、blocked 为终态;成功后下载 task.output_url,失败时查看 error_code、error_message。完整字段、时间戳与状态定义见查询单个任务和任务状态与错误处理。

列表、取消与删除

  • 查询任务列表:支持分页、状态和时间筛选;列表包含当前组织的 Qwen 和 H3 任务,通过每条记录的 input.model 区分模型。
  • 取消任务:仅 can_cancel=true 时可取消,成功后释放预占积分。
  • 删除任务:须满足终态及结算条件,删除后结果文件会被删除,已消费积分不退回。

鉴权错误返回 HTTP 401,网关参数错误返回 400,下游连接或响应解析失败返回 502。业务错误保留下游响应:即使 HTTP 为 200,RetCode 非零仍表示失败。具体处理见请求错误。

完整调用示例

以下 Python 示例使用标准库完成「查 H3 价格 → 创建任务 → 轮询 → 下载」。先设置环境变量 COMPSHARE_API_KEY。

import json import os import time import uuid from pathlib import Path from urllib.request import Request, urlopen BASE_URL = "https://cp.compshare.cn" API_KEY = os.environ["COMPSHARE_API_KEY"] MODEL = "MiniMax-H3-Image" RESOLUTION = "2K" def api(method, path, body=None, idempotency_key=None): headers = {"Authorization": f"Bearer {API_KEY}", "Accept": "application/json"} data = None if body is not None: headers["Content-Type"] = "application/json" data = json.dumps(body, ensure_ascii=False).encode("utf-8") if idempotency_key: headers["Idempotency-Key"] = idempotency_key request = Request(BASE_URL + path, data=data, headers=headers, method=method) # 非 2xx 响应由 urlopen 抛出 HTTPError;2xx 响应仍需检查业务错误。 with urlopen(request, timeout=60) as response: result = json.load(response) if result.get("RetCode", 0) != 0 or "error" in result: raise RuntimeError(result) return result config = api("GET", f"/image/v1/config?model={MODEL}") if not config["available"]: raise RuntimeError(config.get("unavailable_reason") or "H3 图片生成当前不可用") if config["prices"].get(RESOLUTION) is None: raise RuntimeError(f"H3 的 {RESOLUTION} 档位暂未开放") # 保存此键;若创建请求超时,应使用同一键和相同请求重试。 idempotency_key = str(uuid.uuid4()) print("Idempotency-Key:", idempotency_key) result = api("POST", "/image/v1/tasks", { "model": MODEL, "prompt": "山谷中的木屋,清晨薄雾,远山层叠,电影感光影", "aspect_ratio": "16:9", "resolution": RESOLUTION, }, idempotency_key=idempotency_key) task_id = result["task_id"] print("task_id:", task_id) deadline = time.monotonic() + 1200 while time.monotonic() < deadline: task = api("GET", f"/image/v1/tasks/{task_id}")["task"] if task["status"] == "succeeded": # 下载公共结果地址时无需携带模型 API Key。 with urlopen(task["output_url"], timeout=60) as image: Path("h3-image.png").write_bytes(image.read()) print("已保存 h3-image.png,模型:", task["input"]["model"]) print("消耗积分:", task["point_cost"]) break if task["status"] in {"failed", "cancelled", "blocked"}: raise RuntimeError(task.get("error_message") or task["status"]) time.sleep(3) else: raise TimeoutError(f"轮询超时,可继续查询任务 {task_id}")
Last updated on