واجهة Text to Image API: الخيارات المجانية وHugging Face والمدفوعة
يرسل Text to Image API طلبًا واحدًا ويعيد صورة نهائية واحدة، لكن اختيار المزوّد يحدد تكلفتك وحدودك. تعرّف على ما تمنحه الباقات المجانية وأرصدة Hugging Face فعليًا، وما تفرضه واجهات API المدفوعة، وكيف تختبر Flux 2 Pro من PicassoIA قبل كتابة أي شيفرة.
تحوّل واجهة Text to Image API طلب HTTP واحدًا إلى صورة نهائية واحدة. لم يعد الحصول على النتيجة هو الجزء الصعب، بل اختيار الجهة التي تُرسل إليها الطلب. تمنح بعض الخدمات عددًا قليلًا من عمليات التوليد مجانًا كل شهر، ويوجّه Hugging Face طلباتك إلى مزوّدين شركاء بحصة رصيد شهرية صغيرة، وتفرض المنصات المدفوعة رسومًا على كل صورة أو على كل ثانية من وقت GPU. إذا أخطأت الاختيار، فقد تصطدم بحد المعدل يوم الإطلاق، أو تدفع أضعاف ما تحتاجه المهمة.
يقارن هذا المقال المسارات الثلاثة باستخدام الأرقام العامة المتاحة، وشيفرة Python تعمل، وجدول مقارنة جنبًا إلى جنب، وقائمة تحقق قصيرة لمطابقة النموذج مع المهمة. سواء كنت تبني نموذجًا أوليًا لعطلة نهاية الأسبوع، أو مشروعًا لعميل، أو منتجًا يستخدمه آلاف الأشخاص، ستجد نقطة بداية مناسبة في ما يلي.
💡 الإجابة المختصرة: اختبر بأرصدة شهرية مجانية أو بنموذج محلي. وحين يبدأ العملاء الحقيقيون باستخدام الميزة، انتقل إلى واجهة API مدفوعة لكل صورة برخصة واضحة وحد معلن لمعدل الطلبات.
ماذا تفعل واجهة Text to Image API
واجهة Text to Image API هي نقطة نهاية على الويب. ترسل إليها أمرًا نصيًا مع بعض الإعدادات مثل الحجم ونسبة العرض إلى الارتفاع والبذرة، فتحصل على ملف صورة أو رابط إليه. يعمل الجزء الثقيل من المعالجة على GPU يملكه شخص آخر، لذلك لا يحتاج تطبيقك إلى بطاقة رسومات ولا إلى أوزان النموذج.
تقبل معظم نقاط النهاية الحقول الأساسية نفسها. يصف الأمر النصي الصورة. تحدد نسبة العرض إلى الارتفاع أو حجم البكسلات مساحة الصورة. تجعل البذرة النتيجة قابلة للتكرار، فالأمر النصي نفسه والبذرة نفسها يعيدان الصورة نفسها. تضيف بعض النماذج خطوات أو قيمة توجيه أو أمرًا نصيًا سلبيًا، بينما تكتفي النماذج الأحدث بالأمر النصي وحده. اقرأ قائمة معاملات النموذج قبل نسخ الإعدادات من نموذج آخر، لأن قيمة تفيد نموذجًا قد تضر بغيره.
حلقة الطلب والاستجابة
يتبع كل مزوّد الحلقة الأساسية نفسها، حتى عندما تختلف أسماء الحقول:
المصادقة باستخدام توكن Bearer في الترويسة Authorization.
إرسال الأمر النصي والإعدادات بصيغة JSON.
استقبال الصورة كبايتات خام أو سلسلة base64 أو رابط تنزيل.
تخزين الملف في مساحة التخزين الخاصة بك.
تتسبب الخطوة الرابعة في مشكلات لأشخاص أكثر من أي خطوة أخرى. تحذف كثير من المزوّدات المخرجات بعد فترة قصيرة، فقد يعمل رابط في الاختبار ثم يتعطل بهدوء بعد يوم. مدونة مليئة بصور مكسورة درس مكلف. ارفع كل نتيجة إلى تخزين الكائنات فور وصولها، واحفظ الأمر النصي والبذرة واسم النموذج بجوار الملف. هذه العادة الصغيرة تتيح لك إعادة توليد صورة فُقدت لاحقًا، أو إعادة إنتاج أسلوب أعجبك، دون البحث في السجلات القديمة.
المزامنة وغير المتزامنة وWebhooks
تجيب النماذج السريعة ضمن نفس طلب HTTP. أما النماذج الأبطأ أو الأكبر حجمًا فتعمل كطابور: تنشئ مهمة، وتستلم معرّفًا، ثم تستعلم نقطة حالة المهمة حتى تظهر لها الحالة succeeded أو failed. تقدم بعض المزوّدات أيضًا Webhook يرسل إشعارًا إلى خادمك عند جهوز الصورة، فيلغي حلقة الاستعلام.
تخيّل سكة التذاكر في مطبخ مطعم. تسلّم الطلب، ويعمل الطهاة على قائمتهم، وتستلم الطبق حين يُنادى عليه. تتصرف واجهات API الخاصة بالصور غير المتزامنة بالطريقة نفسها، لذلك يجب أن يتحمل كودك الانتظار، وأن يعيد المحاولة عند الفشل، وأن يحدد عدد المهام التي يرسلها في وقت واحد.
خيارات مجانية تعمل فعلًا
تعني كلمة "مجاني" ثلاثة أشياء مختلفة في هذا السوق، وخلطها يؤدي إلى خطط سيئة.
أرصدة شهرية من المنصات المستضافة
يمنح Hugging Face كل حساب أرصدة شهرية لمزوّدي Inference Providers: 0.10 دولار للمستخدمين المجانيين و 2.00 دولار لمستخدمي PRO، وفقًا لوثائق التسعير الخاصة به. ويُذكر الرقم المجاني بعبارة "قابل للتغيير"، ويمرّر Hugging Face أسعار المزوّدين دون هامش ربح.
وهنا المشكلة. بسعر توضيحي قدره سنت واحد للصورة، يشتري مبلغ 0.10 دولار عشر صور. هذا كافٍ لاختبار أمر نصي، لكنه بعيد جدًا عن تشغيل ميزة كاملة. اعتبر الأرصدة المجانية تجربة، لا ميزانية.
نماذج محلية باستخدام Diffusers
تستطيع النماذج مفتوحة الأوزان مثل Flux Dev وFlux Schnell وStable Diffusion 3.5 Large أن تعمل على جهازك عبر مكتبة Diffusers. لا تدفع رسومًا عن كل صورة، ولا تواجه حد معدل، ولا ترسل أوامرك النصية إلى طرف ثالث.
الثمن هو الأجهزة والصبر. تحتاج نماذج الصور إلى GPU حديث بذاكرة فيديو كبيرة، وتستغرق الإعدادات الأولى نصف يوم. التراخيص مختلفة أيضًا: يصدر Flux Schnell بترخيص Apache 2.0، بينما يستخدم Flux Dev ترخيصًا غير تجاري، فتحقق قبل إطلاق أي شيء يدفع العملاء ثمنه.
باقات مجانية وأرصدة تجريبية
تقدم عدة منصات صور أرصدة تجريبية أو حصة يومية صغيرة. تعامل معها كعرض توضيحي. الحدود تتغير دون إشعار، ويقضي المستخدمون المجانيون وقتًا أطول في الطابور، وقد تحمل المخرجات علامات مائية أو شروطًا غير تجارية. ابنِ تكاملك بحيث يعني تبديل المزوّد تعديل قيمة واحدة في الإعدادات، لا إعادة كتابة وحدة كاملة.
يسلك PicassoIA مسارًا يعتمد على المتصفح أولًا: تضم مجموعة تحويل النص إلى صورة لديه أكثر من 200 نموذج يمكنك تجربتها دون كتابة أي شيفرة، ما يجعلها طريقة اقتصادية لمقارنة المخرجات قبل أن تلتزم بواجهة API. تصفحها في صفحة جميع النماذج.
واجهة Hugging Face API عمليًا
يعمل Hugging Face كمركز نماذج مع عميل موحد واحد. بدلًا من ربط SDK منفصل لكل مزوّد، تستدعي عميلًا واحدًا وتسمّي النموذج الذي تريده.
يبدأ سير العمل من Hub. صفِّ قائمة النماذج حسب مهمة تحويل النص إلى صورة، وافتح صفحة نموذج، وتحقق من ثلاثة أمور: الترخيص، وهل يقدم مزوّد مستضاف هذا النموذج، وأمثلة الأوامر النصية التي يشاركها المؤلفون. ثم أنشئ توكن وصول للمستخدم من إعدادات حسابك، بصلاحية استدعاء Inference Providers. احفظ هذا التوكن في متغير بيئة، لا في مستودع، واستبدله إن ظهر يومًا في أي سجل.
استدعاء نموذج باستخدام Python
ثبّت huggingface_hub، واحفظ توكن الوصول للمستخدم في متغير البيئة HF_TOKEN، ثم شغّل:
import os
from huggingface_hub import InferenceClient
client = InferenceClient(token=os.environ["HF_TOKEN"])
image = client.text_to_image(
"A ceramic mug on a walnut desk, soft morning window light",
model="black-forest-labs/FLUX.1-dev",
)
image.save("mug.png")
يعيد الاستدعاء كائن صورة من نوع PIL، لذلك يمكنك تغيير حجمها أو قصّها أو حفظها فورًا. يختار العميل افتراضيًا أحد المزوّدين المتاحين للنموذج، ومرّر الوسيط provider إذا أردت تثبيت مزوّد بعينه.
تعتمد الفوترة على هذا المزوّد. يسعّر مثال Hugging Face نفسه طلب FLUX.1-dev مدته 10 ثوانٍ على GPU تكلفته 0.00012 دولار للثانية بمبلغ 0.0012 دولار. وكلما طالت الأوامر النصية، أو كبرت الأحجام، أو بطؤ الجهاز، ارتفع هذا الرقم.
حدود المعدل والبدء البارد
تحمل نقاط النهاية المشتركة خاصيتين مزعجتين. قد يجيب نموذج لم يستدعه أحد مؤخرًا ببطء في الطلب الأول، وتُقيَّد الحسابات المجانية بمجرد نفاد الأرصدة. تعامل مع الأمرين بمهلة زمنية كافية وحلقة إعادة محاولة:
import time
def generate(prompt, tries=4):
for attempt in range(tries):
try:
return client.text_to_image(prompt, model="black-forest-labs/FLUX.1-dev")
except Exception:
time.sleep(2 ** attempt)
raise RuntimeError("Image generation failed after retries")
💡 نصيحة: حدّد الطلبات المتزامنة بعدد صغير، ثم ارفعه فقط بعد أن ترى سلوك المزوّد تحت الحمل. تجنّب استجابة HTTP 429 أسهل بكثير من تنظيف آثارها لاحقًا.
مقارنة الخيارات المدفوعة
تأتي واجهات API المدفوعة بثلاثة أشكال للفوترة، والشكل مهم بقدر أهمية السعر.
شكل الفوترة
طريقة الدفع
الأنسب للاستخدام
ما يجب الحذر منه
لكل صورة
سعر ثابت لكل عملية توليد، غالبًا متدرج حسب الحجم أو الجودة
التطبيقات ذات الحجم الثابت والمتوقع
قفزة في السعر عند الدقة الأعلى
لكل ثانية من وقت GPU
ثواني الحوسبة مضروبة في سعر الجهاز
النماذج المفتوحة مع إعدادات مخصصة
الأوامر البطيئة تكلف أكثر
أرصدة أو اشتراك
خطة شهرية بحصة محددة
الفرق والمبدعون الفرديون
الأرصدة غير المستخدمة قد تنتهي صلاحيتها
تسعير الدفع لكل صورة
الفوترة لكل صورة هي الأسهل في التنبؤ: عشرة آلاف صورة بسعر معروف تعطيك رقمًا يمكن وضعه في جدول بيانات. تُباع عدة نماذج قوية بهذه الطريقة، منها GPT Image 2 وImagen 4 وIdeogram v4 Balanced وSeedream 5 Lite. تتغير الأسعار كثيرًا، لذا اقرأ صفحة تسعير المزوّد في يوم قرارك، لا تلك المخزنة في مقارنة قديمة عمرها ثلاثة أشهر.
تغيّر تفصيلتان الفاتورة الفعلية. يكون حجم المخرجات متدرجًا عادةً، فصورة بدقة 2048 بكسل تكلف أكثر من صورة 1024 بكسل. كما تختلف طريقة فوترة التوليدات الفاشلة أو المفلترة بين المزوّدين، لذا اختبر بعض الأوامر المحظورة واقرأ الفاتورة.
قدّر تكلفتك الشهرية قبل الالتزام. اضرب عدد الصور اليومية في ثلاثين، ثم أضف هامشًا لإعادة المحاولة، لأن المستخدمين يعيدون التوليد أكثر مما تتوقع. كمثال توضيحي فقط، 500 صورة يوميًا تساوي 15,000 صورة شهريًا، وإذا احتفظ كل مستخدم بصورة واحدة من كل ثلاث صور يولّدها، فأنت تدفع ثمن 45,000 صورة. وبسعر افتراضي قدره سنتان للصورة، يصبح المجموع 900 دولار، لا 300 دولار كما أوحى الرقم الأول. أجرِ هذا الحساب بأحجامك أنت وبالسعر الحالي للمزوّد.
خطط الاشتراك والأرصدة
تناسب الخطط الفرق التي تولّد يوميًا وتريد فاتورة واحدة. الخطر يكمن في الحصة: الأرصدة التي تنتهي صلاحيتها في نهاية الشهر تكافئ المستخدمين الكثيفين وتعاقب الباقين.
يوفر PicassoIA أيضًا واجهة API للمطورين على https://api.picassoia.com/v1 بنقاط نهاية شبيهة بنقاط Replicate: أنشئ تنبؤًا، ثم استعلم عنه، ثم اجلب النتيجة. بحسب صفحة API الخاصة به، لا تستهلك تنبؤات API حاليًا أي أرصدة، ويتطلب الوصول خطة Infinite، ويمكن أن يكون لدى الحساب ما يصل إلى 5 تنبؤات في الطابور أو قيد التشغيل في وقت واحد. تحقق من الشروط الحالية في تلك الصفحة قبل أن تبني عليها.
كيف تختار الخيار المناسب
طابق النموذج مع المهمة
يتوقف أفضل نموذج على ما يجب أن تفعله الصورة:
صور منتجات وأنماط حياة واقعية: يُعد Flux 2 Pro وImagen 4 نقطتي انطلاق قويتين.
مظهر متسق عبر سلسلة كاملة: يقبل Flux 2 Pro حتى ثماني صور مرجعية.
تؤثر جودة الأمر النصي في النتائج أكثر من اختيار النموذج، ويستطيع نموذج لغوي أن يوسّع فكرة من سطر واحد إلى أمر نصي مفصّل. يصلح Claude Sonnet 5 وGemini 3.5 Flash وGPT 5.4 لذلك، وتقع الثلاثة ضمن قائمة النماذج اللغوية الكبيرة في PicassoIA. وبعد التوليد، يمكن لنماذج رفع الدقة وإزالة الخلفية والتأثيرات أن تكمل العمل، وتحتفظ PicassoIA بها في الكتالوج نفسه.
تحقق من شروط الترخيص قبل الإطلاق
قبل أن تصل أي صورة إلى عميل، أجب كتابةً عن هذه الأسئلة:
الاستخدام التجاري: هل هو مسموح لهذا النموذج، وعلى هذه الخطة؟
ملكية المخرجات: من يملك الحقوق في الملفات المولّدة؟
الاحتفاظ بالبيانات: هل يخزّن المزوّد أوامرك النصية أو يتدرب عليها؟
فلاتر المحتوى: ما الذي يُحظر، وكيف يبلغ تطبيقك المستخدم بذلك؟
حدود المعدل: ماذا يحدث عندما ينقر عشرة مستخدمين على "توليد" في الوقت نفسه؟
اختبار مدته خمس عشرة دقيقة بعشرة من أوامرك النصية الحقيقية يكشف مشكلات أكثر من أسبوع من قراءة صفحات الميزات. اكتب الأوامر، وشغّل كل واحد على نموذجين أو ثلاثة بالبذرة نفسها حيثما يسمح النموذج، وقيّم النتائج من حيث الحدة ودقة تنفيذ الأمر والنص داخل الصورة والسرعة. احتفظ بالجدول، فستحتاج إليه مجددًا عندما يغيّر مزوّد أسعاره.
استخدم Flux 2 Pro على PicassoIA
يولّد Flux 2 Pro الصور من أمر نصي وحده، أو من ما يصل إلى ثماني صور مرجعية، بمخرجات تصل إلى 4 ميغابكسل. يعمل داخل المتصفح، فيمكنك اختبار الأوامر قبل كتابة أي شيفرة API.
اختر نسبة العرض إلى الارتفاع. استخدم 16:9 لرؤوس المدونة و9:16 للقصص العمودية.
اترك الدقة عند 1 ميغابكسل للمسودات، ثم ارفعها للملفات النهائية.
أضف حتى ثماني صور إدخال إذا أردت توجيه الأسلوب أو الشخص أو التكوين.
اضبط البذرة إذا احتجت إلى إعادة إنتاج نتيجة.
انقر على توليد، وانتظر حتى تنتهي المهمة، ثم نزّل الصورة.
إعدادات تستحق التغيير أولًا
الإعداد
الافتراضي
وظيفته
نسبة العرض إلى الارتفاع
1:1
تحدد شكل الإطار، ويتوفر عرض وارتفاع مخصصان
الدقة
1 ميغابكسل
حتى 4 ميغابكسل، لكن يُوصى بدقة 2 ميغابكسل أو أقل
صور الإدخال
لا شيء
حتى 8 مراجع للعمل من صورة إلى صورة
تنسيق المخرجات
WebP
يتوفر أيضًا JPEG وPNG
جودة المخرجات
80
من 0 إلى 100، ويُتجاهل مع PNG
البذرة
عشوائية
أعد استخدامها لإعادة إنشاء الصورة نفسها
هامش الأمان
2
1 هو الأكثر صرامة، و5 هو الأكثر تساهلًا
أوامر نصية تنتج نتائج نظيفة
ابنِ كل أمر نصي من خمسة أجزاء: الشخص، والمكان، والضوء، والعدسة، والملمس. إليك مثالًا يمكنك لصقه:
خباز ينثر الطحين على منضدة خشبية، مخبز قروي صغير عند الفجر، ضوء نافذة ناعم من اليسار، عدسة 50 ملم بفتحة f/2، غبار الطحين وتفاصيل خشب ظاهرة، ألوان طبيعية
غيّر عنصرًا واحدًا في كل مرة، واحتفظ بالبذرة ثابتة. بهذه الطريقة تعرف أي تعديل تسبب في أي تغيير، وتبقى اختباراتك قابلة للمقارنة بين النماذج.
أنشئ صورك بنفسك اليوم
تعلّمك الأرصدة المجانية سير العمل، وتمنحك النماذج المحلية التحكم، وتمنحك واجهات API المدفوعة الموثوقية. معظم المشاريع الحقيقية تنتهي باستخدام اثنين من الثلاثة: مسار مجاني للتجارب، ومسار مدفوع للإنتاج.
أسرع طريقة لرؤية الفرق هي تشغيل الأمر النصي نفسه عبر عدة نماذج. افتح PicassoIA، والصق مثال الخباز أعلاه في Flux 2 Pro، ثم جرّب Flux Schnell وImagen 4 على النص نفسه، وقارن النتائج جنبًا إلى جنب. تصفح الكتالوج الكامل في صفحة جميع النماذج، واختر نموذجًا واحدًا يناسب مشروعك، وولّد صورتك الأولى بنقرات قليلة.