ID ▾
Dapatkan kunci API

Generator Prompt Stable Diffusion LLM: Setup Python

Diperbarui

Jika Anda ingin generator prompt Stable Diffusion LLM memperluas beberapa kata menjadi prompt lengkap dan terstruktur, Anda hanya memerlukan model teks dan sekitar tiga puluh baris Python. Model menulis prompt sebagai teks; ia tidak merender gambar, jadi Anda tetap menjalankan hasilnya melalui SDXL atau alat gambar lain yang Anda gunakan.

Corong kaca mengubah beberapa kata bercahaya menjadi pita panjang detail yang mengarah ke kanvas kosong
Diorama panggung kecil dengan gelembung percakapan bercahaya yang mewakili skenario roleplay teks

Poin utama

  • LLM hanya menulis teks. Masukkan outputnya ke pengaturan SDXL, ComfyUI, atau Automatic1111 Anda.
  • Mode JSON mengembalikan prompt positif dan prompt negatif yang dapat Anda uraikan tanpa regex.
  • Satu ekspansi biaya di bawah $0,0001, sehingga 1.000 prompt biaya sekitar $0,09.
  • Pertahankan prompt ringkas: encoder teks SDXL hanya membaca 77 token pertama dari setiap potongan.

Apa yang dilakukan LLM dan apa yang tidak

Model gambar merespons dengan baik terhadap prompt padat dan spesifik: subjek, latar, lensa, pencahayaan, media, suasana hati, dan daftar hal yang harus dihindari. Kebanyakan orang mengetik tiga kata dan mendapatkan hasil yang datar. LLM menutup celah itu dengan mengambil ide singkat Anda dan menulis versi panjangnya dalam format yang konsisten.

Jelaskan pembagian kerja dengan jelas. Layanan ini adalah API text-only. Ia tidak menghasilkan gambar, audio, atau video, dan tidak memiliki embedding atau fine-tuning. Ia berada di depan pipeline gambar Anda dan menulis instruksi yang dibaca oleh pipeline tersebut. Ini adalah endpoint kompatibel OpenAI yang melayani satu model bobot terbuka dari penyedia independen, bukan produk dari vendor model gambar mana pun.

Model ini di-tune untuk menjawab tanpa penolakan konten untuk penggunaan dewasa yang sah, yang penting bagi seniman dan pengembang game yang subjeknya (horor, kekerasan dalam fiksi, tema dewasa) diblokir di tempat lain. Konten seksual yang melibatkan anak di bawah umur adalah batas keras dan tidak pernah dihasilkan.

Langkah 1: dapatkan kunci dan uji satu panggilan

Masuk dengan Google atau email dan kata sandi, lalu buka halaman kunci API. Uji coba satu klik menambahkan $0,50 saldo, berlaku selama 7 hari dan tidak memerlukan kartu. Itu cukup untuk ribuan ekspansi prompt, seperti yang ditunjukkan bagian biaya.

Periksa bahwa semuanya berfungsi dengan curl:

curl https://api.sdxlapi.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [
      {"role": "system", "content": "You write Stable Diffusion prompts."},
      {"role": "user", "content": "lighthouse in a storm"}
    ]
  }'

SDK OpenAI apa pun berfungsi setelah Anda mengubah base URL dan kunci. Detailnya ada di dokumentasi.

Langkah 2: prompt sistem yang memberikan output stabil

Prompt sistem adalah tempat kualitas berasal. Beritahu model format target, urutan elemen, batas panjang, dan apa yang harus diabaikan. Versi yang bekerja dengan baik sebagai titik awal:

Anda mengubah ide gambar singkat menjadi prompt untuk SDXL. Tulis satu prompt positif sepanjang 40 hingga 60 kata: subjek di awal, lalu latar belakang, komposisi, pencahayaan, medium atau gaya, dan suasana. Gunakan frasa yang dipisahkan koma, bukan kalimat lengkap. Kemudian tulis prompt negatif hingga 15 frasa pendek. Jangan tambahkan teks, watermark, atau caption pada gambar. Kembalikan JSON dengan kunci "prompt" dan "negative".

Batas kata sangat penting. Encoder teks CLIP SDXL membaca prompt dalam potongan 77 token, dan apa pun di luar itu akan dipotong atau ditangani oleh fitur chunking di UI Anda. Menargetkan 40 hingga 60 kata menjaga sebagian besar prompt tetap dalam satu potongan, dengan detail paling penting di awal.

Gunakan suhu rendah hingga sedang (0,7 hingga 0,9) agar gaya tetap konsisten tetapi dua kali berjalan dengan ide yang sama berbeda. Jika Anda memerlukan output yang identik untuk pengujian, berikan seed yang tetap.

Langkah 3: skrip Python

Skrip ini membaca ide dari daftar, meminta JSON, dan mencetak pasangan prompt. Ini menggunakan paket Python OpenAI resmi dengan base URL yang diubah.

import json
from openai import OpenAI

client = OpenAI(base_url="https://api.sdxlapi.com/v1", api_key="YOUR_KEY")

SYSTEM = (
    "You turn short image ideas into prompts for SDXL. Write one positive "
    "prompt of 40 to 60 words: subject, setting, composition, lighting, "
    "medium or style, mood, as comma-separated phrases. Then a negative "
    "prompt of up to 15 short phrases. Return JSON with keys "
    "'prompt' and 'negative'."
)

def expand(idea: str) -> dict:
    resp = client.chat.completions.create(
        model="uncensored",
        messages=[
            {"role": "system", "content": SYSTEM},
            {"role": "user", "content": idea},
        ],
        response_format={"type": "json_object"},
        temperature=0.8,
        max_tokens=400,
    )
    return json.loads(resp.choices[0].message.content)

for idea in ["lighthouse in a storm", "abandoned greenhouse at dawn"]:
    result = expand(idea)
    print(idea, "->", result["prompt"])
    print("negative:", result["negative"], "\n")

Mode JSON (response_format dengan json_object) membuat balasan terurai dengan bersih. Tetap bungkus json.loads dalam blok try di produksi dan coba lagi sekali jika gagal, karena balasan panjang yang terpotong di max_tokens dapat berakhir di tengah objek.

Langkah 4: kirimkan prompt ke alat gambar Anda

Outputnya adalah string polos, sehingga antarmuka depan apa pun dapat menerimanya. Dengan instalasi Automatic1111 atau ComfyUI lokal, kirimkan dua bidang tersebut ke API-nya. Dengan skrip yang mengulang daftar ide CSV, tulis hasilnya ke file dan antrikan sebagai batch.

  • Simpan ide, prompt, dan prompt negatif bersama-sama, sehingga Anda dapat melacak gambar bagus kembali ke instruksi yang menghasilkannya.
  • Tambahkan baris gaya dari daftar Anda sendiri ("foto sinematik", "ilustrasi tinta") sebagai bidang tambahan dalam pesan pengguna ketika Anda ingin seri dengan tampilan yang cocok.
  • Simpan pustaka pendek prompt yang berhasil, dan masukkan dua atau tiga di antaranya ke dalam prompt sistem sebagai contoh. Contoh few-shot mengarahkan gaya lebih andal daripada kata sifat.

Untuk proyek roleplay atau game, pola yang sama dapat menggambarkan adegan dari cerita, dengan LLM mengubah beberapa paragraf terakhir menjadi deskripsi visual. Artikel tentang skenario roleplay berbasis teks mencakup sisi cerita.

Masalah umum dan perbaikan

Beberapa masalah muncul di hampir setiap proyek generator prompt.

Model menambahkan komentar

Balasan yang dimulai dengan "Berikut prompt Anda" mengganggu alur kerja. Mode JSON menghilangkan sebagian besar ini. Jika Anda bekerja dengan teks polos, katakan "hanya keluarkan prompt, tanpa pendahuluan" dan tambahkan urutan henti untuk baris yang tidak ingin Anda lihat.

Setiap prompt terlihat sama

Suhu rendah dan template ketat memberikan hasil seragam. Tingkatkan suhu ke 1,0, variasi baris gaya yang Anda berikan, atau minta tiga alternatif dan pilih satu. Penalti (frequency_penalty, presence_penalty) diteruskan dan dapat memecah frasa yang berulang.

Prompt terlalu panjang untuk model gambar

Tetapkan batas kata keras di prompt sistem dan periksa panjangnya dalam kode. Memotong secara manual membuang detail terakhir, yang biasanya paling tidak penting, tetapi lebih baik model menulis pendek sejak awal.

Anda terkena 429

Anda mengirim terlalu banyak permintaan per menit atau sekaligus. Mundur selama beberapa detik dan coba lagi; respons mungkin menyertakan Retry-After: 5. Batch dengan kumpulan utas kecil dengan 4 hingga 8 pekerja tetap dalam batas kunci penuh.

Biaya untuk 1.000 prompt

Harga adalah $0,15 per 1M token input dan $0,50 per 1M token output. Ekspansi standar mengirim prompt sistem sekitar 150 token ditambah ide 15 token, sebut saja 170 token masuk, dan menerima sekitar 120 token JSON.

  • Input: 170 × $0,15 / 1M = $0,0000255.
  • Output: 120 × $0,50 / 1M = $0,00006.
  • Per prompt: sekitar $0.0000855.
  • 1.000 prompt: sekitar $0,0855, atau $0,09.

Bulatkan ke atas untuk prompt sistem yang lebih panjang atau contoh few-shot. Jika Anda menambahkan 600 token contoh, input menjadi 770 token dan 1.000 prompt biaya sekitar $0,1155 untuk input + $0,06 untuk output, sekitar $0,18 secara total. Bagaimanapun, kredit uji coba $0,50 mencakup beberapa ribu ekspansi. Permintaan yang gagal tidak dibebankan biaya, dan saldo prabayar tidak pernah habis masa berlakunya; lihat halaman harga untuk isi saldo ($20 hingga $500, dengan kripto).

Tanya jawab

Dapatkah LLM menghasilkan gambar Stable Diffusion sendiri?

Tidak. Ia hanya menulis teks. Anda meneruskan prompt-nya ke SDXL, ComfyUI, Automatic1111, atau alat gambar lain yang Anda jalankan.

Berapa panjang prompt SDXL yang baik?

Sekitar 40 hingga 60 kata bekerja dengan baik, dengan detail utama di awal, karena encoder teks membaca dalam potongan 77-token.

Apakah ia menolak tema dewasa atau gelap?

Model ini disesuaikan untuk menjawab tanpa penolakan konten untuk penggunaan dewasa yang sah. Konten yang melibatkan anak di bawah umur tidak pernah dihasilkan.

Nama model mana yang harus saya kirim?

Kirimkan uncensored sebagai model ID, dengan base URL https://api.sdxlapi.com/v1 dan kunci Anda sebagai token Bearer.

Bisakah saya menjalankan banyak prompt secara paralel?

Kunci penuh mengizinkan 8 permintaan paralel dan 300 per menit; kunci uji coba mengizinkan 2 dan 60. Respons 429 berarti tunggu dan coba lagi.

Kunci Anda hanya selangkah lagi dari satu formulir

Buat akun, salin kunci, ubah URL dasar. Itu saja seluruh proses pengaturannya.

Dapatkan kunci API