المرجع
POST /v1/images/generations
أنشئ صورًا من نص المطالبة، بصيغة OpenAI: يعمل images.generate في SDK بعد تغيير عنوان الأساس وحده. تعود الصور في الرد، ولا نحتفظ بنسخة منها.
تم التحقق في 6 نوفمبر 2026
أنشئ صورة
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.5x | 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:5 | 5,000 حرف |
يعرض GET /v1/models الأسعار والحدود نفسها.
الطلب
| الحقل | يأخذ | ما يفعله |
|---|---|---|
model | مطلوب | واحد من معرّفات النماذج أعلاه. |
prompt | مطلوب | ما يُرسم، ويُرسل إلى النموذج كما كُتب. ما يتجاوز حد النموذج يُرفض، ولا يُقصّ أبدًا. |
size | WIDTHxHEIGHT أو auto | حجم الصورة. الافتراضي 1024x1024. انظر الأحجام. |
aspect_ratio | 1:1، 3:2، 2:3، 4:3، 3:4، 4:5، 16:9، 9:16، 21:9 | شكل يُستخدم بدلًا من size، ويغلب عليه إذا أُرسلا معًا. |
n | من 1 إلى 4 | عدد الصور. تدفع مقابل ما يعود منها. |
response_format | b64_json أو url | الافتراضي b64_json. يعيد url رابط data:، لا رابطًا إلى ملف محفوظ. |
output_format | webp أو png أو jpeg | الافتراضي webp. |
resolution | 1K أو 2K | لـ krea-2-turbo وحده، ويُسعَّر به. |
seed | عدد صحيح | البذرة نفسها والمطالبة نفسها تعطيان صورة متشابهة. مع n، تضيف كل صورة واحدًا إليها. |
negative_prompt | نص | ما يُستبعد. لا يقرؤه فحص الحدود الصارمة، وليس كل نموذج يأخذه في الحسبان. |
steps | من 1 إلى 50 | الخطوات الأكثر تستغرق وقتًا أطول. ليس كل نموذج يستخدمها. |
cfg_scale | أكبر من 0 حتى 20 | مدى الالتزام بالمطالبة. ليس كل نموذج يستخدمه. |
أي حقل آخر، مثل quality أو style أو user، يُسقط ويُذكر في ترويسة x-nokeep-ignored. الحقل الذي يحمل صورة، مثل image، يُرفض بالخطأ 400 unsupported_input: هذه النماذج تعمل بالنص وحده.
الأحجام
- يمكن أن يكون الجانب 256 بكسلًا على الأقل، ولا يتجاوز الجانب الأطول ثلاثة أضعاف الأقصر. خارج ذلك هو
400 unsupported_size. - الحجم الأكبر يُلائم داخل 1280 بكسل للجانب مع الحفاظ على شكله. مثلًا، يُرسم 1536x1024 من OpenAI بحجم 1280x848.
- يعيد
chroma1.5x من البكسلات التي يرسمها دون تكلفة إضافية، فيعود 1024x1024 بحجم 1536x1536. - يرسم
krea-2-turboبأشكال مسمّاة، فيصبحsizeأقرب شكل منها. - يقول
sizeأوaspect_ratioفي الرد دائمًا ما حصلت عليه.
الرد
{
"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 مفتاحًا. يُجري كل الفحوص أعلاه ويجيب بصورة بحجم بكسل واحد.
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
}'