基于真实调用验证
https://api.new.biAuthorization: Bearer <KEY>(OpenAI 风格)GET https://api.new.bi/v1/models(返回该 key 可用模型)该令牌 无权访问模型,且 /v1/models 只暴露 2 个无渠道的 claude(非真实能力)。POST https://api.new.bi/v1beta/models/{model}:generateContent?key=<KEY>⚠️ 必须带 ?key=<KEY>(URL 查询参数),否则报Model name empty;Authorization头也兼容。
{
"contents": [ { "parts": [ { "text": "木桌上的红苹果,棚拍光线,极简背景" } ] } ],
"generationConfig": {
"responseModalities": ["TEXT","IMAGE"], // IMAGE | TEXT | IMAGE+TEXT
"imageConfig": {
"imageSize": "1K", // 1K | 2K | 4K(K 大写)
"aspectRatio": "1:1" // 省略则自动;不要传 "auto"
}
}
}| 模型 | 1K | 2K | 4K | 宽高比 |
|---|---|---|---|---|
gemini-3.1-flash-image-preview | 1024² ✅ | 2048² ✅ | 4096² ✅ | ✅(2K+16:9 → 2752×1536) |
gemini-3-pro-image-preview | 1024² ✅ | 2048² ✅ | 未测 | 同一引擎,应一致 |
candidates[0].content.parts[].inlineData.data(base64):{ "candidates": [ { "content": { "parts": [
{ "inlineData": { "mimeType": "image/jpeg", "data": "<BASE64>" } }
] } } ] }POST https://api.new.bi/v1/chat/completions{
"model": "gemini-3.1-flash-image-preview",
"messages": [ { "role": "user", "content": "一只橘猫戴着耳机打碟" } ],
"max_tokens": 6000
}choices[0].message.content,是 markdown 字符串:,需正则抠出 data:image/*;base64, 后 base64 解码。size 参数被网关忽略,永远固定 1024×1024。 需要 2K/4K 或宽高比就走上面的原生端点。| 坑 | 说明 / 应对 |
|---|---|
| 初始 403 | 未在后台关闭"按令牌限定模型"→ 需先在 New API 后台放开 |
size 参数无效 | OpenAI 兼容路径固定 1024²;要 2K/4K 必须走原生端点 + imageConfig |
| 连续调用 503 | 无可用渠道(distributor)= 上游限流/临时不可用,非参数错;隔几十秒重试 |
| 原生段点不报错 | 漏了 URL 的 ?key= 会报 Model name empty,务必带上 |
| 只返回 base64 | 本网关两种路径都不给 fileUri/公开 URL;要长期链接需自行转存 |
gemini-3-pro-image-preview、gemini-3.1-flash-image-preview、gemini-3.1-flash-image、gemini-3.1-flash-lite-image、gemini-2.5-flash-image、gemini-2.5-flash-image-preview、gpt-image-2-d、gpt-image-2-1k、grok-imagine-image,以及若干 *-tts-preview