Руководство
Как использовать FIBO 1.5 API? Запускаем генерацию и редактирование за 5 минут
fibo-gen-1.5 текст-в-изображение + fibo-edit-1.5 редактирование одной фразой: примеры curl/Python, таблица параметров и текст ошибок.
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 превратите его в нужную версию; шаблоны сценариев см. в сборнике промптов.
Похожие статьи
Все статьи →-
Руководство
Как вызвать hailuo-2.3-fast/image-to-video через HiAPI API: практика с curl и Python
Первый рабочий запрос к быстрому и недорогому уровню генерации видео по изображению — от ID модели до загрузки MP4
-
Руководство
Как вызывать hailuo-2.3/text-to-video через API HiAPI: curl, Python и рабочие примеры запросов
-
Руководство
Использование Kandinsky 6.0 Pro для преобразования текста в видео на HiAPI: руководство по curl и Python
Практическая демонстрация с упором на запросы: построение вызова от промпта до видеоклипа, отправка запроса, опрос статуса завершения и скачивание результата