Границы доказательств
Справочник по государственному контракту, а не схема частной инфраструктуры
Используйте его, чтобы определить, где в вашей собственной интеграции должны находиться владение, проверка, состояние задачи, повторные попытки, расчет, доставка, удаление и доказательства. Для точных многочастных полей и ответов используйте Документация API и контракт OpenAPI 3.1. Для исследовательских концепций, лежащих в основе локализации лиц, переноса идентичности, синтеза, смешивания и согласованности видео, прочитайте как работает замена лиц с помощью ИИ.
Проверенный государственный контракт
Пять асинхронных рабочих процессов имеют одну общую форму управления
Каждый рабочий процесс текущего поколения аутентифицируется с помощью ключа Bearer API, принимает многочастные медиафайлы, возвращает taskIdи предоставляет статус в рамках области владельца через GET по тому же маршруту. Завершение осуществляется через опрос; обратные вызовы вебхуков и официальные SDK для языков в настоящее время не опубликованы.
| Рабочий процесс | POST и опрос GET | Стоимость единицы | Основное ограничение |
|---|---|---|---|
| Фото | /api/ai-tasks | 3 кредита за задачу | 30 МБ на изображение |
| Пакетное фото | /api/ai-tasks/batch-face-swap | 3 кредита за результат | 20 изображений, 95 МБ в сумме |
| Сопоставленное групповое фото | /api/ai-tasks/multi-face-swap | 3 кредита за замененное лицо | 10 сопоставленных лиц, 95 МБ в сумме |
| Видео | /api/ai-tasks/video | Только лицо с сохранением сцены: 1/с, минимум 5 в 1080p | 600 секунд, 95 МБ общей загрузки |
| GIF / короткий клип | /api/ai-tasks/gif | 1 кредит в секунду, минимум 5 | 30 секунд, 95 МБ целевого файла |
Рабочее пространство в реальном времени и документация API остаются авторитетными для точных форматов, минимальных сборов и полей запроса. Требуется подтвержденный адрес электронной почты учетной записи, одна генерация может быть активна на одну учетную запись, и исчерпанные лимиты могут возвращать HTTP 429 с информацией о повторной попытке.
Эталонная архитектура
Назначьте каждому необратимому решению одного владельца
Вход и идентификация
Завершите TLS, аутентифицируйте ключ, хранящийся на сервере, назначьте идентификатор корреляции запроса и привяжите каждую задачу к одной учетной записи.
Политика и проверка
Проверьте состояние разрешений, поля рабочего процесса, обнаруженный тип медиа, размер в байтах, количество, продолжительность, сопоставление, готовность учетной записи и доступность кредитов.
Реестр задач
Сохраните taskId, владельца, рабочий процесс, ожидаемую плату, переходы состояний, временные метки и результат расчета до возврата управления.
Ограниченная обработка
Отделите принятие запроса от генерации, ограничьте активную работу и различайте повторяемые сбои транспорта от недопустимых входных данных.
Расчет
Используйте единый атомарный орган для решений о резервировании, завершении и возврате средств за неудачные задачи, чтобы повторная попытка не могла взимать плату или возвращать средства дважды.
Доставка и удаление
Авторизуйте доступ к результату владельцем задачи, примените право на экспорт изображения и удалите медиафайлы в соответствии с задокументированным 24-часовым графиком.
Восьмиэтапная последовательность запросов
Переход от договора на запрос к удалению на основе доказательств
- Зафиксируйте контракт публичного запроса. Выберите точный рабочий процесс и запишите поля, ограничения по медиа, стоимость единицы и конечные состояния.
- Ограничьте авторизацию, согласие и готовность учетной записи. Храните ключ API на стороне сервера и требуйте решения о разрешении перед принятием медиа.
- Проверьте медиа и рассчитайте стоимость перед постановкой в очередь. Проверьте обнаруженный тип, размер, количество, продолжительность, сопоставление и доступные кредиты перед дорогостоящей работой.
- Создайте одну долговечную запись задачи. Сохраните владение, рабочий процесс, ожидаемую плату, ссылки на входные данные, состояние и taskId.
- Обрабатывайте асинхронно за ограниченной очередью. Ограничьте параллелизм и классифицируйте временные и постоянные сбои.
- Рассчитайте кредиты ровно один раз. Зафиксируйте выполненную работу и примените задокументированный путь возврата средств за неудачную обработку без двойного расчета.
- Предоставьте доступ к статусу и результатам в рамках области владельца. Опросите с измеренным интервалом и остановитесь на COMPLETED, FAILED или CANCELLED.
- Обеспечьте удаление и сохраните операционные доказательства. Удаляйте медиафайлы по расписанию, сохраняя только минимально допустимую запись о задаче, биллинге, безопасности и поддержке.
Состояние и расчет
Держите состояние обработки отдельно от состояния денег
| Событие | Запись задачи | Действие по кредиту | Действие клиента |
|---|---|---|---|
| Запрос отклонен до создания задачи | Нет принятой задачи | Не начислять плату | Исправить запрос или состояние счета |
| Задача принята | Сохранить taskId и ожидаемую стоимость | Считать расчет принадлежащим серверу | Начать измеренный опрос |
| Задача выполнена | Конечный результат | Выполненная работа остается оплаченной | Авторизовать получение результата |
| Обработка не удалась | Конечный сбой | Текущий контракт автоматически возмещает неудачную обработку | Прочитать ошибку перед решением о повторной отправке |
| Исход ответа неопределен | Сверить перед следующим POST | Никогда не гадать по тайм-ауту | Использовать сохраненный taskId или историю счета |
Поле idempotency-key не задокументировано в публичном контракте. Вызывающий сервис должен отключить дублирующую отправку, сохранить первый taskId и сверить неопределенный сетевой ответ перед отправкой другого POST.
Политика обработки ошибок
Повторять только когда класс сбоя это допускает
| Статус | Класс сбоя | Архитектурный ответ |
|---|---|---|
| 400 | Неверный запрос или медиа | Отклонить навсегда, пока поля или медиа не изменятся. |
| 401 / 403 | Ключ или готовность счета | Сменить ключ или завершить верификацию; не повторять цикл. |
| 402 | Недостаточно кредитов | Добавить кредиты и отправить новую задачу только после подтверждения. |
| 404 | Неверный владелец, маршрут или taskId | Сверить идентификацию и сохраненные метаданные задачи. |
| 429 | Лимит скорости или активной генерации | Соблюдать Retry-After, если указан, добавить джиттер и ограничить количество повторных попыток. |
| 500 | Временное принятие или ошибка чтения | Использовать ограниченную экспоненциальную задержку и сверить перед дублирующей отправкой. |
Наблюдаемость и безопасность
Контролировать решения по трассировке без копирования конфиденциальных медиа в логи
Рекомендуемая телеметрия задачи включает идентификатор корреляции, taskId, идентификатор счета, рабочий процесс, очищенные факты о медиа, ожидаемую сумму кредитов, переходы состояний, количество повторных попыток, класс ошибки, событие расчета и временную метку удаления. Не логировать ключи API, изображения лиц, полные имена загруженных файлов, подписанные URL-адреса результатов или multipart-тела. Рекомендация W3C Trace Context определяет совместимый контекст запроса; это вариант дизайна, а не утверждение о частной реализации DeepSwapAI.
Для защиты загрузок проверять декодированные имена файлов, обнаруженный контент, разрешенные форматы, количество и размеры; не доверять Content-Type, предоставленному браузером. OWASP File Upload Cheat Sheet является внешней ссылкой по безопасности. Используйте планировщик согласия и раскрытия информации для шлюза авторизации человека и Центр доверия для текущих границ публичного сервиса.
Общая стоимость владения
Сравнивать управляемое, собственное и гибридное решение на одной измеряемой рабочей нагрузке
Не сравнивать плату API только с арендой GPU. Сначала зафиксировать одно окно рабочей нагрузки: смесь рабочих процессов, продолжительность и разрешение медиа, пиковый параллелизм, частота повторных попыток, хранение, объем проверки и требуемая доступность. Затем отнести все повторяющиеся затраты и затраты на сбои к тому же окну.
| Измерение затрат | Управляемый API | Собственное размещение | Гибрид | Данные для сбора |
|---|---|---|---|---|
| Производительность обработки | Опубликованная плата за задачу или продолжительность | Аренда или покупка GPU, резервные мощности, масштабирование и время выполнения модели | Внутренний базовый уровень плюс внешнее переполнение или специализированная обработка | Выполненные единицы, продолжительность, разрешение, параллелизм и загрузка |
| Инженерия и эксплуатация | Интеграция, сохранение задач, опрос, проверка и обработка смены поставщика | Обслуживание модели, очередь, обновления, планирование мощностей, развертывание и реагирование на дежурства | Оркестрация, абстракция поставщика и владение внутренней платформой | Измеренные часы работы инженеров, частота релизов и нагрузка на дежурных |
| Безопасность и управление | Шлюз согласия приложения, политика счета, проверка и доказательства | Все модерация, хранение, удаление, контроль доступа и аудит | Общие средства контроля с явным ответственным за каждое решение | Минуты проверки, частота эскалации, объем хранения и ответственные за контроль |
| Хранение и доставка | Обработка ввода, результата и сети на стороне приложения | Операции с вводом, промежуточными данными, результатом, резервным копированием, передачей и удалением | Внутренние записи плюс ограниченные передачи поставщику | Сохраненные байты, объем передачи, время хранения и работа по удалению |
| Сбои и надежность | Повторные попытки, сверка, обработка сбоев поставщика и стоимость переключения | Избыточность, реагирование на инциденты, неудачные задания, восстановление и неиспользуемые мощности | Как сбой зависимости, так и сбой внутренней оркестрации | Частота сбоев, время восстановления, дублирующая работа и нагрузка на поддержку |
Эта структура не публикует ценовой ориентир для собственного размещения и не утверждает, что управляемое, собственное или гибридное решение универсально дешевле. Решение зависит от рабочей нагрузки и средств контроля, которые могут быть подтверждены за тот же период.
Решение о разработке
Выбирайте управляемое, собственное или гибридное решение в зависимости от средств контроля, которыми вы должны владеть
| Модель | Вы владеете | Внешняя зависимость | Наилучшее соответствие |
|---|---|---|---|
| Управляемый API | Шлюз согласия, UX приложения, сохранение задач, опрос, проверка и бизнес-политика | Опубликованный API, лимиты, ценообразование и поведение обработки | Команды, которые ставят скорость интеграции выше контроля над инфраструктурой |
| Собственное размещение | Модель, мощность GPU, очередь, модерация, хранение, безопасность, расчет, удаление и реагирование на инциденты | Цепочка поставок модели и инфраструктуры | Команды с обоснованным требованием к контролю или развертыванию и эксплуатационными мощностями |
| Гибрид | Внутренняя политика, оркестрация, аудиторская запись, проверка и абстракция поставщика | Один или несколько ограниченных сервисов генерации | Команды, которым нужен контроль на уровне приложения без эксплуатации каждого компонента модели |
Источники и метод
Текущие факты о продукте плюс основные внешние стандарты
Команда продукта DeepSwapAI проверила пять публичных маршрутов, аутентификацию Bearer, multipart-запросы, состояния задач, процесс опроса, ответы об ошибках, границу параллелизма, расчет кредитов, право на пробное изображение и 24-часовое удаление медиа 22 июля 2026 года. Рекомендуемые средства контроля основаны на Спецификация OpenAPI 3.1.2, руководстве по загрузке OWASP, NIST AI RMF 1.0, и W3C Trace Context. Смотрите методологию верификации утверждений для понимания того, как текущие утверждения о продукте отделены от общих рекомендаций по дизайну.
Архитектурные вопросы
Знать, что публичный контракт устанавливает, а что нет
Это частная производственная архитектура DeepSwapAI?
Нет. Это справочник по дизайну публичного контракта и не раскрывает топологию провайдера, технологию очереди, размещение модели, количество рабочих, внутреннюю сеть или целевые уровни обслуживания.
Как клиент узнает, что задача завершена?
Сохранить taskId, возвращенный POST, и опрашивать GET по тому же маршруту рабочего процесса до COMPLETED, FAILED или CANCELLED. Вебхук-обратные вызовы в настоящее время не опубликованы.
Можно ли разместить ключ API в клиентском коде?
Нет. Относиться к нему как к серверному секрету и не допускать его попадания в браузерные сборки, мобильные бинарные файлы, репозитории, аналитику, логи и сообщения поддержки.
Публикует ли API ключ идемпотентности?
Поле idempotency-key не задокументировано. Предотвращать дублирующую отправку, сохранять первый taskId и сверять неопределенные ответы перед следующим POST.
Гарантирует ли этот дизайн пропускную способность или качество?
Нет. Это не бенчмарк, SLA, оценка точности или гарантия качества.