Sau một thời gian nghịch Stable Diffusion thì giờ cũng chút hứng thú với … code Laravel cho em nó.
https://github.com/jooservices/Stable-Diffusion
Về cơ bản
- Tạo ra queues để liên tục generate images
- Tạo ra các “base prompt” để có thể tái` sử dụng ( ví dụ có thể tạo `
`$prompt->portraits('Irene Aronson')
thì sẽ tự add prompt là portraits của nghệ sĩ Irene Aronson
Alrite. Tuy nhiên trước đó thì cần chuẩn bị 1 số thứ
- Stable Diffusion ( webUI ) chạy service
Description=systemd service start stable-diffusion
[Service]
Type=simple
Restart=always
RestartSec=1
ExecStart=/bin/bash /home/joos/stable-diffusion-webui/webui.sh
User=joos
WorkingDirectory=/home/joos/stable-diffusion-webui/
StandardOutput=append:/var/log/sdwebui.log
StandardError=append:/var/log/sdwebui.log
[Install]
WantedBy=multi-user.target
- 1 em cron để chạy schedule:run của Laravel
Xong ! Giờ thì ta có 2 cách
- Generate ra “queues” qua command
php artisan stable-diffusion:generate --prompt="a beautiful girl at 20 years old. she has colorful hair"
Command này sẽ sinh ra 1.001 queues ứng với prompt trên và … toàn bộ models mình đang có.
- Code thêm theo ý
$response = $service
->txt2img()
->generate($payload)
->save($queue->uuid)
->getResponse();