Видео-задача по id
https://api.souz.ai/v1/videos/{id}То же, что GET /v1/jobs/{id}, — по пути SDK OpenAI.
Авторизация
BearerAuthAPI-ключ из кабинета souz.ai — запускает модели. Ключ управления здесь не подходит: 403 forbidden с detail[].reason: requires_api_key.
Параметры пути
idstringобязательноId задачи — job_…; у чата — chatcmpl-… из ответа.
"job_1a2b3c4d5e6f"Ответы
200Задача.
application/jsonactionstringВыполненное действие с аудио.
channelChannelId | nullФактический цвет канала запроса: при успехе — канал, который выполнил запрос; пока
запрос идёт — канал, которому он уже отправлен; при ошибке — последний вызванный канал.
null — запрос ещё не отправлялся ни одному каналу или запись старше каналов.
Название и HEX цвета — GET /v1/channels.
completed_atstring | null · date-timeобязательноКогда задача завершилась; null, пока идёт.
createdinteger · int64обязательноТо же время, что created_at, в unix-секундах — как created у OpenAI.
created_atstring · date-timeобязательноФайлы результата; data[0] — сам результат. У музыкальной модели, которая за запрос даёт
два варианта трека, оба — role: result, по порядку. Пустой, пока задача не завершена, и
у чата.
durationnumber | null · doubleТранскрибация — длительность звука в секундах.
Почему задача не удалась; null, если не провалилась.
idstringобязательноjob_…; у чата — chatcmpl-… из его ответа.
"job_1a2b3c4d5e6f"languageLanguageCode | nullТранскрибация — язык записи, код ISO 639-1 (ru, en) у любой модели: названный
моделью или, если она его не назвала, из подсказки language запроса. Язык неизвестен
— поля нет.
Потолок цены, с которым задача принята: из запроса или из настроек аккаунта на момент
приёма. null — без потолка.
modelstringобязательно"nano-banana-pro"model_versionstringВерсия музыкальной модели; используйте её при продолжении исходного трека.
objectstringобязательно"job"persona_idstringID этой задачи для повторного использования созданной персоны.
priceinteger | null · int64обязательноИтог в микроединицах currency — фактический объём × цены сработавшего канала
на момент приёма; null, пока задача не завершена. У проваленной — 0.
0resultMusicResultНастройки каналов, с которыми задача принята: из запроса или из настроек аккаунта на
момент приёма. null — каналы выбирает Авто-роутинг.
segmentsarray[TranscriptionSegment]Транскрибация, verbose_json у модели с таймкодами — фразы: предложение или отрезок
речи до паузы в секунду и дольше, не длиннее 30 с. Начало фразы — начало её первого
слова, конец — конец последнего; одинаково у всех моделей.
textstring | nullТранскрибация — расшифровка; у остальных задач поля нет.
Объём выполненного — токены, символы, секунды; null, где мерить нечего.
voice_idstringID этой задачи для повторного использования созданного голоса.
webhookJobWebhookwordsarray[TranscriptionWord]Транскрибация — слова с таймкодами, если запрошена детализация по словам.
401Нет ключа или ключ недействителен.
application/json403Нельзя: у ключа не тот вид (модели запускает API-ключ, аккаунт — ключ управления), у роли
Нельзя: у ключа не тот вид (модели запускает API-ключ, аккаунт — ключ управления), у роли
участника нет права или подпись ссылки на файл не сходится. detail[].reason говорит,
что именно: requires_api_key, requires_management_key, cabinet_only (только в
кабинете), insufficient_role (в allowed — роли, которым можно), not_key_author
(секрет ключа открывает только тот, кто его создал).
application/json404Нет такого объекта у этого аккаунта.
application/json429Слишком часто — повторите через `Retry-After` секунд. Запуск моделей, задачи и файлы результатов частотой не ограничены (их ограничивают баланс и лимиты трат); здесь 429 — на поток запросов с ключом, который сервер не знает, с одного адреса, и на потоки сверх 1000 одновременных на аккаунт (события задачи, чат с `stream: true`). Пределы — раздел «Лимиты» руководства.
application/json