Перейти к содержимому
Tavio
Ко всем статьям
  • генерация изображений
  • AI API
  • Tavio
  • flux
  • OpenAI-совместимый API

Генерация изображений через API: пошаговый гайд с Tavio

5 мин чтения

Генерация изображений через API — это создание картинок из текстового описания программным запросом, без ручной работы в интерфейсе. С Tavio это делается одним HTTP-вызовом к OpenAI-совместимому эндпоинту, и тот же самый API-ключ работает не только для картинок, но и для видео, речи и текста. В этом гайде разберём весь путь: от получения ключа до обработки ответа и выбора модели под задачу.

Что такое Tavio и почему API один на всё

Tavio — это единый API и веб-панель для генерации изображений, видео, речи (TTS) и текста (chat/LLM). Главная идея простая: один API-ключ на все модальности и OpenAI-совместимый REST API, поэтому существующие SDK и инструменты OpenAI работают без изменений — достаточно поменять base_url.

Под капотом Tavio работает на edge-инфраструктуре (низкая задержка по всему миру) и делает автоматический failover между провайдерами: если одна модель или провайдер недоступны, запрос автоматически уходит на резервный. Вам не нужно писать логику повторных попыток на несколько провайдеров — это уже встроено.

Базовый URL API: https://api.tavio.tech/v1. Он использует привычные OpenAI-пути, включая /images/generations для картинок.

Шаг 1. Получить API-ключ через Telegram-бот

Регистрация и выдача ключа происходят через Telegram-бот. Откройте https://t.me/taviotech_bot, запустите бота — он создаст аккаунт и выдаст API-ключ. Это единственный способ регистрации: почта с паролем пока не поддерживается.

Скопируйте ключ и держите его в секрете. В примерах ниже подставьте его вместо YOUR_TAVIO_API_KEY. Ключ удобно хранить в переменной окружения, а не в коде.

Шаг 2. Первый запрос через curl

Самый быстрый способ проверить, что всё работает, — вызвать эндпоинт images/generations напрямую через curl. Указываем модель, текстовый промпт, количество изображений (n) и размер (size).

curl https://api.tavio.tech/v1/images/generations \
  -H "Authorization: Bearer YOUR_TAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "flux-1.1-pro",
    "prompt": "a cozy Scandinavian living room at golden hour, soft natural light, editorial photography",
    "n": 1,
    "size": "1024x1024"
  }'

Ответ приходит в OpenAI-совместимом формате — с массивом data, где лежат сгенерированные изображения:

{
  "created": 1750598400,
  "data": [
    {
      "url": "https://cdn.tavio.tech/images/abc123.png"
    }
  ]
}

Забираете url из первого элемента data — это ссылка на готовую картинку в CDN. Дальше её можно скачать, показать пользователю или сохранить в своё хранилище. Если запросили несколько картинок через параметр n, в массиве data будет соответствующее число элементов — просто пройдитесь по ним циклом.

Поскольку формат ответа совпадает с OpenAI, любой код, который вы уже писали под их images API, разберёт ответ Tavio без правок. Это и есть смысл совместимости: вы меняете адрес и ключ, а не свою кодовую базу.

Шаг 3. То же самое на Python через OpenAI SDK

Поскольку API OpenAI-совместимый, вам не нужен отдельный клиент. Берёте официальный OpenAI SDK и просто указываете base_url и свой ключ Tavio. Весь остальной код остаётся стандартным.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_TAVIO_API_KEY",
    base_url="https://api.tavio.tech/v1",
)

response = client.images.generate(
    model="flux-1.1-pro",
    prompt="a red vintage bicycle leaning on a stone wall, morning fog, cinematic",
    n=1,
    size="1024x1024",
)

image_url = response.data[0].url
print(image_url)

Тот же клиент используется и для остальных модальностей — client.chat.completions.create(...) для текста, client.audio.speech.create(...) для озвучки. Один клиент, один ключ, разные методы.

Как выбрать модель: качество против стоимости

Tavio даёт несколько моделей для изображений, и выбор — это баланс между качеством, скоростью и ценой. Идентификаторы моделей совпадают с теми, что указаны на странице тарифов.

  • flux-1.1-pro — флагман для фотореалистичных и детализированных изображений. Берите его, когда важно максимальное качество: продуктовые визуалы, обложки, hero-картинки.
  • flux-dev — облегчённый вариант из семейства FLUX. Хороший компромисс для итераций и черновых прогонов, когда вы подбираете промпт.
  • gpt-image-2 — сильно отрабатывает сложные сцены и текст на изображении, композиции по описанию.
  • sdxl — надёжная рабочая лошадка. Разумный выбор для больших объёмов и массовой генерации, где цена за картинку важнее максимальной детализации.

Практичная стратегия: подбирайте промпт на более дешёвой модели (flux-dev или sdxl), а финальный вариант генерируйте на flux-1.1-pro. Так вы не переплачиваете за десятки черновых прогонов.

Основы промптинга для картинок

Хороший промпт для генерации изображений описывает не только объект, но и стиль, свет и композицию. Несколько работающих принципов:

  • Субъект + контекст. Не просто «кот», а «рыжий кот сидит на подоконнике у залитого дождём окна».
  • Свет и время. Слова вроде golden hour, soft natural light, studio lighting заметно меняют результат.
  • Стиль и носитель. editorial photography, oil painting, 3D render, cinematic задают общую эстетику.
  • Ракурс и кадр. close-up, wide shot, top-down view управляют композицией.

Промпты на английском обычно дают более предсказуемый результат на большинстве моделей, но описывать сцену можно и на русском. Ещё один рабочий приём — итеративная доработка: сгенерируйте первый вариант, посмотрите, чего не хватает, и добавьте в промпт конкретики (например, shallow depth of field для размытого фона или high detail для проработки текстур). Небольшие точечные правки формулировки часто дают больший прирост качества, чем полная переписка промпта.

Сколько это стоит: кредиты и осознанность

Tavio работает по подписке: тариф даёт дневную квоту кредитов (обновляется каждый день, остаток сгорает в полночь UTC), и любые генерации списываются из неё. Платные тарифы начинаются от $10/мес.

Расход считается в кредитах за изображение и зависит от модели, размера и количества картинок в запросе. Актуальные цены по каждой модели в кредитах указаны на странице тарифов: tavio.tech/pricing. Практический совет по экономии дневной квоты: генерируйте n: 1 во время подбора промпта и увеличивайте количество только для финального прогона, а тяжёлые модели вроде flux-1.1-pro включайте, когда промпт уже отлажен.

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

Нужно ли переписывать код, если я уже использую OpenAI SDK?

Нет. API Tavio OpenAI-совместимый, поэтому достаточно поменять base_url на https://api.tavio.tech/v1 и подставить свой ключ Tavio. Методы images.generate, chat.completions.create и audio.speech.create остаются без изменений.

Что произойдёт, если провайдер модели будет недоступен?

Tavio делает автоматический failover: если основная модель или провайдер не отвечают, запрос перенаправляется на резервный. Вам не нужно самостоятельно реализовывать логику повторов на несколько провайдеров.

Как узнать точную цену конкретной модели?

Цены за изображение указаны в кредитах на странице тарифов tavio.tech/pricing. Кредиты списываются из дневной квоты вашего тарифа, поэтому в цене за модель важен именно расход в кредитах, а не отдельный платёж за каждую картинку.

Можно ли этим же ключом генерировать видео и озвучку?

Да. Один и тот же API-ключ работает для изображений, видео, речи (TTS) и текста. Меняется только метод и модель — например, kling-v2 или veo-fast для видео и elevenlabs-tts или openai-tts для озвучки.

Начните прямо сейчас

Получить ключ и сделать первый запрос — дело пары минут. Зарегистрируйтесь через Telegram-бот https://t.me/taviotech_bot, скопируйте API-ключ и вставьте его в примеры выше. Полное описание эндпоинтов и параметров — в документации: https://api.tavio.tech/docs. А если предпочитаете no-code, картинки можно генерировать и в веб-панели: https://app.tavio.tech.