HiAPI
Блог

Руководство

Как пользоваться FLUX.1 Fill Pro API? Запустите первую перерисовку по маске за 5 минут

Четыре жёстких требования к маске, 4 шага онлайн-попробовать, 4 шага подключения через API, а также готовые к запуску curl и Python.

Oct 28, 2026
Как пользоваться FLUX.1 Fill Pro API? Запустите первую перерисовку по маске за 5 минут

TL;DR

  • Что это: модель локальной перерисовки по маске от Black Forest Labs. Загрузите исходное изображение, чёрно-белую маску того же размера и промпт — перерисуется только белая область, чёрная останется без изменений. Уже доступна на HiAPI, откройте страницу модели, чтобы попробовать; новым пользователям при регистрации дарят 200 кредитов.
  • Сколько стоит: $0.0715 за изображение (143 кредита), оплата только за успешную генерацию, steps, guidance, seed и формат вывода не влияют на цену, при неудаче предоплата возвращается. На $10 — около 139 изображений.
  • Как вызвать быстрее всего: POST https://api.hiapi.ai/v1/tasks, в model укажите flux-1-fill-pro, в input положите три поля image, mask, prompt, получите taskId, затем опрашивайте статус или ждите callback, скачайте data.output[0].url.

Самая частая ошибка при перерисовке по маске — не параметры, а материалы: маска должна быть того же размера, что и исходное изображение, а белый цвет должен закрывать только то место, которое нужно изменить. Сначала разберём эти два момента, а затем выполним первую генерацию.

Что такое FLUX.1 Fill Pro?

Это модель редактирования, которая «меняет только выделенную вами область». Область изменений определяется маской, а не текстом, поэтому мебель, тени и линия горизонта рядом остаются нетронутыми.

Маска закрывает лишь небольшой участок стены с настенными часами, вывод 1440 × 810. Гобелен слева, плетёная тарелка, череп бизона, растения, диван и освещение не перерисовывались.

  • Три входных данных. Исходное изображение (JPEG / PNG / GIF / WebP), чёрно-белая маска того же размера, промпт (до 4 000 символов).
  • Управляемые границы. Белое перерисовывается, чёрное сохраняется, изменения останавливаются на краю маски — подходит для доработки товаров, замены фона, смены цвета одежды и других задач «изменить только одно место».
  • Вывод следует за исходником. Параметра соотношения сторон нет, пропорции копируются с исходного изображения; исходник 1600 × 900 возвращается как 1440 × 810 с округлением до кратного 32.
  • Параметров достаточно, и они простые. steps 15–50, по умолчанию 50; guidance 1.5–100, по умолчанию 60; опционально seed и вывод jpg / png.
A large framed abstract painting in warm terracotta, sand and cream tones, hanging on the wall, with a thin dark wood frame; keep the room, sofa, furniture and lighting unchanged.

Сгенерировать с этим промптом → ссылка только предзаполняет промпт: поле исходного изображения пустое, в поле маски по умолчанию стоит пример маски. Замените на своё исходное изображение и маску того же размера, затем нажмите запуск.

Как подготовить маску?

Четыре ключевых момента, выполняйте в этом порядке:

  1. Только два значения — чёрный и белый. Белый — область для перерисовки, чёрный — область для сохранения. Серые края делают границу размытой, старайтесь делать чёткие края.
  2. Размер точно совпадает с исходником. Исходник 1600 × 900 — маска 1600 × 900. Не делайте скриншот и не масштабируйте, экспортируйте маску прямо из того же файла; при несовпадении ширины и высоты задача завершится ошибкой.
  3. Белая область плотно прилегает к цели. Закрыли то, что нужно изменить, — остановитесь, не захватывайте соседнюю мебель, столешницу, тени.
  4. Экспортируйте PNG в разрешении исходника. PNG не содержит шумов сжатия, границы получаются максимально чистыми; разместите маску и исходник по адресам, доступным из интернета, — API принимает URL, а не загрузку файла.

Чёрное сохраняется, белое перерисовывается. В этой маске 1600 × 900 белая рамка оставлена только на месте настенных часов, поэтому перерисуется только этот участок стены.

Онлайн-попробовать: первое изображение за 4 шага

На странице модели нельзя нарисовать маску — маску нужно сделать в своём инструменте и загрузить.

  1. Откройте страницу модели FLUX.1 Fill Pro, зарегистрируйтесь или войдите — новый аккаунт получает 200 кредитов.
  2. Загрузите исходное изображение, затем чёрно-белую маску того же размера.
  3. Вставьте промпт: опишите только то, что должно появиться в белой области, и чётко укажите, что нужно сохранить.
  4. Нажмите запуск. По умолчанию steps 50, guidance 60, вывод jpg — сначала запустите, потом настраивайте параметры.

При нажатии «Сгенерировать с этим промптом» открывается страница с уже заполненным промптом. Поле исходного изображения пустое, в поле маски по умолчанию стоит пример маски — замените на свою маску и запустите.

Подключение через API: 4 шага

  1. Создайте API Key в консоли (sk-...).
  2. POST /v1/tasks — создайте задачу, в input передайте image, mask, prompt.
  3. Запрашивайте статус через GET /v1/tasks/{taskId} или добавьте в запрос callback.url и ждите уведомления.
  4. Когда data.status станет success, скачайте изображение из data.output[0].url и сразу сохраните в своё хранилище.

Полная таблица полей, коды ошибок и описание параметров — в документации на китайском.

Первая перерисовка по маске: версия на curl

curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "flux-1-fill-pro",
    "input": {
      "image": "https://static.hiapi.ai/model-onboarding/flux-1-fill-pro/prod-migrate/2026/10/21/1792572565867-4e5072a121d7018f-1792418738578-4e5072a121d7018f-source.jpg",
      "mask": "https://static.hiapi.ai/model-onboarding/flux-1-fill-pro/prod-migrate/2026/10/21/1792572569695-82bb18075f29c864-1792418739459-82bb18075f29c864-mask.png",
      "prompt": "A large framed abstract painting in warm terracotta, sand and cream tones, hanging on the wall, with a thin dark wood frame; keep the room, sofa, furniture and lighting unchanged.",
      "steps": 50,
      "guidance": 60,
      "output_format": "png"
    }
  }'

ID возвращённой задачи находится в data.taskId:

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

Запрос результата:

curl -s https://api.hiapi.ai/v1/tasks/YOUR_TASK_ID \
  -H "Authorization: Bearer sk-YOUR_KEY"

Два изображения выше — это эталонные материалы один к одному: исходник 1600 × 900 и маска того же размера; запустите их напрямую и получите эффект с картиной из первого изображения этой статьи.

Первая перерисовка по маске: версия на Python

Создание, опрос и скачивание в одном скрипте — подставьте свой Key и запускайте:

import requests, time

API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": "Bearer sk-YOUR_KEY"}

payload = {
    "model": "flux-1-fill-pro",
    "input": {
        "image": "https://static.hiapi.ai/model-onboarding/flux-1-fill-pro/prod-migrate/2026/10/21/1792572565867-4e5072a121d7018f-1792418738578-4e5072a121d7018f-source.jpg",
        "mask": "https://static.hiapi.ai/model-onboarding/flux-1-fill-pro/prod-migrate/2026/10/21/1792572569695-82bb18075f29c864-1792418739459-82bb18075f29c864-mask.png",
        "prompt": "A large framed abstract painting in warm terracotta, sand and cream tones, hanging on the wall, with a thin dark wood frame; keep the room, sofa, furniture and lighting unchanged.",
        "steps": 50,
        "guidance": 60,
        "output_format": "png",
    },
}

resp = requests.post(API, headers=HEADERS, json=payload, timeout=30)
task_id = resp.json()["data"]["taskId"]

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

if status["status"] == "success":
    image_url = status["output"][0]["url"]
    with open("fill-pro-edit.png", "wb") as f:
        f.write(requests.get(image_url, timeout=60).content)
else:
    print(status.get("error"))

Как настраивать параметры?

Меняйте по одному за раз — только так поймёте, какой параметр дал разницу.

  • steps (15–50, по умолчанию 50): чем выше значение, тем мельче детали; значение по умолчанию уже подходит для финального результата, уменьшайте только когда важна скорость.
  • guidance (1.5–100, по умолчанию 60): чем выше значение, тем ближе к промпту. Если стиль ушёл в сторону — сначала увеличьте, если изображение стало жёстким — уменьшите.
  • seed: после утверждения зафиксируйте значение — при том же изображении, маске и промпте вернётесь к похожему результату, удобно для откатов и единообразия в пакетной обработке.
  • output_format: по умолчанию jpg; если нужно сохранить максимум деталей или изображение будет обрабатываться дальше, укажите png.
  • prompt_upsampling: по умолчанию false. При включении ваш промпт автоматически переписывается; если хотите полностью контролировать формулировки, оставьте выключенным.

4 момента перед запуском в продакшен

  1. На странице маску не нарисовать. И страница модели, и API принимают только готовое изображение маски, причём размер должен совпадать с исходником. Делайте маску в Photoshop, Figma, инструментах сегментации и загружайте; на странице можно только загрузить, но не нарисовать кистью.
  2. На сервере используйте callback. Добавьте в тело запроса "callback": {"url": "https://yourapp.com/webhook", "when": "final"} — по завершении задачи придёт уведомление, это проще опроса; опрос оставьте как запасной вариант.
  3. При таймауте не повторяйте POST. Каждый POST /v1/tasks создаёт новую задачу и тарифицируется отдельно. Сначала сохраните taskId и при повторе запрашивайте статус той же задачи.
  4. Адрес вывода истекает. Скачивайте и сохраняйте результат сразу, не считайте URL постоянным адресом; кроме того, пропорции вывода следуют за исходником, параметра соотношения сторон нет — если нужен фиксированный формат, обрезайте самостоятельно по пропорциям.

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

Можно ли обойтись без маски? Нет. image, mask, prompt — все три обязательны, маска должна быть чёрно-белым изображением того же размера, что и исходник.

Какой длины должен быть промпт? До 4 000 символов, но достаточно и меньшего: одно предложение о том, что должно появиться в белой области, и одно — о том, что нужно сохранить. Чем конкретнее описание деталей, тем стабильнее результат.

Размер вывода совпадает с исходником? Пропорции совпадают, пиксели округляются до кратного 32. Исходник 1600 × 900 возвращается как 1440 × 810; чтобы наложить обратно на исходник, сначала приведите размеры к одному.

Списываются ли деньги при неудачной генерации? Нет. Предоплата за неудачную задачу автоматически возвращается в полном объёме.

Создайте первое изображение прямо сейчас

Два эталонных материала выше (исходник + маска) можно сразу использовать для тренировки: скопируйте тело запроса из curl, подставьте свой API Key и запустите — или откройте страницу модели, загрузите эти два изображения — промпт уже заполнен, нажмите запуск и получите тот же результат. Одно изображение стоит $0.0715, 200 кредитов за регистрацию хватит на одну генерацию.

Статьи серии FLUX.1 Fill Pro

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

Все статьи →

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

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

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