HiAPI
Блог

Руководство

Seedream 5.0 Pro для генерации изображений по тексту: подключение API через curl, Python и приёмы для надписей

1K — $0.05, 2K — $0.10, все параметры, частые ошибки, способы добиться правильного текста на изображении и отличия от Lite.

Oct 19, 2026
Seedream 5.0 Pro для генерации изображений по тексту: подключение API через curl, Python и приёмы для надписей

Seedream 5.0 Pro для генерации изображений по тексту (seedream-5.0-pro/text-to-image) — самый дорогой вариант в семействе Seedream 5.0, и его сильная сторона — текст на изображении: вывески, упаковка, заголовки постеров прорисовываются по промпту слово в слово. В этой статье — готовые к запуску примеры на curl и Python, все параметры, частые ошибки и несколько приёмов, чтобы текст получался правильным.

Сначала о цене

Разрешение За штуку За 100 штук
1K $0.05 $5
2K (по умолчанию) $0.10 $10

Текущая цена HiAPI, проверено 18 октября 2026 г.

Соотношение сторон на цену не влияет, за неудачные генерации плата не списывается. У Pro нет 4K; если нужен 4K, используйте Seedream 5.0 Lite (2K/4K по одной цене $0.035). Сравнение всех трёх вариантов — в статье Цены Seedream 5.0 API.

Реальный результат генерации

16:9, 1K, текст на неоновой вывеске прорисован слово в слово:

A neon-lit night market street in a rainy cyberpunk city, a glowing storefront sign reads "SEEDREAM 5 PRO" in crisp lettering, cinematic composition, dramatic directional lighting, rich cohesive color grade, ultra-detailed, premium commercial finish, subtle film grain, shallow depth of field, high dynamic range

Сгенерировать с этим промптом →

seedream-5.0-pro/text-to-image, 16:9, 1K, $0.05.

Запускаем первую генерацию

Подготовка: создайте API Key в консоли и задайте его как переменную окружения:

export HIAPI_KEY="ваш Key"

curl: отправка задачи

curl -X POST "https://api.hiapi.ai/v1/tasks" \
  -H "Authorization: Bearer $HIAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedream-5.0-pro/text-to-image",
    "input": {
      "prompt": "A cozy coffee shop storefront at dusk, warm window light, a hand-painted wooden sign that reads \"THE DAILY GRIND\" in serif letters",
      "aspect_ratio": "16:9",
      "resolution": "2K"
    }
  }'

Возвращается taskId:

{"code": 200, "message": "success", "data": {"taskId": "tk-hiapi-..."}}

curl: получение результата

curl "https://api.hiapi.ai/v1/tasks/tk-hiapi-..." \
  -H "Authorization: Bearer $HIAPI_KEY"

Когда data.status равен success, адрес изображения находится в data.output[0].url. Это временная ссылка с истекающим сроком действия — скачивайте сразу после получения:

curl -o result.png "<url из output>"

Генерация 2K обычно занимает около минуты.

Python (только стандартная библиотека)

import json, os, time, urllib.request

API = "https://api.hiapi.ai/v1/tasks"
KEY = os.environ["HIAPI_KEY"]

def api(url, payload=None):
    req = urllib.request.Request(
        url,
        data=json.dumps(payload).encode() if payload else None,
        headers={"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"},
        method="POST" if payload else "GET",
    )
    with urllib.request.urlopen(req) as resp:
        return json.loads(resp.read())

task_id = api(API, {
    "model": "seedream-5.0-pro/text-to-image",
    "input": {
        "prompt": 'A minimalist product poster on matte black, bold white headline that reads "SHIP FASTER", small caption "batch v2.1" bottom right',
        "aspect_ratio": "3:4",
        "resolution": "2K",
    },
})["data"]["taskId"]

while True:
    task = api(f"{API}/{task_id}")["data"]
    if task["status"] == "success":
        break
    if task["status"] == "fail":
        raise RuntimeError(task)
    time.sleep(5)

urllib.request.urlretrieve(task["output"][0]["url"], "result.png")

Все параметры

Поле Обязательно Значения
prompt Да 3–4000 символов, рекомендуется не более ~600 английских слов
aspect_ratio Да 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9
resolution Да 1K ($0.05) или 2K ($0.10)
output_format Нет png (по умолчанию) или jpeg

Поля строгие: seed, n, size, image_urls не принимаются, при передаче лишних возвращается HTTP 400. Один запрос — одно изображение; для нескольких изображений отправляйте несколько задач параллельно.

Разрешения у разных вариантов семейства отличаются: у Pro — 1K/2K, у Lite — 2K/4K. При переключении между вариантами не забудьте изменить resolution.

Добиваемся правильного текста

  • Заключайте нужный текст в кавычки: a sign that reads "OPEN 24 HOURS" — это гораздо надёжнее, чем пересказ.
  • Указывайте расположение и стиль: характер шрифта (с засечками, рукописный, неоновый), расположение (в правом нижнем углу, по центру), носитель (деревянная табличка, стеклянная дверь).
  • Не слишком много текста: несколько коротких надписей на одном изображении — стабильно, большой блок текста — нестабильно.
  • Если текст важен, используйте 2K: мелкий текст при высоком разрешении получается чётче.

Частые ошибки

Симптом Ответ Как исправить
Не передан обязательный параметр 400, missing required field "aspect_ratio" Передавайте все три обязательных поля
Неверное значение перечисления 400, resolution: value must be one of '1K', '2K' Указывайте по таблице выше
Переданы лишние seed, n и т. п. 400, additional properties ... not allowed Удалите лишние поля
Недействительный Key 401, permission_denied Проверьте Key в консоли

Если задача завершилась неудачей после создания, при запросе результата будет status: "fail", плата не списывается.

Что учесть перед запуском в продакшен

  • Используйте callback вместо опроса: на верхнем уровне тела запроса (на одном уровне с model и input) добавьте "callback": {"url": "https://ваш-домен/hooks/hiapi", "when": "final"}. После получения уведомления выполните GET задачи ещё раз, чтобы подтвердить результат.
  • Защита от повторного списания: задача тарифицируется сразу после принятия. Перед повтором проверьте, сохранили ли вы taskId этой задачи: если да — продолжайте опрашивать, не отправляйте заново; также можно передать при отправке заголовок Idempotency-Key.
  • Своевременно сохраняйте: ссылки на результат истекают, не используйте их как прямые внешние ссылки.

Частые вопросы

Можно ли зафиксировать seed для воспроизводимости?

Нет, этот интерфейс не принимает seed. Чтобы получить близкие варианты на основе готового изображения, используйте seedream-5.0-pro/image-to-image, можно передать до 10 референсных изображений.

В чём отличие от Lite?

Lite стоит $0.035 за штуку, разрешения — 2K/4K; у Pro — 1K/2K, 2K стоит $0.10 за штуку. Способ вызова одинаковый. Сравнение Flash и Lite на одном промпте — в статье Seedream 5.0 Flash vs Lite.

Обязательно ли использовать callback?

Нет. Для скриптов и пакетных задач достаточно обычного опроса — раз в 5 секунд.

Можно также скопировать приведённый выше промпт с неоновой вывеской и сгенерировать изображение за $0.05.

Похожие статьи

Все статьи →

Начните работать с постоянными артефактами ИИ

Получите API-ключ и вызывайте модели изображений, видео и аудио через один API на основе tasks.

Читать документацию API