Media / Images

图片生成与编辑完整指南

先用模型广场的实时端点确定协议,再按本页的能力门槛提交请求。页面提供完整结构与停止条件,但不会把未经真实调用验证的编辑、尺寸或 Banana 图片路径写成可用承诺。

Evidence Gate

先看证据等级,再决定能否提交

等级含义可以得出的结论
E1协议或静态路由已确认可以说明请求结构,不能证明某个模型可用
E2当前公开模型元数据匹配可以按标签筛选候选模型,不能证明上游成功返回图片
E3请求已进入路由或转换链路可以定位失败层级,仍不等于生成成功
E4当前生产版本完成低额度真实调用并验证结果才可以把精确路径、参数和响应写为“已验证”
本页边界截至 2026-07-18,公开元数据可用于筛选图片候选模型;图片编辑、精确尺寸、Nano Banana 当前生成/编辑协议均未达到 E4。本次文档编写没有发送任何 API 请求。

OpenAI Images

OpenAI 图片协议选择

  1. 打开模型广场,复制精确模型名,不根据截图、昵称或厂商名称猜测。
  2. 只有模型显示 image-generation 时,才把 POST /v1/images/generations 作为候选生成入口。
  3. 首次调用仅提交 modelprompt;尺寸、质量、数量、格式都等最小请求成功后再逐项添加。
  4. 提交前确认实时价格和一次请求预算;生成 POST 不得因超时、空结果或解析失败自动重试。
认证Authorization: Bearer YOUR_API_KEY
生成候选路径https://api.muxllm.com/v1/images/generations

GPT Image / Text to Image

文生图 gpt-image

公开模型元数据中存在 GPT Image 系列和 image-generation 标签,这是 E2 级候选信息。下面示例刻意不填写尺寸、质量和数量,避免把某一上游的可选字段误写为全系列通用能力。

最小 cURL 请求
curl https://api.muxllm.com/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_NAME_FROM_MARKETPLACE",
    "prompt": "一张明亮、真实的现代工作台产品图,主体完整,背景整洁"
  }'
Python SDK(禁用自动重试)
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["MUXLLM_API_KEY"],
    base_url="https://api.muxllm.com/v1",
    max_retries=0,
)

result = client.images.generate(
    model="MODEL_NAME_FROM_MARKETPLACE",
    prompt="一张明亮、真实的现代工作台产品图,主体完整,背景整洁",
)

print(result.model_dump_json(indent=2))
model必须来自当前模型广场,并显示图片生成端点;不要使用本文标题代替真实模型 ID。
prompt写清主体、场景、构图、光线、风格和需要避免的内容;不要在 Prompt 中放入密钥或个人敏感数据。
可选参数只有模型详情明确列出且最小请求成功后,才添加尺寸、质量、数量或输出格式;一次只加一项,便于定位 400。

GPT Image / Image to Image

图生图与图片编辑必须单独验收

image-generation 只证明模型被展示为生成候选,不能推出它接受图片文件、遮罩或 /v1/images/edits。当前编辑能力未达到 E4,因此本节提供受控验证流程,而不是“可直接使用”的承诺。

  1. 先在模型详情中寻找明确的编辑端点、文件字段、格式和大小限制;没有这些信息就停止。
  2. 使用去除 EXIF 的非敏感测试图,确认你有权上传和处理该素材。
  3. 首次只上传一张图片与一条短指令,不加入遮罩、多图、尺寸或质量参数。
  4. 只允许一次低额度 POST。超时、5xx、空结果或未知响应都先保留原始响应并停止,不自动重发。
模型详情明确支持编辑后使用的请求模板
编辑端点占位模板
EDIT_URL="COPY_THE_CONFIRMED_EDIT_URL_HERE"

curl "$EDIT_URL" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "model=MODEL_NAME_FROM_MARKETPLACE" \
  -F "image=@PATH_TO_NON_SENSITIVE_TEST_IMAGE.png" \
  -F "prompt=保留主体,将背景替换为明亮的现代办公室"
停止条件模型详情没有编辑入口、字段映射不清、精确价格未知或测试图不适合上传时,停止操作;不要把生成接口、聊天接口和编辑接口互相试撞。

Gemini Images

Nano Banana 不是图片兼容端点的同义词

Nano Banana 系列应按当前模型详情显示的协议选择 OpenAI 对话兼容或 Gemini 原生请求。历史真实测试已证明:在当时版本中,把当时验证的 Banana 图片模型直接提交到 /v1/images/generations 会在 NEW API 本地转换阶段失败,请求未到达上游。

历史 E3 证据2026-06-10 在 NEW API v1.0.0-rc.10gemini-3.1-flash-image-previewgemini-3-pro-image-preview 的受控测试均返回 HTTP 500、local:convert_request_failed: not supported model for image generation;请求未到达上游。这只能证明当时该路径不可用;截至本页核验日期,尚无新的 E4 证据允许把 Banana 图片专用端点写为已恢复。
模型详情标签候选协议动作
geminigenerateContent使用 MuxLLM 根地址和 x-goog-api-key,再核对模型支持的内容结构
openaichat/completions使用 OpenAI 兼容根地址,但不能由此推断一定返回图片
image-generation图片生成候选仍需当前版本 E4 复验;不要用历史展示标签替代真实结果
无明确标签或互相冲突未知停止并报告模型名、公开标签和缺失信息

Nano Banana / Size Planning

参考比例可以规划,精确像素不能预设

常见构图比例可用于描述设计目标,但它们不是 MuxLLM 当前 Banana 模型的已验证像素白名单。精确尺寸、最大边长、输出格式和是否支持尺寸字段均未达到 E4。

目标参考比例Prompt 表达请求参数
头像 / 方形封面1:1方形构图,主体居中,四周留安全边距未确认前不发送尺寸字段
横版内容4:316:9横向构图,主体完整,预留文字区域以模型详情的精确字段为准
竖版内容3:49:16纵向构图,关键元素避开上下裁切区不得照搬其他站点像素值

若上游只支持固定像素组合,应在一次最小请求成功后,从当前模型说明中选择;不要把“比例建议”转换成未经确认的 size 值。

Nano Banana / Conversational Flow

对话生图与编辑的协议骨架

对话模式适合在同一会话中描述生成目标或修改意见,但“能对话”不等于“会返回图片”。先确认目标模型同时支持所选协议和图片输出,再使用以下最小骨架。

Gemini 原生 generateContent 骨架(未 E4)
Gemini 原生最小结构
curl https://api.muxllm.com/v1beta/models/MODEL_NAME_FROM_MARKETPLACE:generateContent \
  -H "x-goog-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "role": "user",
      "parts": [{ "text": "生成一张主体完整、背景简洁的产品图片" }]
    }]
  }'
OpenAI 对话兼容骨架(未 E4)
Chat Completions 最小结构
curl https://api.muxllm.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_NAME_FROM_MARKETPLACE",
    "messages": [{
      "role": "user",
      "content": "生成一张主体完整、背景简洁的产品图片"
    }]
  }'
响应判断只有响应中实际包含可解码图片数据或可下载图片 URL,且文件结构验证通过,才算图片结果;文字描述、文件 ID、空数组或未知字段都不能自动触发第二次生成。

Nano Banana / Generate

图像生成执行顺序

  1. 01锁定模型

    从实时模型广场复制完整模型名和全部端点标签。

  2. 02选择协议

    优先使用模型详情明确列出的 Gemini 或 OpenAI 对话协议。

  3. 03最小提交

    只传模型和 Prompt;不猜尺寸、质量、数量或模态字段。

  4. 04验证文件

    确认 MIME、文件头、完整解码和实际尺寸,再报告成功。

无映射即停止如果模型详情没有可复制协议,或响应结构与本文骨架不一致,不要在图片、聊天和 Gemini 端点之间自动轮试。记录脱敏错误和模型标签后停止。

Nano Banana / Edit

图像编辑需要图片输入字段的明确证据

编辑通常需要把原图作为远程 URL 或 Base64 内容块与文字指令放在同一请求中,但具体字段名、MIME 写法、多图顺序和输出配置会随协议变化。当前没有 E4 证据允许把某一结构写成 MuxLLM Banana 的固定规范。

输入图片使用去除敏感元数据的测试图;先确认远程 URL 或内联 Base64 哪一种被支持。
编辑指令分别写清必须保留、允许改变和禁止出现的内容,避免只写“优化一下”。
结果关联保存原图哈希、脱敏请求摘要和响应;不要用同一文件名静默覆盖原图。
失败处理400、转换失败、未知字段或只返回文字时停止,不改端点自动重试。
未 E4本节不提供可直接提交的编辑请求,是为了防止把其他站点的字段、尺寸或图片数量限制误用于 MuxLLM 并产生付费失败。

Result Handling

验证响应,再保存图片

响应形态处理方法是否可以重提生成
Base64 图片严格解码,检查文件头、MIME、完整像素解码和大小上限解码失败先保留响应并停止
图片 URL只对下载 GET 做有限重试,验证内容类型与图片结构后保存下载失败不等于生成失败,不重发 POST
URL 与文件 ID优先使用可验证 URL,并记录文件 ID 供排查不重复生成
只有文件 ID、空数组或未知字段保留脱敏原始响应并停止,检查日志或文档禁止自动重发

Cost & Safety

一次生成就是一次付费边界

先确认价格

在模型广场核对模型、分组和实时计费方式;不要把其他站点价格复制到本站。

首次只生成一张

若数量字段未确认,不发送;批量任务应在单张结果完成文件验证后再单独批准。

凭证只放环境变量

不要把 API Key 写进 Prompt、网页、仓库、截图、日志或输出文件。

禁止自动付费重试

POST 超时、5xx、解析失败或下载失败都不能触发第二次生成;先核对日志与原响应。

Troubleshooting

按失败层级排查

现象优先检查处理
401认证头、Key 来源、Key 是否属于当前站点修正凭证配置,不更换模型试撞
404Base URL 是否重复或遗漏 /v1,路径是否来自模型详情按协议修正完整 URL
400 参数错误先移除尺寸、质量、数量、格式和其他可选字段回到只有模型与 Prompt 的最小请求
local:convert_request_failed模型是否被错误提交到图片转换器停止;按模型标签重新确认 Chat 或 Gemini 协议,不自动轮试
5xx 或超时请求日志、是否已扣费、是否已有结果标识不重发 POST,先核对原任务
有响应但无有效图片URL、Base64、文件头、MIME 与文件 ID保存脱敏响应并停止,不把文字说明当图片

Next

用受控工作流生成第一张图

先完成模型、协议、价格和单次预算确认,再使用只提交一次的 AI 绘图 Skill Prompt。