تخطّي إلى المحتوى
دليل API

الملفات

عرض بتنسيق Markdown تم التحديث

تقبل النماذج التي تتعامل مع الصور أو الفيديو أو الصوت هذه الملفات بأي صيغة من ثلاث. وتحدد صفحة كل نموذج معلمات ملفاته (مثل image وimages وvideos وaudios).

1. عنوان URL عام

أي عنوان URL يبدأ بـ https:// (أو http://) ويمكن للنموذج تنزيله:

JSON
{ "image": "https://example.com/photos/product.jpg" }

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

2. معرّف بيانات URI

يمكن تضمين الملفات الصغيرة في سطر واحد على هيئة URI من النوع data: بحد أقصى 10 MB:

JSON
{ "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." }

يجعل Base64 الجسم أكبر بنحو الثلث من الملف، لذا يُفضّل الرفع لأي ملف كبير.

3. رفع ملف

بالنسبة إلى الملفات المحلية، اطلب عنوان URL للرفع، ونفّذ PUT للبايتات إليه، ومرّر file_url المُعاد إلى النموذج. إنشاء عنوان URL للرفع مجاني.

1 · الحصول على عنوان URL للرفع
curl -X POST "https://api.doitong.com/v1/files" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filename": "product.jpg", "content_type": "image/jpeg", "size": 482113}'
201 Created · رفع
{
  "object": "upload",
  "upload_url": "https://…signed upload URL…",
  "file_url": "https://content.doitong.com/…/product.jpg",
  "method": "PUT",
  "headers": { "Content-Type": "image/jpeg" },
  "content_type": "image/jpeg",
  "expires_in": 3600,
  "max_bytes": 15728640
}
2 · رفع البايتات باستخدام الترويسات المُعادة تمامًا
curl -X PUT "<upload_url>" -H "Content-Type: image/jpeg" --data-binary @product.jpg
3 · استخدام file_url كمدخل للنموذج
curl -X POST "https://api.doitong.com/v1/run/{model_id}?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"image": "https://content.doitong.com/…/product.jpg", "prompt": "..."}'
  • عمليات الرفع المدعومة: .jpg و.jpeg و.png و.webp (حتى 15 MB)، و.mp4 و.mov و.webm (حتى 200 MB). تحدد اللاحقة النوع؛ ويجب أن تطابقها content_type.
  • يظل عنوان URL للرفع صالحًا لمدة ساعة واحدة. ويبقى file_url صالحًا.
  • بالنسبة إلى الصوت، استخدم عنوان URL عامًا أو معرّف بيانات URI.

ملفات المخرج

تختار مدة الاحتفاظ بملفات المخرج:

  • إلى الأبد (permanent، الافتراضي): حتى تحذفها، مقابل 100 أرصدة API (⁨‏0.10 $⁩) لكل GB شهريًا، تُفرض مرة يوميًا من رصيد API (1 GB = 1024³ bytes).
  • 7 يومًا (temporary): مجانًا، ثم تُحذف من تخزيننا.

عيّن الإعداد الافتراضي باستخدام مفتاح التبديل "الاحتفاظ بالملفات إلى الأبد" في لوحة التحكم، أو باستخدام PATCH /account/storage، وتجاوزه لكل تشغيل باستخدام ?storage=temporary (أو permanent):

الطرفية
curl -X PATCH "https://api.doitong.com/v1/account/storage" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode": "temporary"}'

يعرض كل طلب storage الخاص به (mode وbytes وexpires_at وexpired). ينطبق الإعداد على الطلبات الجديدة؛ وتبقى الملفات التي تحتفظ بها إلى الأبد حتى تحذفها باستخدام DELETE /requests/{id}/files (راجع الطلبات). إذا تعذر على رصيد API دفع تكلفة التخزين، فستتلقى بريدًا إلكترونيًا ولديك 30 يومًا لشحن الرصيد قبل أن تصبح الملفات المحتفظ بها مؤقتة.