Генератор промптов ChatGPT SDXL против вашего собственного API-скрипта
Рабочий процесс генератора промптов chatgpt sdxl означает открытие окна чата, ввод идеи, копирование ответа в инструмент для изображений и повторение. Это нормально для десяти промптов и мучительно для тысячи. В этой статье мы сравниваем этот процесс со скриптом, вызывающим API, и приводим цифры для обоих вариантов.


Ключевые моменты
- Ручной чат лучше всего подходит для исследования стиля; скрипт — лучший выбор, когда вам нужен объем или повторяемость.
- При 30 секундах на ручной промпт 1 000 промптов занимают около 8,3 часов; скрипт может завершиться за несколько минут.
- За 1 000 промптов длиной около 300 входных и 200 выходных токенов на этом API потребуется около $0,145.
- Скрипт также дает вам фиксированные форматы, сохраненные входные данные и повторные попытки, чего нет в окне чата.
Два способа получения промптов SDXL от языковой модели
Первый способ — чат-ассистент. Вы один раз вставляете системную инструкцию, затем отправляете короткие идеи по одной и копируете каждый ответ в инструмент для изображений. Код не нужен, вы видите ответ сразу, и можете сказать «темнее, более кинематографично», чтобы получить правку. Для поиска вариантов это сложно превзойти.
Второй способ — скрипт. Вы один раз пишете инструкцию в коде, загружаете список идей из файла, обращаетесь к конечной точке chat completions для каждой идеи и записываете результаты в файл или отправляете их напрямую в генератор изображений. Этот сервис — OpenAI-совместимый текстовый API, обслуживающий одну модель с открытыми весами от независимого провайдера. Это не ChatGPT и не продукт OpenAI, но любой SDK OpenAI работает с ним, как только вы измените базовый URL и ключ.
Ни один из подходов не рисует изображения. В обоих случаях модель генерирует текст, а отдельный инструмент, такой как SDXL, рендерит его.
Сравнение бок о бок
| Фактор | Окно чата | API-скрипт |
|---|---|---|
| Настройка | Нет | Ключ, 30 строк Python |
| Лучший размер пакета | 1–20 промптов | Сотни и тысячи |
| Формат вывода | Что бы ни вернул чат; вы очищаете его вручную | JSON-режим возвращает поля, которые можно распарсить |
| Повторяемость | Уходит в сторону по мере роста разговора | Такая же инструкция при каждом вызове, необязательный seed |
| Итерация | Естественная: ответ с обратной связью | Вы редактируете скрипт и запускаете снова |
| Модель ценообразования | Зависит от вашего тарифного плана; проверьте его текущие условия | Оплата за токен, предоплата |
| Отказы | Зависит от политики контента ассистента | Эта модель отвечает без отказов в содержании для законного использования взрослыми (исключая несовершеннолетних) |
Честное резюме: если вы создаете несколько изображений в неделю и вам нравится обсуждать их в чате, оставайтесь с чатом. Скрипт начинает окупаться в тот момент, когда копирование и вставка становятся самым медленным этапом в вашем конвейере.
Временные затраты на копирование и вставку
Примем умеренное допущение: 30 секунд на промпт, чтобы ввести идею, подождать, скопировать результат и вставить его туда, где он нужен. За 1 000 промптов это 1 000 × 30 с = 30 000 с, или около 8,3 часов внимания.
Скрипт имеет другую структуру. Предположим, каждый вызов API занимает около 5 секунд (это допущение, поэтому измерьте свои показатели). При 8 параллельных запросах, что является лимитом параллельных запросов для полного ключа, 1 000 вызовов займут около 1 000 / 8 × 5 с = 625 с, чуть более 10 минут. Лимит запросов в 300 в минуту означает, что абсолютный минимум — чуть более 3 минут. Вы запускаете его, варите кофе и читаете файл после.
Сэкономленное время — главный аргумент. Деньги — вторичны, как покажет следующий раздел.
Стоимость за 1 000 промптов
Этот API взимает $0,15 за 1M входных токенов и $0,50 за 1M выходных токенов. Предположим, что каждый вызов отправляет инструкцию на 250 токенов и идею на 50 токенов (300 на вход) и возвращает промпт на 200 токенов.
- Входные: 1 000 × 300 = 300 000 токенов × $0,15 / 1M = $0,045.
- Выход: 1 000 × 200 = 200 000 токенов × $0,50 / 1 млн = $0,10.
- Итого: $0,145 за 1 000 промптов.
Для сравнения с подпиской на чат или другим API, разделите цену этого плана на количество промптов, которые вы фактически сделаете за месяц, и проверьте их текущие тарифы, а не доверяйте цифре из статьи. Пробный баланс $0,50, полученный одним кликом на странице API-ключа после входа, покрывает чуть более 3 400 промптов такого размера. См. страницу тарифов для пополнения от $20 до $500 криптовалютой.
Пакетный скрипт с повторными попытками
Скрипт ниже читает идеи из ideas.txt, по одной на строку, и записывает их в prompts.jsonl. Он запускает 6 воркеров параллельно и повторяет попытки при ошибке 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")
Держите количество воркеров на уровне 8 или ниже для полного ключа, или 2 для пробного ключа. Если вы видите код 429 с кодом concurrency, уменьшите его; rate_limited означает, что вы превысили лимит в минуту. Неудачные запросы не оплачиваются, поэтому повторные запросы бесплатны. Подробнее о параметрах в документации.
Получение более качественного результата от скрипта
Первый запуск пакета редко выдает лучший результат. Три недорогих изменения улучшают результат сильнее, чем смена инструмента.
- Добавьте два или три примера в системный промпт. Вставьте промпты, которые дали вам понравившиеся изображения, каждый с короткой идеей, которая его породила. Модель копирует структуру и уровень детализации.
- Передайте поле стиля. Ведите небольшой словарь, например «film still», «акварель», «изометрический рендер», и добавляйте выбранный стиль к каждой идее. Один список идей затем может дать несколько вариантов оформления.
- Отфильтруйте вывод. Отклоняйте строки, чей промпт короче 25 слов или длиннее 80, затем перезапускайте только их. Короткая проверка в коде лучше, чем чтение тысячи строк.
Сохраняйте идею рядом с каждым результатом. Когда одно изображение получается удачным, вы хотите видеть, что именно его создало, а история чата прокручивается и уходит. Тематика остаётся на ваше усмотрение: модель настроена на законное использование взрослыми, и единственное строгое ограничение заключается в том, что никогда не генерируется ничего сексуального с участием несовершеннолетних.
Когда стоит остаться в чате
Скрипт подходит не всегда. Используйте чат-ассистента, если вы еще не определились с тем, что хотите получить, если каждое изображение требует обсуждения композиции или если объем работы мал и время на настройку скрипта превысит время, которое вы сэкономите. Распространенный подход: использовать чат для поиска подходящей инструкции, затем скопировать эту инструкцию в скрипт в качестве системного промпта и выполнить основную работу там.
Обратите внимание также на данные. Промпты, отправляемые в этот API, не используются для обучения. Для любого другого сервиса ознакомьтесь с их политикой конфиденциальности перед отправкой неопубликованных творческих работ.
Дополнительные руководства
Вопросы и ответы
Этот API такой же, как ChatGPT?
Нет. Это эндпоинт, совместимый с API OpenAI, который обслуживает одну модель с открытыми весами от независимого провайдера. Это не продукт OpenAI.
Может ли API также генерировать изображения SDXL?
Нет. Он генерирует только текст. Ваш промпт отправляется в SDXL, ComfyUI, Automatic1111 или другой инструмент для генерации изображений.
Сколько стоит сгенерировать 1000 промптов?
Около $0,145 для промптов длиной примерно 300 входных и 200 выходных токенов, при цене $0,15 за 1 млн входных токенов и $0,50 за 1 млн выходных токенов.
Как быстро может выполняться пакетная обработка?
Полный ключ позволяет выполнять 8 параллельных запросов и до 300 запросов в минуту, поэтому 1000 коротких промптов можно обработать за несколько минут. Пробные ключи ограничены 2 параллельными запросами и 60 запросами в минуту.
Ваш ключ — всего один шаг (заполнение формы)
Создайте аккаунт, скопируйте ключ, измените базовый URL. Вот и вся настройка.