1. معرفی مدل DALL·E

مدل DALL·E توسط OpenAI یک سیستم هوش مصنوعی است که می‌تواند تصاویر را از پیام‌های متنی تولید کند. قابلیت آن از تکثیر ساده تصاویر تا تصور خلاقانه صحنه‌های توصیف شده در متن است. نام "DALL·E" ترکیبی از نقاش سالوادور دالی و شخصیت انیمیشنی WALL·E است که نماد اشتراک هنر و اتوماسیون است.

مدل DALL·E از طریق یادگیری عمیق برای درک دستورات متنی و تبدیل آن‌ها به نمایش‌های تصویری آموزش دیده شده است. برای تولید تصاویر مناسب بر اساس توضیحات، DALL·E می‌تواند تصاویر تطبیقی را تولید کند، آیا این عکاسی باشد، نقاشی، هنر دیجیتال یا هر شکل دیگر از تصویری.

2. استفاده پایه از مدل تولید تصویر DALL·E

OpenAI یک رابط API برای DALL·E فراهم کرده است که به توسعه دهندگان اجازه می‌دهد مدل را به برنامه‌ها یا خدمات خود ادغام کنند. در زیر فرآیند اصلی و معانی پارامترها برای تولید تصاویر با استفاده از رابط‌های API DALL·E 3 و DALL·E 2 آمده است:

curl -X POST https://api.openai.com/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "model": "dall-e-2", # نسخه مدل، می‌تواند "dall-e-3" یا "dall-e-2" باشد.
        "prompt": "پیام متنی", # متنی که برای تولید تصویر استفاده می‌شود.
        "n": 1, # تعداد تصاویر قابل تولید.
        "size": "1024x1024", # اندازه تصویر.
        "quality": "standard" # کیفیت تصویر، می‌تواند "hd" باشد.
      }'
  • model: نسخه موردنظر از مدل DALL·E را مشخص می‌کند.
  • prompt: دستور متنی برای مدل را فراهم می‌کند که از آن برای تولید تصاویر استفاده می‌کند.
  • n: تعداد تصاویر قابل تولید. DALL·E 3 فقط می‌تواند 1 تصویر به صورت همزمان تولید کند، در حالی که DALL·E 2 می‌تواند تا 10 تصویر به صورت همزمان تولید کند.
  • size: اندازه تصویر تولیدی. برای dall-e-2، باید یکی از 256x256، 512x512، یا 1024x1024 باشد. برای dall-e-3، باید یکی از 1024x1024، 1792x1024، یا 1024x1792 باشد.
  • quality: کیفیت تصویر تولیدی را تنظیم می‌کند. "standard" برای کیفیت استاندارد و "hd" برای کیفیت با وضوح بالا.

3. ویرایش تصویر و تولید نوع متغیر (فقط DALL·E 2)

۳.۱. ویرایش تصویر (ویرایش یا گسترش تصاویر)

با ویژگی ویرایش تصویر DALL·E ۲، می‌توانید یک تصویر و ماسک متناظر آن را بارگذاری کنید. نواحی شفاف در ماسک نشان دهنده بخش‌های قابل ویرایش است، و مدل بر اساس پیام‌های متنی جدید، محتوا را در این نواحی ایجاد می‌کند. این ویژگی می‌تواند عناصر جدیدی را که با عناصر اصلی تصویر متفاوت هستند، ایجاد کند و نسخه‌های ویرایش شده تولید کند.

برای ادامه استفاده از مثال درخواست API با دستور curl:

curl -X POST https://api.openai.com/v1/images/edits \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F "model=dall-e-2" \
  -F "prompt=توضیحات متنی جدید" \
  -F "image=@/path_to_your_original_image.png" \
  -F "mask=@/path_to_your_mask.png" \
  -F "n=1" \
  -F "size=1024x1024"
  • image: فایل حاوی تصویر اصلی.
  • mask: فایل حاوی ماسک، جایی که ناحیه شفاف نشان دهنده ناحیه‌ای است که توسط مدل پردازش خواهد شد.
  • prompt: پیام متنی جدید که محتوای کلی تصویر جدید را توصیف می‌کند، نه فقط ناحیه‌های پاک‌شده.

لازم به ذکر است که تصویر اصلی بارگذاری شده و ماسک باید تصاویر PNG مربعی باشند، حجم آنها بیشتر از ۴ مگابایت نباشد و ابعاد یکسانی داشته باشند.

مثال:

curl https://api.openai.com/v1/images/edits \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F image="@sunlit_lounge.png" \
  -F mask="@mask.png" \
  -F model="dall-e-2" \
  -F prompt="یک منطقه استراحت داخلی خورشید‌پرتاب با یک استخر و یک فلامینگو در داخل" \
  -F n=1 \
  -F size="1024x1024"

تصویر اصلی تصویر ماسک تصویر تولیدشده

۳.۲. تولید نوع تصویر

استفاده از DALL·E ۲ برای تولید نسخه‌های متغیر از تصاویر از یک تصویر موجود شروع می‌شود تا چندین نسخه مختلف در محتوا یا سبک ایجاد شود. این ویژگی می‌تواند برای کاوش امکانات مختلف یک تصویر یا برای تکامل خلاقانه استفاده شود.

به همان شکل، از دستور curl برای ارسال درخواست API استفاده کنید:

curl -X POST https://api.openai.com/v1/images/variations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F "image=@/path_to_your_image.png" \
  -F "n=2" \
  -F "size=1024x1024"
  • image: فایل حاوی تصویر اصلی که برای آن نسخه‌های مختلف تولید خواهد شد.
  • n: تعداد نسخه‌هایی که قرار است تولید شود، که می‌توان با استفاده از این پارامتر کنترل شود.

همانند قبل، تصویر ورودی باید یک فایل PNG مربعی باشد و کمتر از ۴ مگابایت باشد.