Справочник рабочего API
API DeepSwapAI для AI face swap
Подключите замену лиц на фото, пакетах, групповых фото, видео и GIF через единый рабочий интерфейс. Изучите контракт, единицы оплаты, состояния задач и границы; полные поля и ответы доступны в английском справочнике API.
Один контракт, пять рабочих процессов
HTTPS, multipart-загрузка и состояния задач JSON
Все опубликованные маршруты генерации используют Bearer API-ключ, возвращают taskId и проверяют состояние через GET того же маршрута.
Короткий ответ
Один API-аккаунт для пяти типов входных данных
Фото, пакетные фото, сопоставление лиц на групповом фото, видео и GIF используют один рабочий домен и жизненный цикл задачи. До запроса проверьте формат, размер, длительность, число целей и кредиты; после отправки сохраните taskId и опрашивайте соответствующий GET-маршрут.
Опубликованный контракт
Маршруты, единицы оплаты и основные границы
| Процесс | POST-маршрут | Единица | Основная граница |
|---|---|---|---|
| Фото | POST /api/ai-tasks | 3 кредита / результат | Одно исходное лицо и одно целевое изображение |
| Пакет фото | POST /api/ai-tasks/batch-face-swap | 3 кредита / результат | До 20 изображений; всего 95 МБ |
| Группа | POST /api/ai-tasks/multi-face-swap | 3 кредита / выбранное лицо | До 10 сопоставленных лиц; всего 95 МБ |
| Видео | POST /api/ai-tasks/video | 1 кредит за округленную секунду; минимум 5 | MP4, MOV или WebM; 600 секунд; фиксированный максимальный 1080p |
| GIF | POST /api/ai-tasks/gif | 1 кредит за округленную секунду; минимум 5 | GIF, MP4 или WebM; 30 секунд |
Минимальная интеграция
Сначала проверить запрос, затем создавать задачу
- 1. Храните API-ключ на сервере, а не в браузере, мобильном пакете, логах или публичном репозитории.
- 2. Проверяйте multipart-поля, форматы, размеры, количество, длительность и кредиты для выбранного процесса.
- 3. Отправьте POST и сохраните taskId и ожидаемое списание.
- 4. Опрашивайте GET того же маршрута до COMPLETED, FAILED или CANCELLED.
- 5. Передавайте результат только владельцу задачи и удаляйте медиа по опубликованному правилу хранения.
Жизненный цикл задачи
Сохраните taskId и остановитесь на терминальном состоянии
| Событие | Запись задачи | Действие по кредиту | Действие клиента |
|---|---|---|---|
| Задача принята | Сохранить taskId и ожидаемую стоимость | Считать расчет принадлежащим серверу | Начать измеренный опрос |
| Задача выполнена | Конечный результат | Выполненная работа остается оплаченной | Авторизовать получение результата |
| Обработка не удалась | Конечный сбой | Текущий контракт автоматически возмещает неудачную обработку | Прочитать ошибку перед решением о повторной отправке |
| Исход ответа неопределен | Сверить перед следующим POST | Никогда не гадать по тайм-ауту | Использовать сохраненный taskId или историю счета |
Исход ответа неопределен Поле idempotency-key не задокументировано в публичном контракте. Вызывающий сервис должен отключить дублирующую отправку, сохранить первый taskId и сверить неопределенный сетевой ответ перед отправкой другого POST.
Оплата, приватность и экспорт
Встройте проверяемые границы в интеграцию
Для API нужны подтвержденный email и минимум один заказ кредитов со статусом PAID или COMPLETED. Бонусные и пробные кредиты доступны только в веб-интерфейсе и не автоматизируются через API. Не более 3 ключей на аккаунт и 6 запросов генерации в минуту на ключ. Неудачные задачи возвращают кредиты, медиа удаляются в течение 24 часов.
Вопросы разработчиков
Проверьте перед запуском
Есть ли webhook?
Пока нет. Сохраните taskId после POST и опрашивайте GET того же маршрута до конечного состояния.
Есть ли официальный SDK?
Официальные языковые SDK пока не опубликованы. Стандартные HTTPS, Bearer, multipart и JSON можно вызвать любым серверным HTTP-клиентом.
Сколько кредитов стоит фото?
Фото, один пакетный результат и одно выбранное лицо на групповом фото сейчас стоят по 3 кредита. Видео и GIF рассчитываются по округленным секундам и минимуму.
Можно ли положить API-ключ во frontend?
Нет. Храните ключ на сервере и не записывайте его в браузерный bundle, мобильный бинарник, логи, события аналитики или тикеты.
Проверьте интеграцию на одной задаче
Сначала проверьте поля, состояния, списание и доставку результата на разрешенном минимальном образце, затем переходите к пакетам или длинному видео.
