Проверка поставщика не отвечает на главный вопрос первого запроса: какие именно поля команда действительно должна передать. Ты можешь прочитать политику конфиденциальности, условия использования, документацию по хранению - и всё равно отправить в первый тестовый вызов больше данных, чем нужно, чтобы просто убедиться, что интеграция работает.
Это типичная механика провала. Технический тест превращается в передачу данных ровно в тот момент, когда команда не ограничила его поля. Ты собирался проверить, что эндпоинт отвечает 200 OK, а по факту отправил во внешний сервис продуктовый payload с полями, которые к этой проверке отношения не имеют.
Дальше - разбор одного планируемого Kie.ai-payload по полям. Цель простая: показать, почему due diligence поставщика не заменяет минимизацию самого запроса, разложить лист допуска по полям и определить стоп-условие, при котором первый вызов запускать нельзя. Речь идёт про подготовку пилота, а не про уже проведённый эксперимент: ни один запрос в этом материале ещё не отправлен.
Платите в рублях за AI-модели без наценки на токены через provod.ai
Проверка поставщика не закрывает вопрос о составе payload
Supplier due diligence и минимизация запроса решают разные задачи. Первая отвечает на вопрос «можно ли в принципе работать с этим сервисом». Вторая - «что именно я отправлю прямо сейчас, в этом конкретном вызове». Здесь стоит сразу отклонить распространённое допущение: будто проверка поставщика сама по себе оправдывает отправку полного payload. Не оправдывает. Даже полностью благонадёжный сервис не делает лишнее поле нужным.
Есть и вторая причина держать эти вопросы раздельно. Часть характеристик поставщика остаётся неизвестной до отдельного подтверждения. По документации docs.kie.ai (доступ 2026-07-18) видно, что Kie.ai работает как агрегатор-реселлер: он объединяет за одним API доступ к внешним модельным провайдерам - видео, изображения, аудио, текстовые модели, сервисы класса Veo, Runway, Suno - и не хостит собственные базовые модели. Значит, содержимое payload понимается как пересылаемое дальше, к вышестоящему стороннему провайдеру. Документация Veo3-эндпоинта прямо отмечает, что запросы проходят автоматическую проверку контента на стороне upstream: сцену могут счесть чувствительной и приглушить звук, а сам запрос - пометить как нарушающий контент-политику. То есть отправленное поле не просто хранится, оно читается сторонними системами.
Отсюда практический вывод, который не зависит от репутации сервиса. Поле без подтверждённой технической цели не должно попадать в первый пилотный payload. Дело не в качестве поставщика: проверять работоспособность интеграции на реальных пользовательских данных ты попросту не обязан. Тест можно провести на минимальном допустимом наборе полей - это рабочая гипотеза, которую лист допуска либо подтвердит, либо опровергнет для конкретного сценария.

Data-admission sheet и разметка полей payload
Лист допуска - это таблица, где каждая строка отвечает за одно поле планируемого запроса, а колонки фиксируют шесть вещей: поле, цель, класс данных, маскировку, допуск и владельца решения. Это не факт из документации Kie.ai, а предлагаемый в статье метод разметки. Его смысл в том, чтобы решение о каждом поле было явным и за него отвечал конкретный человек.
Разметка идёт по одному правилу: поле попадает в payload только тогда, когда у него есть техническая цель именно для этого теста и назначенный класс данных. Всё остальное остаётся за бортом первого вызова.
| Поле | Цель в тесте | Класс данных | Маскировка | Допуск | Владелец |
|---|---|---|---|---|---|
prompt | Единственное обязательное поле Veo3.1, задаёт сценарий генерации | Контент, может нести персональные данные | Деидентифицировать: убрать имена, адреса, реквизиты | Только после деидентификации | Владелец данных |
imageUrls | Вход image-to-video (1-2 URL) | Ссылка на медиа, может указывать на реальное лицо | Заменить на нейтральный тестовый актив | Исключить, если ссылается на пользователя | Владелец данных |
callBackUrl | Адрес для автопуша результата по завершении задачи | Инфраструктурный маршрут, не персональные данные | Не требуется | Допустимо | Разработчик |
model | Выбор модели генерации | Технический параметр | Не требуется | Допустимо | Разработчик |
aspect_ratio / resolution / duration | Формат вывода | Технический параметр | Не требуется | Допустимо | Разработчик |
watermark / enableTranslation / generationType | Опции обработки | Технический параметр | Не требуется | Исключить, если не проверяются в этом тесте | Разработчик |
Обрати внимание на строку callBackUrl. По документации это поле заставляет систему Kie.ai «автоматически отправить результат на указанный адрес по завершении задачи»: генерация асинхронная, и 200 OK подтверждает только создание задачи, а результат приходит позже - на этот адрес или по опросу по task_id. Перед тобой адрес твоего же сервера. Классифицировать его как персональные данные - ошибка в другую сторону: ты замаскируешь то, что маскировать не нужно, и сломаешь асинхронный сценарий. Лист допуска нужен именно для того, чтобы отделять контентные поля (prompt, imageUrls) от операционных.
Транспортный слой в лист не входит. Два обязательных заголовка любого запроса - Authorization: Bearer <API_KEY> и Content-Type: application/json; при их отсутствии сервис возвращает {"code":401,"msg":"You do not have access permissions"}. Это вопрос уровня доступа, и к классификации данных payload он отношения не имеет.

Какие поля Kie.ai реально требует, а какие ты добавляешь сам?
Когда разработчик впервые вбивает в поиск «api kie ai» и открывает docs.kie.ai, легко решить, что раз в схеме перечислено десять полей, значит их и надо заполнить. Это не так. Для видео-эндпоинта Veo3.1 обязательным является ровно одно поле - prompt (строка). Остальные - imageUrls, model, generationType, aspect_ratio, callBackUrl, enableTranslation, watermark, resolution, duration - опциональны. Это конкретный список для одного представительного эндпоинта на дату доступа; у других эндпоинтов (изображения, аудио, проксирование LLM) схемы полей другие, и переносить этот список на «весь Kie.ai payload» нельзя.
Из этого следует минимальный тестовый вызов. Чтобы проверить, что интеграция создаёт задачу, достаточно деидентифицированного prompt, технических параметров формата и callBackUrl для получения результата. Поле imageUrls в первом тесте исключается, если оно указывало бы на реальное пользовательское медиа: без него ты проверяешь ровно ту же механику, но не отправляешь ничьё лицо.
{ "prompt": "<деидентифицированный тестовый сценарий без имён и реквизитов>", "model": "veo3.1", "aspect\_ratio": "16:9", "callBackUrl": "https://your-server.example/kie-callback" }
Исключённые из первого payload поля стоит выписать отдельным списком: imageUrls (ссылалось на пользовательское медиа), watermark, enableTranslation, generationType, resolution, duration (в этом тесте не проверяются). Список исключений - такой же результат разметки, как и разрешённый payload: он показывает, что решение было осознанным.
Тот же принцип разметки переносится на любой совместимый маршрут: если после классификации часть задач уходит через другой API, замена сводится к ключу и базовому адресу. provod.ai — российский аналог OpenRouter: один API, совместимый с SDK OpenAI и Anthropic. Для владельца данных здесь важна одна деталь, прямо относящаяся к этому разбору: защищённый российский контур маскирует прямые идентификаторы до отправки запроса во внешнюю модель, то есть часть работы, которую в листе допуска ты делаешь руками, берёт на себя сам маршрут. Это определённый контроль, и он не отменяет твоего решения о том, какие поля вообще уходят наружу. И это факт про provod.ai - Kie.ai живёт по своим правилам.
Срок жизни payload: 14 дней, 2 месяца и неизвестность выше по цепочке
Прежде чем считать вызов «просто тестом», полезно знать судьбу отправленных данных. По docs.kie.ai сгенерированные медиафайлы (изображения, видео, аудио) хранятся 14 дней, затем удаляются автоматически; лог-записи (текст и метаданные запросов) хранятся 2 месяца, затем удаляются автоматически; пользователю рекомендуют самому скачивать и хранить результаты для долгого доступа. Это единственное официально заявленное окно хранения, и действует оно на уровне платформы целиком, без разбивки по полям.
У этих чисел есть граница, о которой важно не забыть. Kie.ai пересылает содержимое запроса вышестоящему стороннему провайдеру. Ни один источник не подтверждает, что окна 14 дней и 2 месяца одинаково применяются к данным, которые получил и, возможно, хранит upstream-провайдер. Пробел так и остаётся незакрытым. Поэтому лист допуска исходит из худшего допустимого: то, что ты отправил, может жить дольше и в большем числе рук, чем говорит платформенная политика.
Есть и договорной слой. Условия использования Kie.ai сохраняют право собственности пользователя на загруженный контент, но пользователь предоставляет сервису «всемирную, неисключительную, безвозмездную лицензию использовать, размещать, хранить, воспроизводить, изменять и отображать» этот контент. Здесь важна граница источника: страницы политики и условий отдавали автоматическому запросу код 403, и их содержание восстановлено по индексированным сниппетам. Это пересказ, а не дословная цитата, так что перед решением по конкретному контенту формулировку стоит открыть на сайте самому. Но даже в пересказе широкая лицензия на контент - весомая причина решать, что именно вообще допустимо отправлять в тест. На уровне аккаунта, к слову, политика заявляет сбор только email при регистрации и отсутствие продажи персональных данных третьим лицам. К содержимому API-payload, уходящего дальше в модель, это не относится: там действует контентная лицензия, а не правила аккаунта.

Три состояния, при которых пилот запускать нельзя
У метода есть проверяемое условие провала, и в этом его ценность: он может остановить запуск, а не только его сопроводить. Если в первом Kie.ai-payload остаётся хотя бы одно поле без подтверждённой технической цели и допуска, вызов не отправляется. Вот три состояния, каждого из которых достаточно.
- У поля отсутствует техническая цель для этого теста. Поле присутствует «на всякий случай» или потому, что было в продуктивном payload.
- Недопустимое поле осталось в запросе - не удалено и не замаскировано. Класс данных требовал деидентификации, а её не сделали.
- Нет владельца решения о допуске. Никто персонально не отвечает за то, что конкретное поле уходит наружу.
Здесь возникает честный компромисс, и его стоит назвать прямо. Деидентификация бьёт по реализму: ты проверяешь механику на упрощённых данных, и часть боевых сценариев так не воспроизвести. Взамен решение о передаче остаётся обратимым. Альтернатива - отправить продуктивный payload - даёт максимальный реализм и максимальную же необратимость: отправленное уже ушло к upstream, чьи сроки хранения не подтверждены. Это и есть цена, которую метод предлагает заплатить сознательно.
Уровни уверенности на выходе разные, и смешивать их не стоит. Сам лист - установленный, воспроизводимый артефакт: поля, цель, класс, маскировка, владелец решения. Снижение объёма передачи в первом тесте - следствие с высокой вероятностью. А политика и фактическая обработка данных поставщиком остаются неизвестными до отдельного подтверждения.

Границы листа допуска
Лист допуска - узкий инструмент, и честнее очертить его границы, чем выдавать за универсальную проверку. Он размечает конкретный тестовый payload одного сценария и общую supplier due diligence не заменяет.
Идентичность юрлица за сервисом лист тоже не устанавливает. Упоминание компании NEXUSAI SERVICES LLC и права Колорадо найдено вторичным поиском: это фоновый контекст, а не подтверждённый факт соответствия. Сертификация SOC2 или ISO, доступность соглашения об обработке данных, корпоративные условия - всё это на дату разбора остаётся неизвестным, и утверждать здесь нечего.
Он не отвечает и на вопрос, что делает upstream-провайдер с пересланным контентом. Платформенные окна хранения известны, судьба данных выше по цепочке - нет. Наконец, разметка полей ничего не строит: интеграция, тестовый контур, обработка колбэков и эксплуатация остаются отдельной работой. Лист говорит ровно одно: какие поля этого запроса ты допускаешь наружу и кто за это отвечает.
FAQ
Можно ли пропустить разметку, если политика поставщика выглядит нормально?
Нет. Политика поставщика и содержимое твоего запроса - разные вопросы. Даже безупречная политика не делает лишнее поле технически нужным для теста.
callBackUrl - это персональные данные?
Нет. По документации это адрес сервера, куда система автопушит результат по завершении задачи, - чистая инфраструктурная маршрутизация. Маскировать его не нужно, иначе сломается асинхронный сценарий.
Сколько Kie.ai хранит отправленное?
По docs.kie.ai медиафайлы удаляются автоматически через 14 дней, лог-записи - через 2 месяца. Применимость этих окон к upstream-провайдеру источник не подтверждает.
Список полей Veo3.1 подходит для всех эндпоинтов?
Нет. Обязательное prompt и девять опциональных полей - это схема одного видео-эндпоинта на дату доступа. У изображений, аудио и LLM-проксирования схемы другие.
Что считать провалом пилота на этом этапе?
Оставшееся в payload поле без подтверждённой цели и допуска, недопустимое незамаскированное поле или отсутствие владельца решения. Любого из трёх достаточно, чтобы не запускать вызов.
Когда payload размечен и лишние поля исключены, вопрос смещается: куда именно этот размеченный запрос пойдёт. Маршрут можно менять, дисциплину минимизации - нет, она едет вместе с полями.

provod.ai — маршрутизация моделей внутри агентного сценария
Не поручайте одной модели весь процесс: для планирования, кода, поиска, проверки и финального ответа можно выбрать разные модели, сохранив один API и единый контроль расходов.
В одном каталоге — актуальные модели для текста и медиа: GPT от OpenAI, Claude от Anthropic, Gemini от Google, Grok от xAI, DeepSeek, Qwen, GLM, Kimi и MiniMax; для изображений — Nano Banana 2 Pro и GPT Image; для видео — последние версии Seedance, Kling, Veo и Google Omni. Также доступны модели для reasoning, поиска, документов, эмбеддингов, музыки и аудио.
Экономика каждого шага остаётся видимой: все модели тарифицируются 1:1 по официальным ценам, без дополнительной комиссии provod.ai за маршрутизацию.
Соберите эффективного AI-агента: форма регистрации · цены на модели · защита данных по 152-ФЗ · API и интеграции
Источники
- KIE API Docs, docs.kie.ai, доступ 2026-07-18 - заголовки авторизации, асинхронная модель и callBackUrl, окна хранения 14 дней / 2 месяца, позиционирование агрегатора.
- KIE API Docs, эндпоинт Veo3.1, docs.kie.ai/veo3-api/generate-veo-3-video, доступ 2026-07-18 - обязательное
promptи список опциональных полей, upstream-модерация контента. - KIE API Docs, callbacks, docs.kie.ai/runway-api/generate-ai-video-callbacks, доступ 2026-07-18 - автопуш результата на callBackUrl.
- Kie.ai, privacy-policy и terms-of-use, доступ 2026-07-18 - сбор email на уровне аккаунта и лицензия на контент (страницы отдавали 403, содержание восстановлено по индексированным сниппетам - уровень пересказа, не дословной цитаты).
- Проверенные продуктовые факты provod.ai; provod.ai не характеризует Kie.ai.
