HiAPI
Блог

Руководство

Как использовать FIBO 1.5 API? Запускаем генерацию и редактирование за 5 минут

fibo-gen-1.5 текст-в-изображение + fibo-edit-1.5 редактирование одной фразой: примеры curl/Python, таблица параметров и текст ошибок.

Oct 22, 2026
Как использовать FIBO 1.5 API? Запускаем генерацию и редактирование за 5 минут

TL;DR

  • FIBO 1.5 — это пара эндпоинтов «генерация + редактирование»: fibo-gen-1.5/text-to-image для реалистичной генерации изображений по тексту (текст на картинке тоже передаётся точно), fibo-edit-1.5/image-to-image для редактирования изображения одной фразой (до 4 референсных изображений, а также локальное редактирование по маске). Откройте страницу модели Gen и попробуйте — новым пользователям при регистрации дарим 200 кредитов.
  • Цена одинаковая: $0.0575 за изображение, конвейер «сначала генерация, затем редактирование» — $0.115 (см. страницу с ценами).
  • Вызовы идут через интерфейс HiAPI /v1/tasks: отправляете задачу, получаете taskId, затем запрашиваете результат; поле инструкции у эндпоинта редактирования называется instruction, а не prompt.

Что он умеет

  • Реалистичная генерация + точный текст: текст на изображении — этикетки товаров, вывески магазинов — воспроизводится буквально (на этикетке в примере ниже — NOIR 07).
  • Редактирование одной фразой: Edit описывает через instruction, что нужно изменить; поза, лицо, фон и всё, что не упомянуто, остаётся без изменений.
  • Композиция из максимум 4 изображений: смена одежды, замена фона, помещение продукта в сцену — image_urls ссылаются по порядку.
  • Маска для локального редактирования: белый = область для изменения, чёрный = сохранить.

Вот реальный результат Gen:

Luxury product photo of an amber glass perfume bottle on wet black marble, gold cap, soft rim light, droplets on the glass, the label reads 'NOIR 07' in elegant serif letters

(По-китайски это значит: роскошная фотография продукта: янтарный стеклянный флакон на влажном чёрном мраморе, золотая крышка, мягкий контровой свет, капли на стекле, на этикетке написано NOIR 07. Соотношение сторон — 4:5.)

fibo-gen-1.5/text-to-image, 4:5, 768×960, $0.0575.

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

Как выбрать между двумя эндпоинтами

fibo-gen-1.5/text-to-image fibo-edit-1.5/image-to-image
Что делает Генерирует реалистичное изображение по тексту Изменяет существующее изображение одной фразой
Обязательные входные данные prompt image_urls (1–4 изображения) + instruction
Цена $0.0575/изображение $0.0575/изображение
Особые параметры aspect_ratio — 9 вариантов, seed (по умолчанию 5555) mask_url — маска, seed (по умолчанию 5555)
Подходит для Создание новых изображений, материалов с текстом Смена одежды/фона/композиция, локальная доработка

Типичный конвейер: Gen создаёт базовое изображение → Edit превращает его в набор изображений (смена фона, цвета, добавление элементов). Подбор промптов по сценариям см. в сборнике промптов.

Два пути к началу работы

Браузер, 3 шага: откройте страницу модели → вставьте промпт, выберите соотношение → нажмите «Сгенерировать», одно изображение — $0.0575.

API, 3 шага: POST /v1/tasks — отправка → получите taskId → GET /v1/tasks/<taskId> — дождитесь success и скачайте.

curl: первое изображение

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: your-unique-key-001" \
  -d '{
  "model": "fibo-gen-1.5/text-to-image",
  "input": {
    "prompt": "Luxury product photo of an amber glass perfume bottle on wet black marble, gold cap, soft rim light, droplets on the glass, the label reads '"'"'NOIR 07'"'"' in elegant serif letters",
    "aspect_ratio": "4:5",
    "seed": 2026
  }
}'

Эндпоинт редактирования: замените model на fibo-edit-1.5/image-to-image, инструкцию пишите в instruction, изображения ссылаются по порядку (примерка с композицией двух изображений):

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "fibo-edit-1.5/image-to-image",
  "input": {
    "image_urls": [
      "https://static.hiapi.ai/gallery/2026/10/78f963cb21d0242c.jpg",
      "https://static.hiapi.ai/gallery/2026/10/36246b7cabde4a1a.jpg"
    ],
    "instruction": "Dress the woman in image 1 with the mustard corduroy jacket from image 2, worn open over her white t-shirt. Keep her pose, face and the studio background.",
    "aspect_ratio": "3:4"
  }
}'

Локальное редактирование по маске: mask_url можно использовать только с 1 изображением, белый = область для изменения (в отличие от Ideogram 4.5 Edit, где всё наоборот):

curl -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "fibo-edit-1.5/image-to-image",
  "input": {
    "image_urls": ["https://static.hiapi.ai/gallery/2026/10/d9037da1559e78a6.jpg"],
    "mask_url": "https://static.hiapi.ai/gallery/2026/10/cae371f9e4689db5.png",
    "instruction": "Replace the floor under the sneaker with light wooden planks."
  }
}'

Python: отправка, опрос, скачивание

import time, uuid, requests

BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
}

payload = {
    "model": "fibo-gen-1.5/text-to-image",
    "input": {
        "prompt": "Luxury product photo of an amber glass perfume bottle on wet black marble, gold cap, soft rim light, droplets on the glass, the label reads 'NOIR 07' in elegant serif letters",
        "aspect_ratio": "4:5",
        "seed": 2026,
    },
}

resp = requests.post(
    BASE,
    headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
    json=payload,
    timeout=30,
)
resp.raise_for_status()
task_id = resp.json()["taskId"]

while True:
    task = requests.get(f"{BASE}/{task_id}", headers=HEADERS, timeout=30).json()
    print(task["status"])
    if task["status"] in ("success", "fail"):
        break
    time.sleep(3)

if task["status"] == "success":
    image_url = task["output"][0]["url"]   # 临时地址,尽快下载保存
    img = requests.get(image_url, timeout=60)
    with open("output_image", "wb") as f:
        f.write(img.content)
    print("saved")

Таблица параметров

fibo-gen-1.5/text-to-image

Поле Обязательно Значения Описание
prompt Да 1–10000 символов Описание изображения; текст, который должен появиться, — в кавычках (the label reads '…')
aspect_ratio Нет 1:1 / 2:3 / 3:2 / 3:4 / 4:3 / 4:5 / 5:4 / 9:16 / 16:9, по умолчанию 1:1 9 соотношений по одной цене
seed Нет Целое число, по умолчанию 5555 Если не передавать, тоже фиксирован: одинаковый промпт — одинаковый результат; для разнообразия меняйте seed

fibo-edit-1.5/image-to-image

Поле Обязательно Значения Описание
image_urls Да 1–4 изображения Порядок важен, instruction ссылается по порядку (image 1, image 2)
instruction Да ≥1 символа Что изменить; всё, что не упомянуто, остаётся без изменений
aspect_ratio Нет Те же 9 вариантов Действует только при 2 и более изображениях; при одном изображении вывод сохраняет его соотношение сторон
mask_url Нет URL изображения Только для редактирования одного изображения; белый = изменить, чёрный = сохранить; размер должен совпадать с исходным изображением
seed Нет Целое число, по умолчанию 5555 Воспроизведение при одинаковых входных данных

Если в теле запроса есть поля вне таблицы, вернётся 400.

Ошибки, которые вы встретите (текст ответов API)

Что вы сделали Ответ
В Gen не передан prompt 400 invalid input: prompt: missing required field "prompt"
В Gen seed передан строкой 400 invalid input: seed: got string, want integer
aspect_ratio с опечаткой 400 invalid input: aspect_ratio: value must be one of '1:1', '2:3', '3:2', '3:4', '4:3', '4:5', '5:4', '9:16', '16:9'
В Edit не передан instruction 400 invalid input: instruction: missing required field "instruction"
В Edit передано 5 изображений 400 invalid input: image_urls: maxItems: got 5, want 4
Маска с 2 изображениями 400 (при наличии mask_url в image_urls может быть только 1 изображение)
Недостаточно средств 402 insufficient account balance; top up and retry

Повторная отправка с тем же Idempotency-Key возвращает 409 или 422 — попробуйте с новым ключом.

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

  • Callback: передайте в верхнем уровне тела запроса "callback": {"url": "https://..."} — уведомление о финальном статусе придёт автоматически, не нужно опрашивать.
  • Скачивайте вовремя: output[0].url — временный адрес, скачивайте сразу после получения.
  • Указывайте номер изображения в инструкции: при композиции нескольких изображений ссылайтесь через image 1 / image 2; порядок соответствует порядку в image_urls.
  • Семантика чёрного и белого в маске: в FIBO белый = изменить, чёрный = сохранить; при переносе скриптов с других моделей редактирования сначала инвертируйте маску.

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

Как называется поле инструкции редактирования?

Оно называется instruction, а не prompt; при ошибке в имени поля будет ошибка об отсутствующем поле.

Сколько входных изображений можно передать максимум?

Максимум 4; пятое сразу вернёт 400.

Зачем нужен seed?

По умолчанию 5555 и фиксирован — одинаковый ввод воспроизводится; для других результатов явно меняйте seed.

Цена и способ вызова у двух эндпоинтов одинаковые?

Одинаковые. Меняются только поля model и input; генерация и редактирование стоят $0.0575 за изображение.

Дальше: возьмите промпт с парфюмом и сгенерируйте изображение на странице модели, а затем одной фразой instruction превратите его в нужную версию; шаблоны сценариев см. в сборнике промптов.

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

Все статьи →

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

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

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