ChatGPT SDXL İstem Üreticisi vs. Kendi API Betiğiniz
Bir chatgpt sdxl istem üreticisi iş akışı, bir sohbet penceresi açmayı, bir fikir yazmayı, cevabı görüntü aracınıza kopyalamayı ve bunu tekrarlamayı ifade eder. On istem için uygundur, bin istem için ise berbat olur. Bu makale, bu rutin ile bir API'yi çağıran kısa bir betiği karşılaştırır ve her ikisi için de sayısal veriler sunar.


Temel noktalar
- Manuel sohbet, bir tarzı keşfetmek için en iyisidir; bir betik ise hacim veya tekrarlanabilirlik gerektiğinde en iyisidir.
- Manuel bir istem başına 30 saniye harcarsanız, 1.000 istem yaklaşık 8,3 saat sürer; bir betik dakikalar içinde bitirebilir.
- Bu API'de, girdi olarak yaklaşık 300 token ve çıktı olarak 200 token içeren 1.000 istem yaklaşık $0,145 tutar.
- Bir betik ayrıca sabit formatlar, kaydedilmiş girdiler ve yeniden denemeler sağlar; bir sohbet penceresi bunları sağlamaz.
Dil modelinden SDXL istemleri elde etmenin iki yolu
İlk yöntem bir sohbet asistanıdır. Sistem tarzı bir talimatı bir kez yapıştırır, ardından kısa fikirleri tek tek gönderir ve her yanıtı görüntü aracınıza kopyalarsınız. Kod gerektirmez, cevabı hemen görürsünüz ve "daha karanlık, daha sinematik" diyerek revizyon alabilirsiniz. Üstüne kolayca çıkılamayacak bir keşif yöntemi.
İkinci yöntem bir betiktir. Talimatı kodda bir kez yazarsınız, fikirlerin listesini bir dosyadan yüklersiniz, her biri için bir sohbet tamamlama uç noktasını çağırırsınız ve sonuçları bir dosyaya yazarsınız veya doğrudan görüntü oluşturucunuza gönderirsiniz. Bu hizmet, bağımsız bir sağlayıcıdan tek bir açık ağırlıklı modeli sunan OpenAI uyumlu, yalnızca metin içeren bir API'dir. ChatGPT değildir ve bir OpenAI ürünü değildir; ancak temel URL'yi ve anahtarı değiştirdiğinizde herhangi bir OpenAI SDK'sı buna bağlanabilir.
Hiçbir yaklaşım resim çizmez. Her iki durumda da model metin yazar ve ayrı bir araç (SDXL gibi) bunu işler.
Yan yana
| Faktör | Sohbet penceresi | API betiği |
|---|---|---|
| Kurulum | Yok | Anahtar, Python ile 30 satır |
| En iyi toplu boyutu | 1 ila 20 istem | Yüzlerce veya binlerce |
| Çıktı formatı | Sohbet penceresinin döndürdüğü her şeyi; elle temizlersiniz | JSON modu ayrıştırabileceğiniz alanları döndürür |
| Tekrarlanabilirlik | Sohbet büyüdükçe sapma | Her çağrıda aynı talimat, isteğe bağlı seed |
| İterasyon | Doğal: geri bildirimle yanıtla | Betik üzerinde düzenleme yapın ve yeniden çalıştırın |
| Maliyet modeli | Sahip olduğunuz plana bağlıdır; mevcut şartları kontrol edin | Token başına ödeme, ön ödemeli kredi |
| Redler | Asistanın içerik politikasına bağlıdır | Bu model, yasal yetişkin kullanımı için içerik reddi olmadan yanıt verir |
Dürüst özet: Haftada birkaç görüntü oluşturuyorsanız ve bunlar hakkında sohbet etmeyi seviyorsanız, sohbetle kalın. Bir betik, kopyala-yapıştır işleminin iş akışınızdaki en yavaş adım olduğu noktada karşılığını vermeye başlar.
Kopyala-yapıştırın zaman maliyeti
Mütevazı bir varsayım yapalım: Bir fikir yazmak, beklemek, sonucu kopyalamak ve uygun yere yapıştırmak için istem başına 30 saniye. 1.000 istem için bu 1.000 × 30 s = 30.000 s, yani yaklaşık 8,3 saat dikkat gerektirir.
Bir betik farklı bir yapıya sahiptir. Her API çağrısının yaklaşık 5 saniye sürdüğünü varsayalım (bu bir varsayım, bu yüzden kendi ölçümünüzü yapın). Tam bir anahtarın eşzamanlı sınırının 8 istek olduğu göz önüne alındığında, 1.000 çağrı yaklaşık 1.000 / 8 × 5 s = 625 s, yani 10 dakikadan biraz fazla sürer. Dakikada 300 istek için istek sınırı, mutlak alt sınırı 3 dakikadan biraz fazla yapar. Başlatın, kahve yapın ve dosyayı sonra okuyun.
Kaydedilen zaman ana argümandır. Para, sonraki bölümde gösterildiği gibi ikincildir.
1.000 istem başına maliyet
Bu API, 1M giriş token başına $0,15 ve 1M çıktı token başına $0,50 ücret alır. Her çağrının 250 token'lık bir talimat ve 50 token'lık bir fikir (300 girdi) gönderip 200 token'lık bir istem döndürdüğünü varsayalım.
- Girdi: 1.000 × 300 = 300.000 token × $0,15 / 1M = $0,045.
- Çıktı: 1.000 × 200 = 200.000 token × $0,50 / 1M = $0,10.
- Toplam: $0.145 1,000 istem için.
Bir sohbet aboneliği veya başka bir API ile karşılaştırma için, bu planın fiyatını bir ayda gerçekten yapacağınız istem sayısına bölün ve bir makaledeki bir rakama güvenmek yerine mevcut fiyatlandırmalarını kontrol edin. API anahtarı sayfası üzerinde tek tıkla talep edilen $0,50 deneme kredisi, bu boyuttaki 3.400'den fazla istemi karşılar. Fiyatlandırma sayfası üzerinden $20 ile $500 arasında kripto ile bakiye yükleyebilirsiniz.
Yeniden denemeli bir toplu betik
Aşağıdaki betik, ideas.txt dosyasından fikirleri okur (her satırda bir tane) ve prompts.jsonl dosyasına yazar. 6 işçi paralel çalıştırır ve 429 hatası durumunda yeniden dener.
import json, time
from concurrent.futures import ThreadPoolExecutor
from openai import OpenAI, RateLimitError
client = OpenAI(base_url="https://api.sdxlapi.com/v1", api_key="YOUR_KEY", max_retries=0)
SYSTEM = (
"Expand the idea into one SDXL prompt of 40 to 60 words: subject, setting, "
"lighting, style, mood, comma-separated. Return JSON with key 'prompt'."
)
def make(idea):
for attempt in range(5):
try:
r = client.chat.completions.create(
model="uncensored",
messages=[{"role": "system", "content": SYSTEM},
{"role": "user", "content": idea}],
response_format={"type": "json_object"},
temperature=0.8,
)
return {"idea": idea, **json.loads(r.choices[0].message.content)}
except RateLimitError:
time.sleep(5 * (attempt + 1))
return {"idea": idea, "prompt": None}
ideas = [l.strip() for l in open("ideas.txt") if l.strip()]
with ThreadPoolExecutor(max_workers=6) as pool, open("prompts.jsonl", "w") as out:
for row in pool.map(make, ideas):
out.write(json.dumps(row, ensure_ascii=False) + "\n")
Tam bir anahtar üzerinde işçi sayısını 8'in altında veya eşit, deneme anahtarında ise 2'nin altında tutun. 429 HTTP durum kodunu concurrency ile görürseniz, bu değeri düşürün; rate_limited, dakikalık limiti aştığınızı gösterir. Başarısız istekler faturalandırılmaz, bu nedenle yeniden denemeler ücretsizdir. Parametreler hakkında daha fazla bilgi dokümantasyonda yer almaktadır.
Betikten daha iyi çıktı elde etme
Bir toplu çalıştırmanın ilk çalıştırması nadiren en iyisidir. Üç ucuz değişiklik, araç değiştirmekten daha fazla sonuç iyileştirmesi sağlar.
- Sistem istemine iki veya üç örnek ekleyin. Beğendiğiniz görüntülerin istemlerini, bunları üreten kısa fikirlerle birlikte yapıştırın. Model yapıyı ve ayrıntı düzeyini kopyalar.
- Bir stil alanı geçirin. "film karesi", "suluboya", "izometrik render" gibi küçük bir sözlük tutun ve seçilen stili her fikre ekleyin. Bir fikir listesi ardından birkaç farklı görünüm üretebilir.
- Çıktıyı filtreleyin. İstem 25 kelimeden kısa veya 80 kelimeden uzun olan satırları reddedin, ardından yalnızca bunları yeniden çalıştırın. Kodda kısa bir kontrol, binlerce satırı okumaktan daha iyidir.
Fikri her sonucun yanına kaydedin. Bir görüntü iyi çıktığında, tam olarak neyin onu ürettiğini görmek istersiniz ve sohbet geçmişi kaybolur. Konu alanı sizin kararınızda kalır: model yasal yetişkin kullanımı için ayarlanmıştır ve tek bir zorlu sınır, reşit olmayanlarla ilgili cinsel içerikli hiçbir şeyin üretilmemesidir.
Ne zaman sohbetle kalmalı
Bir betik her zaman daha iyi bir seçim değildir. Henüz ne istediğinizi bilmediğinizde, her görüntü bir kompozisyon tartışması gerektirdiğinde veya hacminiz kurulum süresinin kazandırdığı süreyi aşacak kadar küçük olduğunda bir sohbet asistanıyla kalın. Yaygın bir kalıp, iyi bir talimat bulmak için sohbeti kullanmak, ardından bu talimatı sistem istemi olarak betiğe yapıştırmak ve toplu işi orada çalıştırmaktır.
Veri konusunda da düşünün. Bu API'ye gönderilen istemler eğitim için kullanılmaz. Başka herhangi bir hizmet için, yayınlanmamış yaratıcı eserleri göndermeden önce veri politikalarını okuyun.
Daha fazla kılavuz
Sorular ve cevaplar
Bu API, ChatGPT ile aynı mı?
Hayır. Bu, bağımsız bir sağlayıcıdan tek bir açık ağırlıklı modeli sunan OpenAI-uyumlu bir uç noktadır. OpenAI ürünü değildir.
API SDXL görüntüsünü de üretebilir mi?
Hayır. Sadece metin yazar. İsteminiz SDXL, ComfyUI, Automatic1111 veya başka bir görüntü aracına gider.
1,000 istem oluşturmanın maliyeti ne kadar?
Yaklaşık 300 token girdili ve 200 token çıktılı istemler için, 1M giriş token başına $0,15 ve 1M çıkış token başına $0,50 fiyatıyla yaklaşık $0,145.
Bir toplu işlem ne kadar hızlı çalışabilir?
Tam bir anahtar 8 eşzamanlı istek ve dakikada 300 istek yapmanızı sağlar; bu sayede 1,000 kısa istem dakikalar içinde tamamlanabilir. Deneme anahtarları 2 ve 60 limitine izin verir.
Anahtarınız tek bir formu doldurmanız yeterlidir
Bir hesap oluşturun, anahtarı kopyalayın, base URL'yi değiştirin. Kurulum bu kadar.