عملية التقديم
لاستخدام SeeDream Images Generation API، يجب أولاً الذهاب إلى لوحة تحكم Ace Data Cloud للحصول على رمز API الخاص بك، احتفظ به للاستخدام لاحقًا.
إذا لم تكن قد قمت بتسجيل الدخول أو التسجيل بعد، فسيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك للتسجيل وتسجيل الدخول، وبعد الانتهاء، سيتم العودة تلقائيًا إلى الصفحة الحالية.
يمكن استخدام رمز API واحد لاستدعاء جميع خدمات المنصة، دون الحاجة لتقديم طلب منفصل لكل خدمة. عند التقديم لأول مرة، ستحصل على رصيد مجاني لتجربته؛ وعند نفاد الرصيد، يمكنك إعادة شحن الرصيد العام في لوحة التحكم.
📘 الوثائق الكاملة: SeeDream Images Generation API →
الاستخدام الأساسي
أولاً، يجب أن نفهم طريقة الاستخدام الأساسية، وهي إدخال كلمة التلميحprompt، وسلوك التوليد action، وحجم الصورة size، للحصول على النتيجة المعالجة. أولاً، نحتاج إلى تمرير حقل action بسيط، تكون قيمته generate، ثم نحتاج أيضًا إلى إدخال كلمة التلميح، المحتوى المحدد كما يلي:

accept: نوع الاستجابة التي ترغب في تلقيها، هنا يتم ملؤها بـapplication/json، أي بتنسيق JSON.authorization: مفتاح استدعاء API، يمكن اختياره مباشرة بعد التقديم.
prompt: كلمة التلميح.model: نموذج التوليد، الافتراضي هوdoubao-seedream-5-0-260128(SeeDream 5.0 Lite، الأحدث). يدعمdoubao-seedream-5-0-pro-260628،doubao-seedream-5-0-260128(يقبل أيضًا الاسم المستعار الرسميdoubao-seedream-5-0-lite-260128)،doubao-seedream-4-5-251128،doubao-seedream-4-0-250828. حيث أنdoubao-seedream-5-0-pro-260628(SeeDream 5.0 Pro) هو نموذج الصورة الفردية الرائد، يقوم بتوليد صورة واحدة فقط، لا يدعم توليد مجموعة صور (sequential_image_generation)، أو التدفق (stream) أو البحث عبر الإنترنت (tools). يجب تمرير سلسلة النموذج الكاملة (doubao-seedream-5-0-260128)، تمرير اختصارات مثلdoubao-seedream-5.0-liteسيؤدي إلى إرجاع 400.image: معلومات الصورة المدخلة، تدعم URL أو ترميز Base64.doubao-seedream-5-0-pro-260628يدعم إدخال صورة واحدة أو عدة صور (من 2 إلى 10 صور، بدءًا من الصورة الثانية يتم احتسابها)،doubao-seedream-5-0-260128،doubao-seedream-4-5-251128،doubao-seedream-4-0-250828تدعم إدخال صورة واحدة أو عدة صور.size: تحديد معلومات حجم الصورة المولدة، تدعم الطريقتين التاليتين، ولا يمكن استخدامهما معًا. الطريقة 1 | تحديد دقة الصورة المولدة، ووصف نسبة العرض إلى الارتفاع للصورة بلغة طبيعية فيprompt. تختلف الإعدادات المدعومة لكل نموذج:doubao-seedream-5-0-pro-260628يدعم1K/1.5K/2K؛doubao-seedream-5-0-260128يدعم2K/3K/4K؛doubao-seedream-4-5-251128يدعم فقط2K/4K؛doubao-seedream-4-0-250828يدعم1K/2K/4K. الطريقة 2 | تحديد قيم بكسل العرض والارتفاع للصورة المولدة: الافتراضي هو2048x2048، نطاق القيم الكلي للبكسل ونسبة العرض إلى الارتفاع تختلف حسب النموذج (على سبيل المثال، نطاق البكسل الكلي لـ 5.0 Pro هو [921600, 4624220]، الحد الأدنى للبكسل الكلي لـ 5.0 Lite / 4.5 هو 3,686,400، والحد الأدنى لـ 4.0 هو 921,600).sequential_image_generation: مجموعة الصور: مجموعة من الصور المرتبطة بالمحتوى الذي أدخلته.doubao-seedream-5-0-260128،doubao-seedream-4-5-251128،doubao-seedream-4-0-250828تدعم هذه المعلمة، الافتراضي هوdisabled.stream: التحكم في ما إذا كان سيتم تفعيل وضع الإخراج المتدفق.doubao-seedream-5-0-260128،doubao-seedream-4-5-251128،doubao-seedream-4-0-250828تدعم هذه المعلمة، الافتراضي هوfalse.response_format: تحديد تنسيق الاستجابة للصورة المولدة. الافتراضي هوurl، ويدعم أيضًاb64_json.watermark: ما إذا كان يجب إضافة علامة مائية إلى الصورة المولدة. الافتراضي هوtrue.output_format: تحديد تنسيق ملف الصورة المولدة، يدعمjpeg(الافتراضي) وpng. فقطdoubao-seedream-5-0-pro-260628وdoubao-seedream-5-0-260128تدعمان ذلك.tools: تكوين الأدوات التي يجب على النموذج استدعاؤها، حاليًا تدعمweb_search(البحث عبر الإنترنت). فقط SeeDream 5.0 Lite تدعم ذلك.optimize_prompt_options: تكوين تحسين كلمة التلميح. 5.0 Pro تدعمstandard/fast؛ 5.0 Lite و 4.5 تدعمان فقطstandard؛ 4.0 تدعمstandard/fast.background: يدعم فقط تحرير الصورة الفردية 5.0 Pro.transparentيتطلب إدخال صورة PNG تحتوي على قناة شفافة، ويجب أن يكونoutput_formatهوpng؛opaqueهو خلفية عادية غير شفافة.layer_decomposition: يدعم فقط 5.0 Pro. عند تعيينه إلىtrue، يجب إدخال صورة PNG/JPEG، يمكن عدم تمريرpromptللتقسيم التلقائي، أو استخدام لغة طبيعية/<bbox>لتحديد العناصر؛sizeتدعمauto/1K/1.5K/2K. لا يمكن استخدام هذا الوضع مع مجموعة الصور، أو التدفق، أو البحث عبر الإنترنت، أوbackground.callback_url: URL الذي يحتاج إلى استدعاء النتائج.async: ما إذا كان يجب معالجة الطلب بشكل غير متزامن. عند تعيينه إلىtrue، ستعيد الواجهة على الفورtask_id، دون الحاجة لتوفيرcallback_url، ثم يمكنك الاستعلام عن النتائج عبر/seedream/tasks.

success، حالة مهمة توليد الفيديو في الوقت الحالي.task_id، معرف مهمة توليد الفيديو في الوقت الحالي.trace_id، معرف تتبع مهمة توليد الفيديو في الوقت الحالي.data، قائمة نتائج مهمة توليد الصورة في الوقت الحالي.image_url، رابط مهمة توليد الصورة في الوقت الحالي.prompt، كلمة التوجيه.size: بكسل الصورة المولدة.
data.
إذا كنت ترغب في توليد كود التوصيل المقابل، يمكنك نسخه مباشرة، مثل كود CURL أدناه:
تحرير مهمة الصورة
إذا كنت ترغب في تحرير صورة معينة، يجب أولاً تمرير رابط الصورة التي تحتاج إلى تحريرها في المعاملimage.
- model: النموذج المستخدم في مهمة تحرير الصورة هذه،
doubao-seedream-5-0-pro-260628،doubao-seedream-5-0-260128،doubao-seedream-4-5-251128،doubao-seedream-4-0-250828تدعم جميعها إدخال الصورة. - image: تحميل الصورة التي تحتاج إلى تحريرها، صورة واحدة أو أكثر.

تقسيم الطبقات (Seedream 5.0 Pro)
سيقوم تقسيم الطبقات بتفكيك صورة الإدخال إلى صورة أساسية واحدة وما يصل إلى 16 طبقة PNG شفافة يمكن تحريرها بشكل مستقل. الطلب التالي يجعل النموذج يتعرف تلقائيًا على العناصر الرئيسية؛ إذا كنت بحاجة إلى تحديد العناصر، يمكنك إضافةprompt، أو يمكنك استخدام إحداثيات <bbox> العادية في كلمة التوجيه.
z_index من الأسفل إلى الأعلى. تكون z_index للصورة الأساسية 0؛ تحتوي الطبقات أيضًا على name و description و bounding_box.absolute/normalized. عند إعادة تجميع باستخدام الإحداثيات المطلقة، يتم تغيير حجم الطبقات إلى [right-left, bottom-top]، ووضعها في [left, top]، ثم تكديسها بترتيب تصاعدي حسب z_index. إذا فشلت أي طبقة في التوليد، فإن عملية التفكيك بالكامل تفشل.
الإخراج المتدفق
عند تعيينstream: true في Lite/4.x، يجب استخدام رأس الطلب accept: application/x-ndjson. ترجع الواجهة النتائج سطرًا بسطر image_generation.partial_succeeded أو image_generation.partial_failed، وأخيرًا ترجع حدث image_generation.completed الفريد والنهائي و usage؛ يتم احتساب الرسوم فقط عند حدوث حدث الاكتمال. لا يمكن استخدام وضع التدفق مع async أو callback_url.
ردود غير متزامنة
نظرًا لأن وقت توليد API لصور SeeDream طويل نسبيًا، حوالي 1-2 دقيقة، إذا لم يكن هناك استجابة لفترة طويلة، ستظل طلبات HTTP متصلة، مما يؤدي إلى استهلاك موارد النظام الإضافية، لذا توفر هذه API أيضًا دعمًا للردود غير المتزامنة. تتمثل العملية العامة في: عندما يقوم العميل بإرسال الطلب، يحدد حقلcallback_url إضافي، بعد أن يقوم العميل بإرسال طلب API، ستعود API على الفور بنتيجة تحتوي على معلومات حقل task_id، تمثل معرف المهمة الحالية. عند اكتمال المهمة، سيتم إرسال نتيجة الصورة المولدة إلى callback_url المحدد من قبل العميل عبر POST JSON، والتي تتضمن أيضًا حقل task_id، بحيث يمكن ربط نتيجة المهمة من خلال المعرف.
إذا لم يكن لديك عنوان عام للرد، يمكنك عدم تحديد callback_url، ولكن تعيين حقل async إلى true في الطلب. في هذه الحالة، ستعود الواجهة أيضًا على الفور بـ task_id، ولكن لن يتم دفع النتائج، ستحتاج إلى استخدام task_id لاستدعاء واجهة /seedream/tasks للاستعلام عن حالة المهمة للحصول على النتيجة النهائية.
دعونا نفهم كيفية القيام بذلك من خلال مثال.
عند النقر على التشغيل، يمكنك أن ترى أنه سيتم الحصول على نتيجة على الفور، كما يلي:
task_id، بينما الحقول الأخرى مشابهة لما سبق، من خلال هذا الحقل يمكن تحقيق ارتباط المهام.
معالجة الأخطاء
عند استدعاء واجهة برمجة التطبيقات، إذا واجهت خطأ، ستقوم واجهة برمجة التطبيقات بإرجاع رمز الخطأ والمعلومات المناسبة. على سبيل المثال:400 token_mismatched: طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صالحة.400 api_not_implemented: طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صالحة.401 invalid_token: غير مصرح، رمز تفويض غير صالح أو مفقود.429 too_many_requests: عدد كبير جدًا من الطلبات، لقد تجاوزت الحد الأقصى لمعدل الطلبات.500 api_error: خطأ في الخادم الداخلي، حدث خطأ ما على الخادم.

