Générateur de prompts ChatGPT SDXL vs votre propre script API
Un flux de travail de générateur de prompts chatgpt sdxl consiste à ouvrir une fenêtre de chat, saisir une idée, copier la réponse dans votre outil d’image, et répéter. C’est acceptable pour dix prompts et misérable pour mille. Cet article compare cette routine à un script court qui appelle une API, et donne des chiffres pour les deux.


Points clés
- Le chat manuel est idéal pour explorer un style ; un script est préférable dès que vous avez besoin de volume ou de répétabilité.
- À 30 secondes par prompt manuel, 1 000 prompts prennent environ 8,3 heures ; un script peut les terminer en quelques minutes.
- Sur cette API, 1 000 prompts d’environ 300 tokens en entrée et 200 en sortie coûtent environ $0,145.
- Un script vous offre également des formats fixes, des entrées enregistrées et des tentatives d'exécution, ce qu'une fenêtre de chat ne fait pas.
Deux façons d’obtenir des prompts SDXL à partir d’un modèle de langage
La première méthode est un assistant de chat. Vous collez une instruction de type système une fois, puis envoyez de courtes idées une par une et copiez chaque réponse dans votre outil d’image. Aucun code n’est nécessaire, vous voyez la réponse immédiatement, et vous pouvez dire « plus sombre, plus cinématographique » pour obtenir une révision. Pour la découverte, c’est difficile à battre.
La deuxième méthode est un script. Vous écrivez l’instruction une fois en code, chargez une liste d’idées depuis un fichier, appelez un endpoint de completions de chat pour chacune, et écrivez les résultats dans un fichier ou envoyez-les directement à votre générateur d’images. Ce service est une API compatible OpenAI, textuelle uniquement, servant un seul modèle à poids ouverts d’un fournisseur indépendant. Ce n’est pas ChatGPT et ce n’est pas un produit OpenAI, mais n’importe quel SDK OpenAI peut s’y connecter une fois que vous avez modifié l’URL de base et la clé.
Aucune des deux méthodes ne génère des images. Dans les deux cas, le modèle écrit du texte et un outil séparé tel que SDXL le rend.
Côte à côte
| Facteur | Fenêtre de chat | Script API |
|---|---|---|
| Configuration | Aucun | Clé, 30 lignes de Python |
| Meilleure taille de lot | 1 à 20 prompts | Des centaines à des milliers |
| Format de sortie | Ce que la conversation renvoie ; vous le nettoyez à la main | Le mode JSON renvoie des champs que vous pouvez analyser |
| Répétabilité | Dérive au fur et à mesure que la conversation s’allonge | Même instruction à chaque appel, seed optionnel |
| Itération | Naturel : répondre avec des retours | Vous modifiez le script et le relancez |
| Modèle de coût | Dépend de l’abonnement que vous souscrivez ; consultez ses conditions actuelles | Paiement à l’usage, crédit prépayé |
| Refus de contenu | Dépend de la politique de contenu de l’assistant | Ce modèle répond sans refus de contenu pour un usage adulte légal |
Le résumé honnête : si vous créez quelques images par semaine et aimez discuter à leur sujet, restez sur le chat. Un script commence à être rentable lorsque le copier-coller devient l’étape la plus lente de votre pipeline.
Le coût en temps du copier-coller
Faisons une hypothèse modérée : 30 secondes par prompt pour saisir l’idée, attendre, copier le résultat et le coller là où il doit aller. Sur 1 000 prompts, cela fait 1 000 × 30 s = 30 000 s, soit environ 8,3 heures d’attention.
Un script a une forme différente. Supposons que chaque appel API prenne environ 5 secondes (c’est une hypothèse, mesurez la vôtre). Avec 8 requêtes en vol, qui est la limite de concurrence d’une clé complète, 1 000 appels prennent environ 1 000 / 8 × 5 s = 625 s, soit un peu plus de 10 minutes. Le cap de 300 requêtes par minute signifie que le plancher absolu est un peu plus de 3 minutes. Vous lancez le script, prenez un café, et lisez le fichier ensuite.
Le temps économisé est l’argument principal. L’argent est secondaire, comme le montre la section suivante.
Coût par 1 000 prompts
Cette API facture $0,15 par 1 M de tokens d’entrée et $0,50 par 1 M de tokens de sortie. Supposons que chaque appel envoie une instruction de 250 tokens et une idée de 50 tokens (300 en entrée) et renvoie un prompt de 200 tokens.
- Entrée : 1 000 × 300 = 300 000 tokens × $0,15 / 1 M = $0,045.
- Sortie : 1 000 × 200 = 200 000 tokens × $0,50 / 1M = $0,10.
- Total : $0,145 pour 1 000 prompts.
Pour comparer avec un abonnement chat ou une autre API, divisez le prix de cette offre par le nombre de prompts que vous allez réellement générer en un mois, et vérifiez leur tarification actuelle plutôt que de vous fier à un chiffre issu d’un article. Le crédit d’essai de 0,50 $, réclamé en un clic sur la page clé API après la connexion, couvre un peu plus de 3 400 prompts de cette taille. Consultez la page de tarification pour les recharges de 20 $ à 500 $, par crypto.
Un script par lots avec tentatives
Le script ci-dessous lit les idées depuis ideas.txt, une par ligne, et écrit prompts.jsonl. Il exécute 6 workers en parallèle et réessaie en cas d’erreur 429.
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")
Maintenez le nombre de workers à 8 ou moins sur une clé complète, ou 2 sur une clé d’essai. Si vous voyez 429 avec le code concurrency, réduisez-le ; rate_limited signifie que vous avez dépassé le cap par minute. Les requêtes échouées ne sont pas facturées, donc les tentatives sont gratuites. Plus de détails sur les paramètres sont dans la documentation.
Obtenir de meilleurs résultats avec le script
La première exécution d’un lot est rarement la meilleure. Trois modifications peu coûteuses améliorent les résultats plus que le changement d’outil.
- Ajoutez deux ou trois exemples au prompt système. Collez des prompts qui vous ont donné des images que vous aimiez, chacun avec l’idée courte qui l’a produit. Le modèle copie la structure et le niveau de détail.
- Passez un champ de style. Gardez un petit dictionnaire tel que « film still », « aquarelle », « rendu isométrique », et ajoutez le style choisi à chaque idée. Une seule liste d'idées peut alors produire plusieurs aspects.
- Filtrez la sortie. Rejetez les lignes dont le prompt fait moins de 25 mots ou plus de 80, puis relancez uniquement celles-ci. Une courte vérification en code vaut mieux que de lire mille lignes.
Sauvegardez l’idée à côté de chaque résultat. Lorsqu’une image est bonne, vous voulez voir exactement ce qui l’a produite, et l’historique de chat défile. Le sujet reste votre décision : le modèle est optimisé pour un usage adulte légal, et la seule limite stricte est qu’aucune image sexuelle impliquant des mineurs n’est jamais générée.
Quand rester sur le chat
Un script n'est pas toujours le meilleur choix. Restez avec un assistant de chat lorsque vous ne savez pas encore ce que vous voulez, lorsque chaque image nécessite une conversation sur la composition, ou lorsque votre volume est suffisamment faible pour que le temps de configuration dépasse le temps économisé. Une pratique courante consiste à utiliser le chat pour trouver une bonne instruction, puis à coller cette instruction dans le script en tant que prompt système et à exécuter le travail en masse là-bas.
Pensez également aux données. Les prompts envoyés à cette API ne sont pas utilisés pour l'entraînement. Pour tout autre service, lisez leur politique de données avant d'envoyer des œuvres créatives non publiées.
Plus de guides
Questions et réponses
Cette API est-elle identique à ChatGPT ?
Non. Il s'agit d'un endpoint compatible OpenAI servant un modèle à poids ouverts d'un fournisseur indépendant. Ce n'est pas un produit OpenAI.
L'API peut-elle générer l'image SDXL ?
Non. Elle ne génère que du texte. Votre prompt est envoyé à SDXL, ComfyUI, Automatic1111 ou à un autre outil d'image.
Combien coûte la génération de 1 000 prompts ?
Environ 0,145 $ pour des prompts d'environ 300 tokens en entrée et 200 en sortie, à 0,15 $ par 1 M de tokens d'entrée et 0,50 $ par 1 M de tokens de sortie.
À quelle vitesse un lot peut-il s'exécuter ?
Une clé complète permet 8 requêtes simultanées et 300 par minute, donc 1 000 prompts courts peuvent se terminer en quelques minutes. Les clés d'essai permettent 2 et 60.
Votre clé est à une étape de formulaire
Créez un compte, copiez la clé, modifiez l'URL de base. C'est toute la configuration.