Midjourney / Discord to Lightroom اتوماسیون – گام به گام

Midjourney سرگرم کننده است، اما اگر می خواهید تصاویر زیادی بسازید، رابط مبتنی بر Discord تا حدودی آزار دهنده است. برای دریافت تمام تصاویری که تولید می‌کنید، باید تمام پیش‌نمایش‌های ۲×۲ را ارتقا دهید و آنها را به صورت دستی ذخیره کنید. ممکن است بسیار خسته کننده باشد، بنابراین به جای ساختن تصاویر بهتر، کمی زمان را صرف خودکار کردن فرآیند دانلود و واردات کردم. با استفاده از این کد، یک ربات Discord سرور شما را کنترل می کند، پیام های Midjourney را تماشا می کند، همه تصاویر را پردازش می کند و آنها را در حساب ابری Lightroom CC شما آپلود می کند. اسکریپت را در هر جایی اجرا کنید، یک Raspberry Pi یا یک سرور ابری ارزان، و به ساختن تصاویر ادامه دهید.

اگر می خواهید فوراً شروع کنید، کد github.com/softplus/midjourney_lightroom است.

این یک پست طولانی به نظر می رسد – این فقط مجموعه ای از چندین قدم کوچک است. اگر قبلا چیزی از Github اجرا کرده اید، می توانید آن را انجام دهید. همه اینها تحت اوبونتو کار می کنند، من آنقدر حوصله ندارم که آن را در سیستم عامل های دیگر امتحان کنم. YMMV.

با الهام از راهنمای مایکل کینگ برای دانلود خودکار تصاویر Midjourney.

بررسی اجمالی

شما به موارد زیر نیاز خواهید داشت:

  • جایی برای اجرای کد. من از کامپیوتر با اوبونتو استفاده می کنم.
  • یک سرور خصوصی Discord. اگر می خواهید یک مورد جدید بسازید، آنها “رایگان” هستند.
  • یک کلید ربات Discord (ما آن را در زیر می سازیم)
  • یک کلید Adobe Lightroom CC API (ما آن را در زیر می‌سازیم)
  • حساب Midjourney (#بدیهی است)

موارد زیر را انجام خواهد داد:

  • ربات به سرور و کانال خصوصی شما می پیوندد.
  • شما Midjourney را هم به آنجا دعوت کرده اید.
  • وقتی نتیجه ای از Midjourney دریافت کردید، تصویر را دانلود کرده و در لایت روم آپلود می کند.
  • یک بار در روز باید برای لایت روم احراز هویت کنید.

پروژه را شبیه سازی و راه اندازی کنید

این برای اوبونتو است. در صورت نیاز تنظیم کنید. ما در حال شبیه سازی پروژه، راه اندازی یک محیط مجازی، نصب پیش نیازها، و ایجاد یک تنظیمات پیش فرض (.env) فایل. در یک پنجره دستوری، موارد زیر را وارد کنید:

git clone https://github.com/softplus/midjourney_lightroom # get the repo
cd midjourney_lightroom         # enter the folder
virtualenv .venv && source .venv/bin/activate # set up a virtual environment
pip install -r requirements.txt # install requirements
cp sample.env .env              # copy the settings file

کلید لایت روم CC API

ما یک پروژه جدید ایجاد می کنیم، API Lightroom را انتخاب می کنیم و کلیدهای OAuth2 را دریافت می کنیم.

  1. به https://developer.adobe.com/console/home بروید
  2. یک پروژه جدید ایجاد کنید
  3. روی «افزودن API» کلیک کنید
  4. «خدمات لایت روم (نیاز به بررسی)» را در لیست پیدا کنید، روی «بعدی» کلیک کنید.

داشبورد Adobe API: انتخاب اسکرین شات خدمات

  1. برای احراز هویت Oauth 2.0، «برنامه وب» را انتخاب کنید
  2. «https://lowly-occipital-croissant.glitch.me/» را به‌عنوان URI تغییر مسیر و «https://lowly-occipital-croissant\.glitch\.me/» را به‌عنوان الگوی Redirect URI وارد کنید (با علامت‌های اضافی ):

داشبورد Adobe API: راه اندازی Oauth2

  1. “شناسه مشتری” را در خود کپی کنید .env فایل.
  2. روی “بازیابی رمز مشتری” کلیک کنید و راز مشتری را در خود کپی کنید .env فایل.
  3. انجام شده! (برای این)

سرور Discord

این (احتمالا) بهترین کار را با یک سرور Discord جداگانه دارد، بنابراین بیایید آن را تنظیم کنیم. در اینجا راهنمای رسمی است.

  1. در Discord، روی “+” کلیک کنید تا یک سرور جدید اضافه کنید

جایی که دکمه «افزودن سرور» در Discord است

  1. “Create My Own” را انتخاب کنید
  2. “برای من و دوستانم” را انتخاب کنید
  3. نام سرور را وارد کنید هر چیزی. پنیر مورد علاقه شما

اکنون زمان اضافه کردن ربات Midjourney است.

  1. به پیام های مستقیم خود بروید
  2. ربات Midjourney را انتخاب کنید
  3. روی نام ربات در بالا کلیک کنید:

اسکرین شات از افزودن ربات به سرور در Discord

  1. روی “افزودن به سرور” کلیک کنید
  2. سرور خود را انتخاب کنید، روی “ادامه” کلیک کنید
  3. تنظیمات را پیش‌فرض بگذارید، روی «مجوز» کلیک کنید (و کپچا را انجام دهید)

اکنون به سرور خود در یکی از کانال ها بروید، باید تأییدیه اضافه شدن ربات را مشاهده کنید. سعی کنید یک تصویر بسازید، باید به طور معمول کار کند.

یک ربات Discord ایجاد کنید

  1. به https://discord.com/developers/applications بروید
  2. روی “برنامه جدید” کلیک کنید
  3. یک نام برنامه (هر چیزی) را انتخاب کنید و تأیید کنید که شما یک آدم تند و سریع نیستید.
  4. روی “ایجاد” کلیک کنید. شما اکنون یک ربات دارید!
  5. “ربات” را در نوار کناری انتخاب کنید.
  6. در «Build-A-Bot»، روی «Reset Token» کلیک کنید. این یک نشانه طولانی را نشان می دهد.
  7. روی “Copy token” کلیک کنید و آن را در خود ذخیره کنید .env فایل به عنوان DISCORD_TOKEN.
  8. هنوز در «ربات»، به پایین پیمایش کنید و مقاصد را فعال کنید: «قصد حضور»، «نیت اعضای سرور» و «نیت محتوای پیام»

انتخاب مجوزهای ربات Discord

  1. “OAuth2” را در نوار کناری انتخاب کنید و به “URL generator” بروید
  2. در “Scopes”، “Bot” را انتخاب کنید – این اجازه‌های ربات را در پایین اضافه می‌کند.

دریافت URL احراز هویت ربات Discord

  1. به پایین پیمایش کنید و در قسمت «مجوزهای ربات» «خواندن پیام‌ها / مشاهده کانال‌ها» را انتخاب کنید.
  2. به پایین بروید، URL تولید شده را کپی کنید و آن را در یک تب مرورگر جداگانه باز کنید.
  3. این شروع به اضافه کردن ربات به سرور شما می کند. سرور خود را انتخاب کرده و ادامه دهید.

افزودن ربات Discord به سرور

  1. مجوز «خواندن پیام‌ها» را تأیید کنید. روی 'Authorize' کلیک کنید. کپچا را انجام دهید
  2. ربات شما اکنون در Discord است! باید تاییدیه را در کانال ببینید.

اکنون Lightroom، Discord و مجوزها را تنظیم کرده اید. شما .env فایل باید حداقل شامل تنظیمات DISCORD_TOKEN، LR_CLIENT_ID، و LR_CLIENT_SECRET باشد.

ربات را اجرا کنید

در پنجره دستوری که کد را نصب کرده اید، اکنون باید بتوانید آن را اجرا کنید:

python3 main_script.py
# stuff happens now

باید وارد Discord شود و منتظر موارد بیشتر باشد:

Creating new salt for random file names.
Lightroom authentication code invalid, starting fresh.
401 Client Error: Unauthorized for url: https://lr.adobe.io/v2/catalog
2023-05-01 09:07:24 INFO     discord.client logging in using static token
2023-05-01 09:07:25 INFO     discord.gateway Shard ID None has connected
to Gateway (Session ID: 1234567890abcdef1234567890abcdef). 
Logged in as chessetesters#2484 (ID: 1234567890123456789)
Bot connected, enter 'hi!' to confirm

خطای Adobe به این دلیل است که شما هنوز به حساب لایت روم خود وارد نشده اید – در مرحله بعد این کار را انجام خواهیم داد. شما هنوز چیزی در Discord نخواهید دید، زیرا نمی داند در کدام کانال پست کند.

در Discord، “سلام!” به چت این ربات را فعال می کند، که URL را برای احراز هویت لایت روم به شما می دهد. URL مختص این ربات است.

اسکرین شات رباتی که درخواست احراز هویت لایت روم می کند

روی پیوند کلیک کنید و (به طور بالقوه) به حساب Adobe خود وارد شوید (اگر قبلاً وارد نشده اید). شما را به صفحه ای با کد تأیید هدایت می کند. auth-code مختص ربات و حساب شما است.

صفحه نمایش کد احراز هویت لایت روم

روی کد تأیید کلیک کنید، این کد آن را انتخاب کرده و در کلیپ بورد خود کپی می کند. کد تأیید را در Discord بچسبانید (از جمله قسمت “aut!” در ابتدا). اگر خوب باشد، ربات با «تأیید هویت لایت روم خوب» پاسخ می‌دهد. احراز هویت پس از 24 ساعت منقضی می شود، بنابراین یک بار در روز برای شما فعال می شود. اکنون همه چیز آماده است!

یک را امتحان کنید /imagine فرمان Midjourney باید تصویر را ایجاد کند. اسکریپت شما باید آن را انتخاب کند. لایت روم باید 4 تصویر تولید شده را نشان دهد. شما نیازی به استفاده از “Upscale” ندارید.

در اینجا چیزی است که ممکن است در خروجی اسکریپت مشاهده کنید:

Message: Please authenticate here and paste the results here:
Message: https://ims(...)e%2F
Message: auth! ey(...)g
Message: Lightroom authentication is ok.
Message: **cheese is holey --v 5** -  (Waiting to start)
Message: **cheese is holey --v 5** -  (fast)
  Image downloaded: johnmu_cheese_is_holey_01234567-89ab-cdef-0123-456789abcdef.png
  Stored: -cABCDEFGabcdefg012345.png
  Stored: VnABCDEFGabcdefg012345.png
  Stored: u1ABCDEFGabcdefg012345.png
  Stored: zLABCDEFGabcdefg012345.png

تصاویر در پوشه ای به نام “out” به صورت محلی ذخیره می شوند و در Lightroom CC آپلود می شوند. کار شما اساساً اکنون تمام شده است، این کار خواهد کرد. افزودن صفحه‌گسترده زیر، ردیابی درخواست‌های عکس‌هایی که ایجاد کرده‌اید را آسان‌تر می‌کند، اما اختیاری است.

تنظیم یک صفحه گسترده Google برای جزئیات تصویر

تصاویر به نام‌های تصادفی تغییر نام می‌دهند (MD5 URL اصلی + نمک از تنظیمات شما). این امر از لو رفتن تصادفی درخواست یا راهنمای Midjourney (که به افراد امکان می دهد جزئیات و سایر تصاویر شما را جستجو کنند) جلوگیری می کند. همچنین نام فایل های کوتاه تری را ایجاد می کند.

یک فایل محلی out/_log.csv نام فایل اصلی، پیوندهای پیام Discord و Midjourney GUID را ردیابی می کند. همچنین با کمک هک Google Forms به Google Sheet اضافه شده است. در اینجا نحوه تنظیم آن آمده است.

  1. به https://forms.new/ بروید – این یک Google Form جدید ایجاد می کند
  2. آن را معقولانه نام ببرید.
  3. ۸ فیلد متنی «پاسخ کوتاه» اضافه کنید. آنها نیازی به نامگذاری ندارند، اما نام فیلدهایی که من استفاده می کنم عبارتند از: UUID جدید، UUID قدیمی، درخواست، Seed، URL، نام فایل، URL شغل، URL تصویر. (بذر به نظر آینده است، در حال حاضر نمی توان آن را برداشت.)

اسکرین شات بخشی از تنظیمات Google Form

  1. روی تب “پاسخ ها” کلیک کنید و “پیوند به برگه ها” را انتخاب کنید. “ایجاد صفحه گسترده جدید” را انتخاب کنید.
  2. به فرم برگردید، روی پیوند پیش نمایش (نماد چشم عجیب و غریب بد بو در بالا) کلیک کنید.
  3. URL را کپی کرده و به آدرس خود اضافه کنید .env فایل به عنوان FORM_URL.
  4. اسکریپت خود را مجدداً راه اندازی کنید، اگر در حال اجرا است.

سعی کنید یک تصویر بسازید. اکنون باید در لایت روم آپلود شود و وارد صفحه گسترده شود.

این است. ایجاد دور.

افکار نهایی

یادداشت های تصادفی

  • این همه کمی به تنظیمات فعلی Midjourney (نام فایل ها، قالب بندی پیام Discord، فرمت های فایل، پیش نمایش های حاوی تصویر کامل و غیره) بستگی دارد. اگر هر یک از این تغییر کند، این اسکریپت ممکن است دیگر کار نکند.
  • اخیراً، Midjourney برای پیش‌نمایش تصاویر به .webp منتقل شده است، که باید در اینجا تنظیم می‌شد.
  • ممکن است Midjourney این را دوست نداشته باشد، اگرچه از آنجایی که به طور خودکار درخواست ها را به Midjourney ارسال نمی کند، شاید خوب باشد؟
  • نمی توانم قول بدهم که با تغییرات Midjourney همگام باشم.
  • Adobe Lightroom API یک اشکال عجیب دارد که مهر تاریخ را برای تصاویر آپلود شده نمی پذیرد. هیچ ایده ای برای گزارش آن نیست.
  • این فقط تصاویر جدید را دانلود می کند، از تاریخچه کانال شما عبور نمی کند.

به روز رسانی های احتمالی در آینده

  • نحوه اجرای این مورد را در یک نمونه رایگان در Google Cloud مستند کنید
  • نحوه اجرای این کار را روی Raspberry Pi مستند کنید (باید بی اهمیت باشد).
  • پس از مدتی پس از وارد کردن، تصاویر را با پاسخ دادن با “X” حذف کنید. مشخصات Midjourney و Discord خود را تمیز نگه دارید.
  • دستوری برای انتخاب آلبومی برای افزودن تصاویر اضافه کنید.
  • انتخاب خودکار نام آلبوم بر اساس درخواست.
  • Open-AI's API را روی اعلان اجرا کنید تا هشتگ برای طبقه‌بندی خودکار ایجاد کنید.
  • بخشی از تاریخچه چت را پردازش کنید.

تغییرات

نظرات / سوالات

در حال حاضر هیچ قابلیت نظر دادن در اینجا وجود ندارد. اگر می‌خواهید نظر بدهید، لطفاً از Mastodon استفاده کنید و من را (@[email protected]) در آنجا ذکر کنید. با تشکر!

صفحات مرتبط

Source link