HiAPI
Блог

Руководство

API для восстановления изображений и удаления объектов: редактирование изображений с помощью промптов на HiAPI

Удаляйте объекты с фотографий с помощью моделей image-to-image на HiAPI: реальные сравнения, какая модель сохраняет вашу композицию, работающие промпты, а также примеры на curl и Python.

Jul 12, 2026
API для восстановления изображений и удаления объектов: редактирование изображений с помощью промптов на HiAPI

Краткое резюме

  • На HiAPI удаление объектов с фотографии относится к редактированию по инструкции: вы отправляете изображение и описываете, что нужно удалить. Универсальные модели image-to-image не принимают маски.
  • Подходящие варианты для старта: flux-2/image-to-image ($0.035 при 1K, с aspect_ratio: "auto" сохраняет вашу композицию), gpt-image-2/image-to-image ($0.03 при 1K, поле изображения — input_urls), seedream-4.5/image-to-image ($0.045, поддержка до 4K) и qwen-image-3.0/image-to-image ($0.0358).
  • Модель восстановления на основе маски FLUX.1 Fill Pro указана на HiAPI как «скоро». Пока она недоступна, ваша маска — это промпт.

Одна фотография, одна инструкция, две модели

Исходное изображение: фотография продукта, с которой мы хотим убрать ценник.

Remove the coral price tag and its string from the bottle. Rebuild the bottle surface and the gray background that were behind it. Keep the bottle, lighting, shadow and everything else unchanged.

gpt-image-2/image-to-image, resolution 1K, 1254×1254, 112 секунд, $0.03.

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

Мы отправили тот же запрос в flux-2/image-to-image. Задача завершилась со статусом fail через 16 секунд, причина указана только как TASK_FAILED, стоимость возвращена. Одна неудача не говорит о самой модели, но напоминает: обрабатывайте fail в коде и повторяйте попытку на второй модели.

Какую модель выбрать

ID модели Поле изображения Сохраняет композицию источника Размер вывода Цена
flux-2/image-to-image image_urls (1–8) Да, aspect_ratio: "auto" resolution 1K / 2K $0.035 при 1K
gpt-image-2/image-to-image input_urls (1–16) Да, aspect_ratio: "auto" (по умолчанию) resolution 1K / 2K / 4K $0.03 при 1K
qwen-image-3.0/image-to-image image_urls (1–3) Нет, нужно выбрать из 8 пропорций resolution 1K / 2K $0.0358
seedream-4.5/image-to-image image_urls (1–14) Нет, нужно выбрать из 8 пропорций resolution 2K / 4K $0.045
seedream-5.0-pro/image-to-image image_urls (1–10) Нет, нужно выбрать из 7 пропорций resolution 1K / 2K $0.06 при 1K

Актуальные цены HiAPI на 20 октября 2026 года. За неудачные задачи плата не взимается.

  • Выбор по умолчанию для удаления объектов: используйте модели с поддержкой aspect_ratio: "auto", тогда результат сохранит форму фотографии, и вы сможете сразу вернуть его на место.
  • Крупная печать или масштабируемые страницы продуктов: Seedream 4.5 выдаёт 4K по той же цене, что и 2K.
  • Нужно только удалить фон: используйте специализированный инструмент, например 851-labs/background-remover ($0.002 за изображение); ему нужен только image_url, без промпта.

curl

curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "flux-2/image-to-image",
    "input": {
      "prompt": "Remove the white delivery van parked on the right. Rebuild the storefront and sidewalk behind it. Keep everything else unchanged.",
      "image_urls": ["https://your-cdn.example.com/street.jpg"],
      "aspect_ratio": "auto",
      "resolution": "1K"
    }
  }'

Вы получите taskId. Опрашивайте GET https://api.hiapi.ai/v1/tasks/{taskId}, пока data.status не станет success, затем скачайте data.output[0].url. Исходное изображение должно быть доступно по публичному URL; модель загрузит его на сервере.

Python: одна функция для всех моделей

# pip install requests; export HIAPI_KEY=your-key first
import os, time, requests

API = "https://api.hiapi.ai/v1/tasks"
H = {"Authorization": f"Bearer {os.environ['HIAPI_KEY']}"}

def edit(model, timeout_s=300, **inp):
    r = requests.post(API, json={"model": model, "input": inp}, headers=H, timeout=30).json()
    if r.get("code") != 200:
        raise RuntimeError(r)  # a 400 lists every invalid field at once
    task_id = r["data"]["taskId"]
    deadline = time.time() + timeout_s
    while time.time() < deadline:
        d = requests.get(f"{API}/{task_id}", headers=H, timeout=30).json()["data"]
        if d["status"] == "success":
            return requests.get(d["output"][0]["url"], timeout=120).content
        if d["status"] == "fail":
            raise RuntimeError(d.get("error"))
        time.sleep(4)
    raise TimeoutError(task_id)

prompt = ("Remove the tourists from the plaza. Extend the paving stones and the fountain base. "
          "Keep the buildings, light and everything else unchanged.")
src = "https://your-cdn.example.com/plaza.jpg"

# FLUX.2 keeps the source shape
img = edit("flux-2/image-to-image", prompt=prompt, image_urls=[src], aspect_ratio="auto", resolution="1K")

# GPT Image 2: note the field name is input_urls
img = edit("gpt-image-2/image-to-image", prompt=prompt, input_urls=[src], resolution="1K")

# Seedream 4.5 at 4K: aspect_ratio and resolution are required
img = edit("seedream-4.5/image-to-image", prompt=prompt, image_urls=[src], aspect_ratio="3:2", resolution="4K")

with open("plaza-clean.png", "wb") as f:
    f.write(img)

Составление промптов для удаления

Без маски промпт должен явно указывать, что удалить и что сохранить:

  1. Укажите объект и его расположение. «Белый фургон доставки, припаркованный справа» работает лучше, чем «тот фургон».
  2. Объясните, чем заполнить пустоту. «Восстанови витрину магазина и тротуар за ним.»
  3. Зафиксируйте всё остальное. Завершите фразой «Сохрани освещение, цвета и всё остальное без изменений», чтобы модель не перестилизовала всю фотографию.

Та же схема работает и для смежных задач:

  • Стирание и заполнение: «Удали провода, пересекающие небо. Заполни участок ясным небом, совпадающим с градиентом. Оставь всё остальное без изменений.»
  • Замена: «Замени бумажный стаканчик для кофе на белую керамическую кружку. Согласуй освещение и тени. Оставь всё остальное без изменений.»
  • Реставрация: «Левый нижний угол этого сканированного фото повреждён. Восстанови недостающую траву и дорожку. Не изменяй остальное.»
  • Несколько объектов: «Удали мусорную урну и два дорожных конуса рядом со скамейкой. Заполни каждую область фоном. Оставь всё остальное без изменений.»

Для масштабной очистки выполняйте по одному удалению за вызов и объединяйте их в цепочку. Сохраняйте каждый результат в своём хранилище и передавайте этот URL в следующий вызов; ссылки на вывод HiAPI истекают примерно через 7 дней после завершения задачи.

Ошибки, с которыми вы столкнётесь

Все эти ошибки возвращаются как HTTP 400 при отправке, поэтому задача не создаётся и плата не взимается:

  • additional properties 'mask_url' not allowed (или mask): эти модели не принимают маски. Опишите область в промпте.
  • input_urls: missing required field "input_urls": вы отправили image_urls в gpt-image-2/image-to-image.
  • additional properties 'quality' not allowed: Seedream 5.0 Pro использует resolution (1K или 2K), а не quality.
  • aspect_ratio: value must be one of ...: auto работает для FLUX.2, GPT Image и Grok Imagine, но не для Seedream или Qwen.

Если задача завершилась со статусом fail, проверьте data.error. Частая причина — модель не может получить исходный URL.

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

Есть ли на HiAPI API восстановления на основе маски?

Пока нет для общего использования. FLUX.1 Fill Pro, принимающая изображение и чёрно-белую маску, указана как «скоро». Перечисленные выше модели редактируют только через промпт.

Какая модель лучше всего подходит для удаления объектов?

Начните с моделей, сохраняющих композицию источника: flux-2/image-to-image или gpt-image-2/image-to-image с aspect_ratio: "auto". GPT Image 2 чисто справилась с примером выше. Прежде чем выбирать модель, сравните обе на нескольких собственных фотографиях.

Можно ли удалить несколько объектов за один вызов?

Да, перечислите их в одном промпте. Каждый вызов возвращает одно изображение. Если в результате пропущен один из объектов, запустите обработку ещё раз для полученного изображения.

Можно ли использовать отредактированные изображения в коммерческих целях?

Сгенерированные результаты регулируются условиями использования вашего тарифа. Вам всё равно нужны права на исходную фотографию, которую вы редактируете.

Больше промптов для редактирования: рецепты промптов для Seedream 4.5 и руководство по API Qwen Image 3.0.

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

Все статьи →

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

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

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