المرجع
POST /v1/videos
أنشئ مقطعًا بصوت من نص، بصيغة OpenAI: تعمل طرق videos في SDK بعد تغيير عنوان الأساس وحده. اطلبه في الطابور، وتحقّق منه، ونزّله مرة واحدة، ثم يُحذف.
تم التحقق في 6 نوفمبر 2026
أنشئ مقطعًا
import os
import time
from openai import OpenAI
client = OpenAI(
base_url="https://nokeep.ai/v1",
api_key=os.environ["NOKEEP_API_KEY"],
)
clip = client.videos.create(
model="minimax-h3-max-turbo",
prompt="Waves breaking on a rocky coast at dusk",
seconds="5",
size="1280x720",
)
while clip.status in ("queued", "in_progress"):
time.sleep(5)
clip = client.videos.retrieve(clip.id)
if clip.status == "completed":
client.videos.download_content(clip.id).write_to_file("clip.mp4")النماذج
| النموذج | مناسب لـ | لكل ثانية بدقة 480p | لكل ثانية بدقة 768p | لكل ثانية بدقة 1080p |
|---|---|---|---|---|
| minimax-h3-max-turbo | سريع، ومعه صوت. النموذج الذي تبدأ به. | $0.045 | $0.07 | $0.14 |
| minimax-h3-max | خطوات أكثر من Turbo لتفاصيل أدق، ومعه صوت. | $0.09 | $0.14 | $0.28 |
تدفع مقابل الثواني التي تطلبها. يُنشئ النموذجان مقاطع من 5 إلى 15 ثانية مع صوت.
الطلب
| الحقل | يأخذ | ما يفعله |
|---|---|---|
model | مطلوب | واحد من معرّفات النماذج أعلاه. |
prompt | مطلوب، حتى 10,000 حرف | ما يُصوَّر، ويُرسل إلى النموذج كما كُتب. ما يتجاوز الحد يُرفض، ولا يُقصّ أبدًا. |
seconds | من 5 إلى 15 | مدة المقطع، رقمًا أو نصًا. الافتراضي 5. الرقم 4 من OpenAI يُرفض؛ و8 و12 تعملان. |
size | WIDTHxHEIGHT | يختار أقرب دقة وشكل. يصبح 1280x720 بدقة 768p بنسبة 16:9، وهذا ما تدفع مقابله. |
resolution | 480p أو 768p أو 1080p | يحدد السعر ويغلب على size. الافتراضي 768p. |
aspect_ratio | 16:9، 21:9، 4:3، 1:1، 3:4، 9:16 | يغلب على size. الافتراضي 16:9. |
أرسل JSON أو نموذج multipart الذي تستخدمه SDKs من OpenAI. أي حقل آخر، مثل seed، يُسقط ويُذكر في x-nokeep-ignored. الحقل الذي يحمل صورة أو مقطعًا، مثل input_reference، يُرفض بالخطأ 400 unsupported_input: هذه النماذج تعمل بالنص وحده. تعرض حزمة OpenAI لبايثون تحذير إيقاف على دوال videos، وهو يخص خدمة الفيديو التابعة لـ OpenAI. لا يؤثر ذلك في الطلبات المرسلة إلينا، وقد يشير مدقق الأنواع إلى معرّف النموذج.
مسارات المقطع
| المسار | ما يفعله |
|---|---|
POST /v1/videos | يضع المقطع في الطابور ويحجز سعره. |
GET /v1/videos/{id} | يوضح أين وصل. تحقّق منه كل بضع ثوانٍ. |
GET /v1/videos/{id}/content | ملف mp4. يعمل مرة واحدة، ثم يُحذف المقطع من مضيف النموذج. إن انقطع التنزيل، اطلبه مجددًا. |
DELETE /v1/videos/{id} | يحذف مقطعًا منتهيًا دون تنزيله. المقطع الذي ما زال يُعالَج يجيب بالخطأ 409 video_not_ready. |
GET /v1/videos | مقاطع الحساب الأخيرة. |
كائن المقطع
{
"id": "video_8f3a…",
"object": "video",
"model": "minimax-h3-max-turbo",
"status": "completed",
"progress": 100,
"created_at": 1793960000,
"completed_at": 1793960030,
"expires_at": 1794042800,
"seconds": "5",
"size": "1366x768",
"resolution": "768p",
"aspect_ratio": "16:9",
"error": null,
"downloaded": false,
"expired": false,
"usage": {
"nokeep_credits": 350
}
}statusهيqueuedأوin_progressأوcompletedأوfailed.- تبقى
progressعند 0 حتى ينتهي المقطع، ثم تصبح 100. النموذج لا يُبلغ عن شيء بين ذلك. - تُحسب
sizeمن الدقة والشكل، لذلك قد يختلف الملف ببضع بكسلات.
ما تدفعه
- يُحجز السعر الكامل للمقطع عند وضعه في الطابور، من رصيدك المشترى ومن السقف اليومي للمفتاح.
- يُحتسب عند انتهاء المقطع، سواء نزّلته أم لا.
- المقطع الفاشل لا يكلّف شيئًا، وحالته تقول ذلك.
أين يبقى المقطع
يبقى المقطع المنتهي على مضيف النموذج، في طبقته الخاصة، حتى 23 ساعة. يُحذف هناك بعد تنزيله مرة واحدة، أو عند حذفه أنت. لا نحتفظ بالملف أبدًا، وبعد تلك المدة يجيب بالخطأ 410 video_gone. سجلّنا عن المقطع يحمل معرّفه ومفتاحه والنموذج ومدته ودقته وشكله وأرصدته وأوقاته، ولا يحمل المطالبة أبدًا. يُحذف بعد 48 ساعة.
المحتوى والحدود والأخطاء
تبقى أربعة حدود صارمة: المحتوى الجنسي الذي يشمل قاصرين، والمحتوى الجنسي لأشخاص حقيقيين، والأذى واسع النطاق، واستهداف شخص حقيقي. المطالبة التي تتجاوز أحدها تتلقى 422 hard_limit ولا تكلّف شيئًا. قد يرفض مضيف النموذج الطلب، وذلك 422 content_refused، وهو مجاني أيضًا. انظر الحدود الصارمة.
يمكن للمفتاح أن يضع 20 مقطعًا في الطابور في الدقيقة، ضمن حد 120 طلبًا الإجمالي، ويُعالج 10 مقاطع في وقت واحد. ما يتجاوز ذلك هو 429 rate_limited. تسرد صفحة الأخطاء كل الرموز.
لفحص كودك دون إنفاق شيء، أرسل sk-nokeep-test مفتاحًا. يُجري كل الفحوص، ويعلن المقطع منتهيًا فورًا باسم video_test، وملفه فارغ.