Skip to content

docs(ai-chat): image models aren't chat models - #832

Merged
Germey merged 1 commit into
mainfrom
fix/ai-chat-image-model-endpoint-note
Aug 4, 2026
Merged

docs(ai-chat): image models aren't chat models#832
Germey merged 1 commit into
mainfrom
fix/ai-chat-image-model-endpoint-note

Conversation

@acedatacloud-dev

Copy link
Copy Markdown
Member

问题

skills/ai-chat/SKILL.md 的模型表挂在一个同时声明了四个端点的标题下:

| POST /aichat2/conversations       | Recommended stateful ... |
| POST /aichat/conversations        | Legacy ...               |
| POST /openai/chat/completions     | OpenAI-compatible ...    |
| POST /openai/responses            | OpenAI-compatible ...    |

表名是通用的 "Currently Documented Model Families",没有任何 per-endpoint 归属标注。所以 Gemini 那行里的 gemini-3.1-flash-image-preview 读起来像是"上面任一端点都能用"。

实际上哪个都不能用。 这是个给 LLM agent 读的 skill,含糊会直接变成错误调用。

实测证据

同一个 payload 形状打 /aichat2/conversations

model HTTP
gemini-3.1-pro(对照组) 200 {"answer":"OK"}
gemini-3.1-flash-image-preview 400
gpt-4o-image 500
gpt-image-1 400

对照组排除了"payload 格式不对"这个解释——文本模型用同样的结构就是 200。

图像模型在账号池里只有 native 通道,chat 类端点一律打不通。

改动

  • 从 Gemini 行移除 gemini-3.1-flash-image-preview
  • 加一段覆盖整个 -image 类的说明,指向真正能用的端点
> **Image-generating models are not chat models.** Names ending in `-image`
> (e.g. `gemini-*-image`, `gpt-4o-image`) are image-generation models and do
> not work on any chat surface listed above. Generate images through the
> dedicated endpoints instead — Gemini via
> `POST /v1beta/models/{model}:generateContent`, or `/nano-banana/images`.

写成类别规则而非逐个点名,这样将来新增 -image 模型不必再改这里。

.agents/.github/ 下无该模型名的副本(grep 零命中),无需同步。

关联

顺带发现(本 PR 不处理)

/aichat2/conversations 的 OpenAPI enum 里还留着这三个图像模型(gpt-4o-imagegpt-image-1gemini-3.1-flash-image-preview),实测全部失败。那是独立议题——涉及 OpenAI 系上游、根因不同,需要单独调查,不宜塞进这次 gemini 收尾。

🤖 Generated with Claude Code

The model table sits under a heading that covers both /aichat2/conversations
and /openai/chat/completions, with no per-endpoint attribution — so listing
`gemini-3.1-flash-image-preview` among the text models reads as "usable on
either". It isn't usable on either.

Verified against production: with an identical payload, `gemini-3.1-pro`
returns 200 on /aichat2/conversations while `gemini-3.1-flash-image-preview`
returns 400. `gpt-4o-image` (500) and `gpt-image-1` (400) fail there too.

Drop it from the table and add a note covering the whole `-image` class,
pointing at the endpoints that do serve them.
@Germey
Germey merged commit 86f8ef3 into main Aug 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants