跳到正文
全部文档

参考

POST /v1/images/generations

用文本提示词生成图片,格式与 OpenAI 相同:SDK 的 images.generate 只需替换 base URL 即可使用。图片在响应中返回,我们不保留副本。

核对于 2026年11月6日

生成一张图片

import base64
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://nokeep.ai/v1",
    api_key=os.environ["NOKEEP_API_KEY"],
)

result = client.images.generate(
    model="z-image-turbo",
    prompt="A lighthouse on a rocky coast at dusk",
    size="1024x1024",
)

with open("picture.webp", "wb") as f:
    f.write(base64.b64decode(result.data[0].b64_json))

模型

模型适合每张尺寸最长提示词
chroma一个开放模型,能读懂很长、很详细的提示词。$0.03边长最大 1280 像素,以 1.5 倍返回7,500 字符
z-image-turbo这里最快的模型,适合批量生成摄影风格的图片。$0.03边长最大 1280 像素7,500 字符
wai-illustrious动漫与插画。$0.03边长最大 1280 像素1,500 字符
krea-2-turbo能保持已知角色和统一画风,支持 1K 或 2K。$0.08(1K),$0.12(2K)1:1、3:2、16:9、21:9、9:16、2:3、3:4、4:55,000 字符

GET /v1/models 列出相同的价格和限制。

请求

字段取值作用
model必填上表中的一个模型 id。
prompt必填要绘制的内容,按原样发送给模型。超出模型上限会被拒绝,绝不截断。
sizeWIDTHxHEIGHT 或 auto图片尺寸,默认 1024x1024。见尺寸。
aspect_ratio1:1、3:2、2:3、4:3、3:4、4:5、16:9、9:16、21:9以比例代替 size。两者同时发送时,以它为准。
n1 至 4图片张数。你只为返回的图片付费。
response_formatb64_json 或 url默认为 b64_json。url 返回的是 data: URL,而不是已存储文件的链接。
output_formatwebp、png 或 jpeg默认为 webp。
resolution1K 或 2K仅 krea-2-turbo 支持,并以此计价。
seed整数相同的 seed 和提示词会得到相似的图片。使用 n 时,每张图片的 seed 依次加一。
negative_prompt文本要排除的内容。它不参与硬性限制检查,并且并非每个模型都会考虑它。
steps1 至 50步数越多耗时越长。并非每个模型都使用它。
cfg_scale大于 0,最大 20与提示词的贴合程度。并非每个模型都使用它。

其他字段(如 quality、style 或 user)会被丢弃,并在 x-nokeep-ignored 响应头中列出。携带图片的字段(如 image)会以 400 unsupported_input 被拒绝:这些模型只支持文本输入。

尺寸

  • 边长至少为 256 像素,且较长一边不超过较短一边的三倍。超出范围会返回 400 unsupported_size。
  • 超过上限的尺寸会等比缩小,装入 1280 像素边长之内。例如 OpenAI 的 1536x1024 会绘制为 1280x848。
  • chroma 返回的像素是其绘制尺寸的 1.5 倍,不额外收费,因此 1024x1024 会返回为 1536x1536。
  • krea-2-turbo 只绘制具名的比例形状,因此 size 会被取为最接近的一种。
  • 响应中的 size 或 aspect_ratio 总会说明你实际得到的结果。

响应

JSON
{
  "created": 1793960000,
  "data": [
    {
      "b64_json": "UklGRk…"
    }
  ],
  "model": "z-image-turbo",
  "output_format": "webp",
  "size": "1024x1024",
  "usage": {
    "images": 1,
    "nokeep_credits": 30
  }
}

x-nokeep-credits 和 x-nokeep-balance 响应头会说明本次调用花费多少、余额还剩多少,与对话中的用法相同。图片在返回时才计费。失败或被拒绝的图片不收费。

模型会生成什么

在主办方标记为无审查的模型上,成人内容属于允许范围。z-image-turbo 不在其列,并且在我们的检查中最为保守,因此它返回的内容可能比你要求的更温和。

四项硬性限制保持不变:涉及未成年人的性内容、涉及真实人物的性内容、大规模伤害,以及针对真实人物的内容。触犯其中任何一项的提示词会收到 422 hard_limit,且不收费。检查读取的是提示词;见硬性限制。模型的主办方也可能拒绝请求或扣留结果,那会返回 422 content_refused,同样免费。

限制与错误

每个密钥每分钟可发出 60 次图片请求,并计入其 120 次总请求数。超出则返回 429 rate_limited 并附带 Retry-After。错误页面列出了所有错误码。

要在不花钱的情况下检查代码,请使用 sk-nokeep-test 作为密钥。它会运行上面的所有检查,并返回一张 1 像素的图片。

curl
curl https://nokeep.ai/v1/images/generations \
  -H "Authorization: Bearer $NOKEEP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "chroma",
  "prompt": "A lighthouse on a rocky coast at dusk",
  "n": 2,
  "aspect_ratio": "16:9",
  "output_format": "png",
  "seed": 42
}'