عملية التقديم
لاستخدام واجهة برمجة التطبيقات، يجب أولاً زيارة صفحة Midjourney Edits API المعنية وتقديم طلب للحصول على الخدمة المناسبة، بعد الدخول إلى الصفحة، انقر على زر “Acquire” كما هو موضح في الصورة:
إذا لم تكن قد قمت بتسجيل الدخول أو التسجيل بعد، فسيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك للتسجيل وتسجيل الدخول، بعد تسجيل الدخول والتسجيل، سيتم العودة تلقائيًا إلى الصفحة الحالية.
عند التقديم لأول مرة، سيكون هناك حد مجاني متاح، يمكنك استخدام واجهة برمجة التطبيقات مجانًا.
الاستخدام الأساسي
أولاً، يجب أن نفهم طريقة الاستخدام الأساسية، وهي إدخال كلمة توجيهيةprompt، وسلوك التوليد action، ورابط الصورة image_url، للحصول على النتيجة المعالجة، يجب أولاً تمرير حقل action بسيط، وقيمته هي generate، المحتوى المحدد كما يلي:

accept: نوع الاستجابة التي ترغب في تلقيها، هنا يتم ملؤها بـapplication/json، أي بتنسيق JSON.authorization: مفتاح استدعاء واجهة برمجة التطبيقات، بعد التقديم يمكنك اختياره مباشرة من القائمة المنسدلة.
mask: يمكنك تحديد موقع قناع منطقة الصورة لتحريرها وإعادة توليدها.split_images: تقسيم الصورة الناتجة إلى صور متعددة، يتم إرجاعها من خلال حقل sub_image_urls. بشكل افتراضي، تكون false.action: سلوك مهمة توليد الصورة هذه، الافتراضي هوgenerate.image_url: رابط الصورة التي تحتاج إلى تحريرها.prompt: كلمة توجيهية.mode: وضع التوليد، يمكن أن يكونfast/relax/turbo.callback_url: URL الذي تحتاج إلى استدعاء النتائج فيه.

success: حالة مهمة تحرير الصورة الحالية.task_id: معرف مهمة تحرير الصورة الحالية.image_id: معرف الصورة لمهمة تحرير الصورة هذه.sub_image_urls: نتائج متعددة لمهمة توليد الصورة.image_url: رابط الصورة الناتجة.image_width: عرض الصورة الناتجة.image_height: ارتفاع الصورة الناتجة.progress: حقل تقدم مهمة تحرير الصورة الحالية.
image_url الموجود في النتيجة.
بالإضافة إلى ذلك، إذا كنت ترغب في توليد الكود المقابل للتكامل، يمكنك نسخه مباشرة، على سبيل المثال، كود CURL كما يلي:
الاستدعاء غير المتزامن
نظرًا لأن وقت توليد واجهة برمجة تطبيقات Midjourney Edits نسبيًا طويل، حوالي 1-2 دقيقة، إذا لم يكن هناك استجابة من واجهة برمجة التطبيقات لفترة طويلة، ستظل طلبات HTTP متصلة، مما يؤدي إلى استهلاك موارد النظام الإضافية، لذا توفر هذه الواجهة أيضًا دعم الاستدعاء غير المتزامن. تتمثل العملية العامة في: عندما يقوم العميل بإرسال الطلب، يحدد حقلcallback_url إضافي، بعد أن يقوم العميل بإرسال طلب واجهة برمجة التطبيقات، ستقوم الواجهة بإرجاع نتيجة على الفور، تتضمن حقل task_id، الذي يمثل معرف المهمة الحالية. عند الانتهاء من المهمة، سيتم إرسال نتيجة توليد الفيديو إلى callback_url المحدد من قبل العميل على شكل POST JSON، والذي يتضمن أيضًا حقل task_id، بحيث يمكن ربط نتيجة المهمة من خلال المعرف.
دعونا نفهم كيفية القيام بذلك من خلال مثال.
أولاً، يعد استدعاء Webhook خدمة يمكنها استقبال طلبات HTTP، يجب على المطور استبدالها بعنوان URL الخاص بخادم HTTP الذي قام بإنشائه. هنا، لتسهيل العرض، نستخدم موقع ويب عينة Webhook عام https://webhook.site/، افتح هذا الموقع للحصول على عنوان URL لـ Webhook، كما هو موضح في الصورة:
انسخ هذا العنوان URL، يمكنك استخدامه كـ Webhook، والعينة هنا هي https://webhook.site/556e6971-b41f-4fa8-9151-6e91acd0399f.
بعد ذلك، يمكننا تعيين حقل callback_url إلى عنوان URL الخاص بـ Webhook المذكور أعلاه، مع ملء المعلمات المناسبة، المحتوى المحدد كما هو موضح في الصورة:

https://webhook.site/556e6971-b41f-4fa8-9151-6e91acd0399f، كما هو موضح في الصورة:

task_id في النتيجة، بينما الحقول الأخرى مشابهة لما سبق، من خلال هذا الحقل يمكنك تحقيق ارتباط المهام.
معالجة الأخطاء
عند استدعاء واجهة برمجة التطبيقات، إذا واجهت خطأ، ستقوم واجهة برمجة التطبيقات بإرجاع رمز الخطأ والمعلومات ذات الصلة. على سبيل المثال:400 token_mismatched: طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صالحة.400 api_not_implemented: طلب غير صحيح، ربما بسبب معلمات مفقودة أو غير صالحة.401 invalid_token: غير مصرح، رمز تفويض غير صالح أو مفقود.429 too_many_requests: عدد كبير جداً من الطلبات، لقد تجاوزت الحد الأقصى لمعدل الطلبات.500 api_error: خطأ في الخادم الداخلي، حدث خطأ ما على الخادم.

