本文へ移動
すべてのドキュメント

リファレンス

POST /v1/images/generations

テキストのプロンプトから画像を生成します。OpenAI形式なので、SDKの images.generate はベース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))

モデル

モデル向いている用途1枚あたりサイズ最長のプロンプト
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:9size の代わりに形を指定します。両方送ると、こちらが優先されます。
n1〜4枚数。返ってきた画像の分だけ料金がかかります。
response_formatb64_json または url既定は b64_json。url は保存されたファイルへのリンクではなく、data: URLを返します。
output_formatwebp、png または jpeg既定は webp。
resolution1K または 2Kkrea-2-turbo だけで使えます。料金もこれで決まります。
seed整数同じシードとプロンプトなら、似た画像になります。n を使うと、各画像でシードが1ずつ増えます。
negative_promptテキスト除外したい内容。ハード制限のチェックでは読まれず、すべてのモデルが考慮するわけではありません。
steps1〜50ステップ数を増やすと時間がかかります。すべてのモデルが使うわけではありません。
cfg_scale0より大きく、20までプロンプトにどれだけ忠実に従うか。すべてのモデルが使うわけではありません。

quality、style、user など、それ以外の項目は破棄され、x-nokeep-ignored ヘッダーに名前が挙がります。image のように画像を運ぶ項目は、400 unsupported_input で拒否されます。これらのモデルはテキストだけで動くためです。

サイズ

  • 一辺は256ピクセル以上で、長い辺は短い辺の3倍までです。外れると 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 はその一つではなく、当社の確認で最も抑えめだったため、依頼どおりより穏やかな画像になることがあります。

4つのハード制限は残ります。未成年者の性的なコンテンツ、実在の人物の性的なコンテンツ、大量殺傷につながる危害、実在の人物への攻撃です。これに当たるプロンプトは 422 hard_limit になり、料金はかかりません。チェックはプロンプトを読みます。詳しくはハード制限を参照してください。モデルのホストがリクエストを拒否したり結果を保留したりすることもあります。その場合は 422 content_refused で、これも無料です。

上限とエラー

1つのキーで毎分60件の画像リクエストができ、全体では120リクエストの上限内に収まります。超えると Retry-After 付きの 429 rate_limited になります。すべてのコードはエラーページにあります。

料金をかけずにコードを確認するには、キーとして 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
}'