Генерация писем — задача на объём: сотни и тысячи коротких текстов, где важны естественный русский, предсказуемый формат и стоимость на одно письмо. Поэтому начинать стоит с лёгкой модели, а сильную подключать для писем, где важен тон. Все модели ниже доступны через один ключ sk-heli- и base URL https://getheli.ru/v1, так что сравнить их на своих письмах можно, поменяв только параметр model.
Какие модели попробовать
Цены за токены у моделей разные и меняются вместе с каталогом. Актуальные значения смотрите на страницах моделей, а для оценки бюджета рассылки используйте калькулятор.
- openai/gpt-5.4-mini — универсальный выбор: хорошо держит инструкции, формат и JSON-схему.
- google/gemini-3.5-flash — быстрая модель для больших объёмов; на рассылках по сегментам часто достаточно её.
- deepseek/deepseek-v4-flash — недорогой вариант для массовой персонализации и черновиков, которые потом проверяет редактор.
- anthropic/claude-sonnet-5 — для писем, где важны тон и аккуратная редактура: ответы клиентам, B2B-предложения, деликатные темы.
Персонализация из CRM
Персонализация работает, когда модель получает конкретные факты о получателе: имя, сегмент, последнюю покупку, интересующую категорию. Передавайте их в промпт как структурированные поля и прямо запретите модели придумывать то, чего в данных нет: скидки, сроки акций, условия доставки.
Не отправляйте в промпт лишние персональные данные. Для текста письма почти никогда не нужны email, телефон или адрес: подставляйте их уже после генерации на своей стороне.
import json, os
from openai import OpenAI
client = OpenAI(base_url="https://getheli.ru/v1", api_key=os.environ["HELI_API_KEY"])
contact = {"name": "Анна", "segment": "постоянный клиент", "last_order": "кофемолка"}
resp = client.chat.completions.create(
model="openai/gpt-5.4-mini",
messages=[
{"role": "system", "content": "Пиши короткие письма на русском. Используй только факты из данных клиента. "
"Верни JSON с полями subject, preheader, body."},
{"role": "user", "content": json.dumps(contact, ensure_ascii=False)},
],
response_format={"type": "json_object"},
max_tokens=600,
)
letter = json.loads(resp.choices[0].message.content)Объём и стабильность
- Генерируйте письма на backend пакетами с ограничением параллельности; ключ хранится только на сервере.
- Обрабатывайте 429 с паузой по заголовку Retry-After: официальные SDK OpenAI делают это при встроенных повторах.
- Сохраняйте результат по id контакта, чтобы при перезапуске не генерировать письма повторно.
- Задавайте max_tokens: для письма обычно хватает нескольких сотен токенов.
- Перед отправкой проверяйте выборку писем вручную и прогоняйте простые проверки: длина темы, отсутствие пустых полей, нет ли в тексте цифр, которых не было в данных.
Что не делает модель
Модель пишет текст, но не отвечает за доставляемость и законность рассылки. Список получателей, согласия на рекламные письма, отписку и отправку обеспечивает ваш email-сервис. Модель лучше всего работает как генератор вариантов, которые вы тестируете на части аудитории.
Попробуйте Heli
Ключ sk-heli- появляется после подтверждения почты. Через Google и Яндекс — сразу в кабинете.