الانتقال إلى المحتوى الرئيسي
يدعم TokenLab تحويل النص إلى صورة، وتحويل الصورة إلى صورة، وتحرير الصور من خلال نقاط نهاية الصور العامة. لا تشترك نماذج الصور في مجموعة معلمات عالمية واحدة، لذا يجب على العملاء الإنتاجيين أولاً اختيار نقطة النهاية، ثم اختيار النموذج، ثم إرسال الحقول المدعومة فقط من قبل ذلك النموذج.

متى تستخدم كل نقطة نهاية

سير العمل للمستخدمنقطة النهايةاستخدم عندماتجنب عندما
تحويل النص إلى صورةPOST /v1/images/generationsيبدأ المستخدم من موجه فقطتحتاج إلى تدفق تحرير صورة GPT رسمي
تحويل الصورة إلى صورةPOST /v1/images/generationsتشير وثائق النموذج إلى الصور المرجعية من خلال operation: "image-to-image" بالإضافة إلى image_url، image_urls، أو reference_image_urlsيتوقع النموذج إدخال تحرير متعدد الأجزاء
تحرير الصورةPOST /v1/images/editsتقوم بتحرير صورة موجودة باستخدام نموذج تحرير مدعوم مثل نموذج عائلة GPT Imageتستخدم أسلوب توليد صورة Nano Banana
تباينPOST /v1/images/variationsتحافظ على تكامل متوافق مع التباين القديمتقوم ببناء تدفق صورة مرجعية جديد
الحالةGET /v1/tasks/{id}تعيد استجابة الإنشاء task_id، status: "pending"، أو poll_urlتحتوي استجابة الإنشاء بالفعل على data[] النهائية
دائمًا أرسل model. نقاط نهاية الصور لا تعتمد عمدًا على نموذج افتراضي ضمني تاريخي لحركة المرور الإنتاجية.

اختر نموذجًا

ابدأ باكتشاف النموذج، ثم افحص عقد TokenLab للنموذج المحدد:
curl "https://api.tokenlab.sh/v1/models?recommended_for=image" \
  -H "Authorization: Bearer sk-your-api-key"
بالنسبة للنماذج غير المتعلقة بالدردشة، قد تتضمن استجابة القائمة tokenlab.public_contract_summary. قد تكشف صفحات تفاصيل النموذج عن tokenlab.public_contract بشكل كامل. استخدم تلك الحقول للتأكيد:
  • العملية المدعومة، مثل text-to-image، image-to-image، أو image-edit.
  • نقطة النهاية المتوقعة من قبل النموذج.
  • الشكل الذي يجب استخدامه للمرجع، مثل image_url، image_urls، reference_image_urls، image متعدد الأجزاء، أو images[] بتنسيق JSON.
  • ما إذا كان النموذج يقبل size، aspect_ratio، resolution، quality، background، output_format، أو response_format.

قواعد شكل الطلب

  • تستخدم طلبات نمط gpt-image-2 حقول size، quality، وحقول التحرير على غرار OpenAI. اترك الحقول الاختيارية عند رغبتك في أن يستخدم النموذج أو TokenLab القيم الافتراضية التلقائية.
  • عادةً ما تستخدم عائلات الصور Gemini وNano Banana aspect_ratio؛ أرسل resolution فقط عندما يكشف عقد النموذج عنها.
  • ينتمي تحويل الصورة إلى صورة Nano Banana إلى /v1/images/generations مع operation: "image-to-image" وعناوين URL للصور المرجعية.
  • لا تقبل /v1/images/generations images[] أو file_id على المستوى الأعلى؛ تلك هي أشكال تدفق التحرير.
  • يجب أن تكون مراجع الصور البعيدة عناوين URL عامة http أو https. لا ترسل عناوين URL لشبكة خاصة، أو بيانات اعتماد مضمنة، أو أجزاء URL، أو عناوين URL موقعة قد تنتهي صلاحيتها قبل بدء المعالجة.

مثال تحويل النص إلى صورة

curl https://api.tokenlab.sh/v1/images/generations \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "صورة منتج نظيفة لكوب قهوة خزفي على مكتب من الجوز",
    "size": "1024x1024",
    "response_format": "url"
  }'

مثال صورة مرجعية

curl https://api.tokenlab.sh/v1/images/generations \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano-banana",
    "operation": "image-to-image",
    "prompt": "احتفظ بشكل المنتج، غير الخلفية إلى إعداد استوديو مشرق",
    "image_urls": ["https://example.com/input/product.png"],
    "aspect_ratio": "1:1"
  }'

التعامل مع النتائج

يمكن أن تكون استجابات الصور متزامنة أو غير متزامنة:
  • تعيد الاستجابات المتزامنة data[] النهائية مع url أو b64_json.
  • تعيد الاستجابات غير المتزامنة id، task_id، status، وعادةً poll_url.
  • يفضل استخدام poll_url عندما يكون موجودًا. إذا كنت بحاجة إلى مسار ثابت، استعلم عن GET /v1/tasks/{id}.
  • استخدم الطلبات المتزامنة عندما تحتاج تحديدًا إلى b64_json؛ نتائج الصور غير المتزامنة موجهة نحو URL.
curl "https://api.tokenlab.sh/v1/tasks/$TASK_ID" \
  -H "Authorization: Bearer sk-your-api-key"
احتفظ بعنوان URL للصورة المعادة، ومعرف المهمة، والنموذج، ومعرف المستخدم/الوظيفة الخاص بك. لا تستمر في الاستعلام بعد حالة نهائية.

قائمة التحقق للإنتاج

  • تحقق من مدخلات المستخدم قبل استدعاء TokenLab: طول الموجه، عدد الصور، إمكانية الوصول إلى URL، ونوع الملف.
  • اضبط مهلات HTTP عالية بما يكفي للطلبات المتزامنة عالية الدقة. استخدم الوضع غير المتزامن حيثما كان متاحًا للأعمال الطويلة.
  • قم بتخزين request_id، task_id، poll_url، النموذج، نقطة النهاية، وشكل الطلب المنظف للدعم.
  • عند انتهاء مهلة العميل، تحقق مما إذا تم إنشاء مهمة قبل إعادة محاولة طلب الإنشاء.
  • قم بمصالحة التكلفة مع سجلات الاستخدام وbilling_transaction_id عند وجودها، وليس مع معرفات مهام المزود.

الأخطاء الشائعة

العرضالسبب المحتملالحل
400 مع param: "model"نموذج مفقود صريحاستعلم عن /v1/models?recommended_for=image وأرسل model
حقل غير مدعومالحقل غير موجود في العقد العام لذلك النموذجأزل الحقل أو اختر نموذج/نقطة نهاية توثق ذلك
لا يوجد b64_json في النتيجة غير المتزامنةتعيد مهام الصور غير المتزامنة نتائج موجهة نحو URLاستخدم الوضع المتزامن للإخراج بتنسيق base64
تم رفض الصورة المرجعيةنقطة نهاية خاطئة أو URL خاص/منتهي الصلاحيةتطابق الشكل المرجعي الموثق للنموذج واستخدم عناوين URL القابلة للوصول

مرجع API

الموضوعالمرجع
إنشاء صورةإنشاء صورة
تحرير صورةتحرير صورة
إنشاء تباين صورةإنشاء تباين صورة
الحصول على حالة الصورةالحصول على حالة الصورة
الحصول على حالة المهمةالحصول على حالة المهمة