Схемы данных

APIKeyobject
created_atstring · date-timeобязательно
currencyCurrencyобязательно
expires_atstring | null · date-timeобязательно
idstringобязательно
Пример: "key_1a2b3c4d5e6f7890"
kindstringобязательно

management — ключ управления: модели не запускает, у него нет трат.

Значения: user, playground, agent, management
last_used_atstring | null · date-timeобязательно
max_price_multiplierMaxPriceMultiplier | nullобязательно
namestring
no_storebooleanобязательно

Режим без хранения аккаунта (no_store в GET /v1/settings): тексты запросов не сохраняются; файлы живут обычный срок.

objectstringобязательно
Значение: "api_key"
retentionobjectобязательно
chat_content_daysintegerобязательно
files_daysintegerобязательно
routingRoutingобязательно
routing_optionsModelRoutingOptions | null
spend_limitinteger | null · int64обязательно

Потолок трат ключа; null — без потолка.

spend_limit_resetstringобязательно

Как обновляется потолок: none — потолок на всё время ключа, сам не обновляется; daily / monthly — spent считается с 00:00 UTC текущего дня / с 1-го числа текущего месяца. У ключа без потолка (spend_limit: null) — тоже none.

Значения: none, daily, monthly
spentinteger · int64обязательно

Потрачено в текущем окне потолка (при none — за всё время ключа), только завершённые списания.

APIKeyEntryobject
blockedbooleanобязательно

Ключ заблокирован службой поддержки — отдельно от enabled: включить его снова нельзя, запросы по нему получают 403 key_blocked. Снять блокировку — через поддержку.

Пример: false
created_atstringобязательно
Пример: "2026-08-21T12:00:00Z"
created_byMemberRef | nullобязательно

Автор ключа — только он открывает секрет (GET /v1/keys/{id}/secret); null — автор неизвестен или удалён из аккаунта, секрет не открыть.

enabledbooleanобязательно
Пример: true
expires_atstring | nullобязательно

RFC 3339; null — ключ бессрочный.

Пример: "2026-12-31T00:00:00Z"
idstringобязательно
Пример: "key_1a2b3c4d5e6f7890"
kindstringобязательно

user — обычный ключ, management — ключ управления: модели не запускает, потолка трат нет.

Значения: user, management
last_used_atstring | nullобязательно

Когда ключ последний раз прошёл проверку; null — ещё ни разу.

memberMemberRef | nullобязательно

Держатель ключа — его автор: траты ключа идут в его лимит, при его удалении ключ отзывается; null — ключ аккаунта, выданный до того, как ключи стали личными.

namestring
Пример: "production"
secret_availablebooleanобязательно

Можно ли показать секрет снова (GET /v1/keys/{id}/secret); false — показать нельзя (ответ 409 secret_unavailable), создайте новый ключ.

Пример: true
secret_hintstring | nullобязательно

Подсказка секрета: приставка, первые 4 и последние 4 знака — узнать ключ, не открывая его; null — секрет не сохранён.

Пример: "sk_9f3a…c1d2"
spend_limit_microinteger | nullобязательно

Потолок трат ключа в микроединицах валюты; null — без потолка.

Пример: 1000000
spend_limit_resetstringобязательно

Как часто обновляется потолок: none — на весь срок ключа; daily / monthly — spent_micro считается с 00:00 UTC текущего дня / с 1-го числа текущего месяца.

Значения: none, daily, monthly
Пример: "monthly"
spent_microintegerобязательно

Списано по запросам ключа в текущем окне потолка (при none — за весь срок), в микроединицах; только завершённые запросы.

Пример: 250000
APIKeysResponseobject
itemsarray[APIKeyEntry]обязательно
AccountRefobject
blockedbooleanобязательно

Аккаунт заблокирован службой поддержки: новые запросы его ключей и плейграунда получают 403 account_blocked; вход, баланс, история и уже принятые запросы остаются. Снять блокировку — через поддержку.

Пример: false
has_balancebooleanобязательно

false — у аккаунта нет баланса, расход учитывается по факту; пополнение, оплата, бонусы и история баланса недоступны (403 account_without_balance).

Пример: true
idstringобязательно
Пример: "user_1a2b3c4d5e6f7890"
namestringобязательно
Пример: "Acme"
numberstringобязательно

Номер аккаунта в виде автомобильного номера: буква, три цифры, две буквы и код региона РФ из двух или трёх цифр — «К 482 МТ · 77», «Р 105 ОС · 761». Случайный и уникальный; по нему поддержка находит аккаунт. Буквы — только А В Е К М Н О Р С Т У Х, у которых одно начертание в кириллице и латинице, поэтому номер принимается в любой раскладке, с пробелами и без.

Пример: "К 482 МТ · 77"
AccountSettingsPatchobject
max_price_multiplierMaxPriceMultiplier | null

Потолок цены; null снимает потолок, без поля — не меняется.

no_storeboolean

Режим без хранения для всех ключей аккаунта; без поля — не меняется.

routingRouting
routing_optionsModelRoutingOptions | null
AccountSettingsResponseobject
max_price_multiplierMaxPriceMultiplier | nullобязательно

Потолок цены для всех ключей аккаунта, когда запрос его не задаёт; null — без потолка.

no_storebooleanобязательно

Режим без хранения для всех ключей аккаунта, включая плейграунд. По умолчанию выключен: тексты запросов — промпт, сообщения и ответ чата, текст речи, расшифровка — хранятся до retention.chat_content_days дней, файлы — retention.files_days. Включён — тексты запросов и ответов не сохраняются; файлы живут retention.files_days, как без режима. store: false в запросе включает то же для одного вызова.

retentionobjectобязательно

Сроки хранения, те же, что в GET /v1/key.

chat_content_daysintegerобязательно
files_daysintegerобязательно
routingRoutingобязательно

Пресет роутинга для всех ключей аккаунта, включая встроенный ключ плейграунда, когда запрос его не называет.

routing_optionsModelRoutingOptions | null
webhookWebhookSettingsобязательно
AttemptCountinteger

Сколько раз запрос отправлялся каналам, по порядку роутинга: 1 — выполнен с первого раза, больше — запрос переходил к следующему каналу; 0 — ещё не отправлялся.

Минимум: 0
BalanceHistoryResponseobject
currencystringобязательно
Пример: "RUB"
itemsarray[BalanceOperation]обязательно
next_beforestring | nullобязательно

Курсор следующей (более старой) страницы для before; null — страниц больше нет.

Пример: "1758600000123456.4211"
BalanceOperationobject

Операция по балансу: пополнение (deposit), списание за успешный запрос (charge), возврат остатка через поддержку (refund) или отмена начисления службой поддержки (reversal). Суммы без знака в микроединицах currency ответа; направление задаёт kind: пополнение прибавляет, списание, возврат и отмена вычитают.

amount_microinteger · int64обязательно
Пример: 10000000
api_key_kindstring
Значения: user, playground, agent
Пример: "user"
api_key_namestring
Пример: "production"
canonical_modelstring
Пример: "gpt-5-nano"
created_atstringобязательно
Пример: "2026-08-21T12:00:00Z"
idstringобязательно

dep_N у пополнения, rfd_N у возврата, rev_N у отмены, id запроса у списания.

Пример: "dep_42"
job_idstring

У списания — запрос, за который оно; у компенсации (label compensation) — запрос, за который она начислена. Поля ниже — только у списания.

Пример: "job_abc123"
kindBalanceOperationKindобязательно
labelstring

Только у бонуса от службы поддержки: topup_bonus — бонус к пополнению, compensation — компенсация за запрос (job_id), bonus — бонус. Нет поля — приветственный бонус или бонус по приглашению.

Значения: topup_bonus, compensation, bonus
Пример: "compensation"
modalitystring
Значения: chat, image, video, transcription, speech, music
Пример: "chat"
sourcestring

У пополнения: payment — оплата, bonus — бонус (приветственный, по приглашению или от поддержки). У отмены — что отменено: оплата или бонус.

Значения: payment, bonus
Пример: "payment"
BalanceOperationKindstring

deposit — пополнение, charge — списание за успешный запрос, refund — возврат остатка, reversal — отмена начисления службой поддержки.

Значения: deposit, charge, refund, reversal
BalanceResponseobject
available_microintegerобязательно
Пример: 10000000
currencystringобязательно
Пример: "RUB"
mock_topupbooleanобязательно

Есть ли на этом сервере тестовое пополнение баланса; в рабочем API всегда false.

Пример: false
overdraft_limit_microinteger · int64обязательно

Разрешённая сумма минуса в микроединицах валюты аккаунта.

Минимум: 0
spendable_microinteger · int64обязательно

Сумма, доступная для новых запросов с учётом овердрафта и текущих обязательств.

Минимум: 0
spent_total_microinteger · int64обязательно

Сколько аккаунт потратил за всё время: сумма списаний за успешные запросы в микроединицах currency. Обновляется в течение минуты после завершения запроса.

Пример: 125000000
Минимум: 0
BalanceTopupobject

Остаток конкретного пополнения. Только у deposit с доступным учётом: у старых оплат без распределения поле отсутствует. Суммы в микроединицах currency ответа. Бонусы расходуются первыми; внутри каждого источника — сначала более ранние пополнения. Нулевой остаток не подтверждает выдачу чека.

methodstring

Способ оплаты пополнения: card — банковская карта, sbp — Система быстрых платежей, other — другой способ платёжной страницы. Отсутствует у бонуса и пока платёжная система не сообщила способ (обычно в течение минуты после оплаты).

Значения: card, sbp, other
receipt_urlstring · uri

HTTPS-ссылка на чек покупки, если документ доступен. Отсутствует у бонуса и при отсутствии ссылки; не является подтверждением доставки письма.

Шаблон: ^https://
refund_pending_microinteger · int64обязательно

Часть remaining_micro, удержанная для возврата; у бонуса всегда 0.

Минимум: 0
refunded_microinteger · int64обязательно

Уже возвращено из этого пополнения; у бонуса всегда 0.

Минимум: 0
remaining_microinteger · int64обязательно

Неизрасходованный остаток, включая сумму ожидающего возврата.

Минимум: 0
reversed_microinteger · int64обязательно

Сколько из этого пополнения отменила служба поддержки (операции reversal); это не расход и не возврат.

Минимум: 0
Capabilitiesobject

Только у чата — что модель действительно учитывает.

audio_inputbooleanобязательно

Звук в messages[].content (input_audio).

file_inputbooleanобязательно

Файл, например PDF, в messages[].content (file).

streamingbooleanобязательно
structured_outputbooleanобязательно
supported_parametersarray[string]

Параметры запроса, которые учитывает хотя бы один канал модели. Нет поля — список опубликован не у всех каналов.

toolsbooleanобязательно
video_inputbooleanобязательно

Видео в messages[].content (video_url).

visionbooleanобязательно

Картинка в messages[].content (image_url).

ChannelHistoryobject

Как канал работал последние 7 дней по вызовам всех клиентов и проверкам Союза: 28 интервалов по 6 часов. Считаются отправленные вызовы с успехом или отказом по вине канала; ошибки во входных данных и правила модели стабильность не портят. Это наблюдение, а не обещание: один цвет может стать медленнее или дороже.

attemptsintegerобязательно

Вызовов канала за 7 дней.

Минимум: 0
bucketstringобязательно
Значение: "6h"
pointsarray[ChannelHistoryPoint]обязательно

Ровно 28 интервалов по возрастанию; последний — текущий, ещё не закрытый.

success_ratenumber | nullобязательно

Доля успешных за 7 дней, от 0 до 1. null — меньше двадцати вызовов.

ChannelHistoryPointobject
atstring · date-timeобязательно

Начало интервала, UTC (00:00, 06:00, 12:00 или 18:00).

attemptsintegerобязательно
Минимум: 0
latency_p50_msnumber | nullобязательно

Медиана задержки успешных вызовов, мс (±10 %) — у чата до первого содержимого, у остальных до результата.

success_ratenumber | nullобязательно

Доля успешных вызовов интервала, от 0 до 1. null — меньше пяти вызовов; это не ноль.

throughput_p50number | nullобязательно

Только чат — медиана скорости выдачи, токенов в секунду.

ChannelIdstring

Постоянный идентификатор цветового канала. Цвет обозначает одно исполнение и не переназначается.

Шаблон: ^[a-z][a-z0-9-]{0,47}$
ChannelMetricsobject

Измерения успешных запросов канала и доля успешных выполнений. Задержка и скорость выдачи имеют отдельные числа замеров и окна. Для задержки берутся последние 50 подходящих успехов чата или 20 у остальных модальностей за сутки; для скорости выдачи — последние 20 за сутки. Если для метрики меньше трёх свежих замеров — данные за 7 дней. Без трёх замеров за неделю соответствующие значения — null, число замеров и окно — 0. Порядок пресетов дополнительно учитывает цену, ожидаемое время полного выполнения и устойчивость канала. measured_at — время последнего успешного замера канала.

latency_p50_msnumber | nullобязательно

Медиана времени успешного выполнения, мс; у чата — до первого содержимого ответа.

latency_p90_msnumber | nullобязательно

90-й процентиль времени успешного выполнения, мс; у чата — до первого содержимого ответа.

latency_samplesintegerобязательно

Число успешных замеров, использованных для latency_p50_ms и latency_p90_ms; 0, если оценки нет.

Минимум: 0
latency_window_secondsintegerобязательно

Окно замеров задержки в секундах — сутки или 7 дней; 0, если оценки нет.

Значения: 0, 86400, 604800
measured_atstring | null · date-timeобязательно
samplesintegerобязательно

Число успешных запросов и сбоев исполнения за сутки, по которым считается success_rate. Не число замеров задержки или скорости выдачи.

Минимум: 0
success_ratenumber | nullобязательно

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

success_samplesintegerобязательно

Успешные запросы среди samples за сутки.

Минимум: 0
throughput_p50number | nullобязательно

Чат — медиана скорости выдачи содержимого, токенов в секунду, после первого токена.

throughput_p90number | nullобязательно

Чат — 90-й процентиль скорости выдачи содержимого, токенов в секунду. У остальных модальностей null.

throughput_samplesintegerобязательно

Число успешных замеров выдачи, использованных для throughput_p50 и throughput_p90; 0, если оценки нет или это не чат.

Минимум: 0
throughput_window_secondsintegerобязательно

Окно замеров скорости выдачи в секундах — сутки или 7 дней; 0, если оценки нет или это не чат.

Значения: 0, 86400, 604800
window_secondsintegerобязательно

Общее окно времени и скорости для существующих клиентов — 86400 или 604800; если хотя бы одна оценка взята за неделю, 604800. Для каждой метрики используйте её latency_window_seconds или throughput_window_seconds.

ChannelPaletteobject
dataarray[PaletteColor]обязательно
ChannelParameterobject
Других полей нет.
defaultstringобязательно
enumarray[string]обязательно
ChannelPriceobject

Цена одного канала для сценария. Итог запроса — по факту выполнения.

amount_microinteger · int64

Остальные единицы — сумма сценария (в строке options — за её сочетание параметров).

cache_read_microinteger · int64

per_1m_tokens — вход из кэша за 1M токенов, если у канала отдельная ставка.

dynamicboolean

true — динамическая цена канала: сумма — оценка сценария, итог — по фактическому расходу.

idChannelIdобязательно
input_microinteger · int64

per_1m_tokens — вход за 1M токенов.

output_microinteger · int64

per_1m_tokens — выход за 1M токенов.

ChatChoiceobject
finish_reasonstring | nullобязательно
Пример: "stop"
indexintegerобязательно
logprobsobject | null
messageChatResponseMessageобязательно
ChatChunkChoiceobject
deltaChatResponseMessageобязательно
finish_reasonstring | null
indexintegerобязательно
logprobsobject | null
ChatCompletionobject
channelвсе варианты

Фактический цвет канала, который дал этот ответ. Название и HEX — GET /v1/channels.

Вариант 1ChannelId
choicesarray[ChatChoice]обязательно
createdinteger · int64обязательно
idstringобязательно

chatcmpl-…; тот же id открывает GET /v1/jobs/{id}.

modelstringобязательно
objectstringобязательно
Значение: "chat.completion"
usageChatUsageобязательно
ChatCompletionChunkobject

Одно событие потока; usage приходит в последнем.

channelвсе варианты

Фактический цвет канала, который дал этот ответ. Название и HEX — GET /v1/channels.

Вариант 1ChannelId
choicesarray[ChatChunkChoice]обязательно
createdinteger · int64обязательно
idstringобязательно
modelstringобязательно
objectstringобязательно
Значение: "chat.completion.chunk"
usageChatUsage | null
ChatCompletionRequestobject

Запрос OpenAI Chat Completions. Поля, которых здесь нет, передаются модели как есть. routing, max_price_multiplier и store — наши; модели не передаются. Веб-поиск — web_search_options или плагин {"id": "web"} в plugins — 400 capability_mismatch; service_tier, provider, models, route, transforms и остальные plugins игнорируются.

max_completion_tokensinteger
Минимум: 1
max_price_multiplierMaxPriceMultiplier | null
max_tokensinteger

Граница ответа (или max_completion_tokens). Без поля — предел модели. Если баланса хватает не на весь ответ, модели передаётся граница по оплачиваемому (не меньше 1000 токенов).

Минимум: 1
messagesarray[ChatMessage]обязательно
Минимум элементов: 1
modelstringобязательно
Пример: "gpt-5-nano"
ninteger
Минимум: 1
reasoning_effortstring
Пример: "medium"
response_formatobject

{"type": "json_schema", …} — у моделей с capabilities.structured_output.

routingRouting
routing_optionsRoutingOptions | null
storeboolean | null

false — запрос без хранения: тексты запроса и ответа не сохраняются; файлы живут обычный срок. По умолчанию тексты хранятся; true не отменяет режим без хранения аккаунта.

streamboolean
По умолчанию: false
temperaturenumber · double
tool_choiceодно из

auto, none, required или конкретная функция. required и конкретную функцию исполняют не все каналы; если ни один — 400 capability_mismatch с путём tool_choice.

Вариант 1string
Вариант 2object
toolsarray[object]

Инструменты OpenAI; модель без capabilities.tools — 400 capability_mismatch.

ChatContentPartobject

Часть сообщения. type выбирает поле с содержимым:

  • text — {"type": "text", "text": "…"};
  • image_url — {"type": "image_url", "image_url": {"url": "https://… | data:image/png;base64,…"}};
  • file — {"type": "file", "file": {"filename": "doc.pdf", "file_data": "data:application/pdf;base64,…"}};
  • input_audio — {"type": "input_audio", "input_audio": {"data": "<base64>", "format": "wav"}};
  • video_url — {"type": "video_url", "video_url": {"url": "https://… | data:video/mp4;base64,…"}}.
fileobject
file_datastring

Файл data URL в base64.

filenamestring
image_urlobject
urlstring
input_audioobject
datastring

Звук в base64, без префикса data:.

formatstring
Пример: "wav"
textstring
typestringобязательно
Пример: "text"
video_urlobject
urlstring

Ссылка на ролик или data URL в base64.

ChatMessageobject
contentодно из

Текст или части — как у OpenAI: text, image_url, file, input_audio, video_url. Картинка, файл, звук и видео уходят только в каналы, которые их принимают (capabilities модели); если таких нет — 400 capability_mismatch.

Вариант 1string
Вариант 2array[ChatContentPart]
Вариант 3null
rolestringобязательно
Значения: system, developer, user, assistant, tool
ChatResponseMessageobject

Сообщение ответа (в потоке — его часть delta).

annotationsarray[object]
audioobject | null
contentstring | null
imagesarray[object]

Картинки мультимодальной модели — data-URI, не сохраняются.

reasoningstring | null
reasoning_detailsarray[object]
refusalstring | null
rolestring
tool_callsarray[object]
ChatUsageobject
completion_tokensintegerобязательно
completion_tokens_detailsobject
audio_tokensinteger
reasoning_tokensinteger
costinteger · int64

Сколько списано за вызов, микроединицы currency — в итоговом ответе и последнем чанке потока.

currencyCurrency
prompt_tokensintegerобязательно
prompt_tokens_detailsobject
audio_tokensinteger
cached_tokensinteger
total_tokensintegerобязательно
CreateAPIKeyRequestobject
kindstring

user — обычный ключ, запускает модели; management — ключ управления: создают владелец и администратор и только в кабинете, трат и потолка у него нет.

Значения: user, management
По умолчанию: "user"
namestring
Пример: "production"
spend_limit_microinteger

Потолок трат ключа в микроединицах валюты; без поля — без потолка. У ключа управления потолка нет: с полем — 400.

Пример: 5000000000
spend_limit_resetstring

Как часто обновляется потолок: none (по умолчанию, на весь срок), daily, monthly — по UTC.

Значения: none, daily, monthly
Пример: "monthly"
CreateAPIKeyResponseobject
created_atstringобязательно
Пример: "2026-08-21T12:00:00Z"
idstringобязательно
Пример: "key_1a2b3c4d5e6f7890"
keystringобязательно
Пример: "sk_9f8e7d6c5b4a39281706f5e4d3c2b1a0"
namestring
Пример: "production"
Currencystring

Валюта сумм рядом, ISO 4217.

Значения: RUB
DailyUsageEntryobject
by_modelarray[ModelUsageEntry]обязательно

Тот же день в разрезе моделей, по расходу вниз; сумма по моделям равна итогам дня.

datestringобязательно
Пример: "2026-09-01"
requestsintegerобязательно

Завершённые запросы дня (успех, провал, отмена); succeeded — из них успешные.

Пример: 7
spend_microintegerобязательно
Пример: 125000
succeededintegerобязательно
Пример: 6
DetailReasonstring
Значения: required, unsupported_field, unsupported_value, incompatible_value, duplicate, mutually_exclusive, out_of_range, too_long, too_many_items, exceeds_duration, requires_first_frame, requires_visual_reference, text_to_video_only, unsupported_format, animated_not_supported, undecodable, too_large, too_many_pixels, too_small, unreachable, invalid_source, unknown_file, file_expired, content_policy_category, price_cap, wrong_endpoint, insufficient_role, requires_api_key, requires_management_key, cabinet_only, not_key_author, not_selected, above_max_price, fallback_disabled
Errorobject

Тело любой ошибки.

errorErrorBodyобязательно
ErrorBodyobject
codeErrorCodeобязательно
detailarray[ErrorDetail]

Что именно не так — когда это известно.

ends_atstring · date-time

Только у maintenance — до какого времени приостановлены новые запросы.

messagestringобязательно

Короткая фраза для человека и лога; ветвиться по ней не нужно.

reasonstring

Только у maintenance — причина плановых работ, для людей.

typeErrorTypeобязательно
ErrorCodestring

Что случилось — закрытый словарь. no_channel_matches (400) — routing_options отсекли все каналы модели; что именно — в detail[].reason (not_selected, above_max_price, fallback_disabled). Повтор того же запроса не поможет: измените настройки. account_blocked (403) — аккаунт заблокирован службой поддержки: новые запросы не принимаются, чтение задач и результатов работает; key_blocked (403) — этот ключ заблокирован службой поддержки. Повтор не поможет — напишите в поддержку. account_without_balance (403) — у аккаунта нет баланса (has_balance: false): расход учитывается по факту, баланс, его история, пополнение и оплата недоступны. overloaded (503) — сервер занят большими запросами; повторите через Retry-After секунд. maintenance (503) — плановые работы: новые запросы приостановлены до ends_at, принятые задачи доделываются; повторите после него, переключаться не нужно. unknown_error (502) — неизвестная ошибка, без подробностей и без списания: повторите запрос, мы разбираем такие случаи. storage_limit_exceeded (413) — загрузки POST /v1/files, срок которых ещё не вышел, заняли квоту (10 ГБ, после первого пополнения — 50 ГБ): удалите ненужные DELETE /v1/files/{id} или дождитесь их срока.

Значения: invalid_request, invalid_input, capability_mismatch, content_policy, invalid_api_key, account_blocked, key_blocked, account_without_balance, insufficient_balance, key_spend_limit_exceeded, member_spend_limit_exceeded, invalid_signature, unauthorized, forbidden, not_found, model_not_found, job_not_found, file_not_found, file_expired, idempotency_key_conflict, secret_unavailable, rate_limited, generation_failed, unknown_error, model_unavailable, no_channel_matches, storage_limit_exceeded, overloaded, maintenance, internal_error
ErrorDetailobject

Одно поле запроса и что с ним не так. path — как в запросе (aspect_ratio, references[1], elements[0].images[1]); allowed — что было бы принято. У content_policy_category в allowed — найденная категория.

allowedarray[string]
pathstring
Пример: "aspect_ratio"
reasonDetailReasonобязательно
ErrorTypestring

Класс ошибки, следует из HTTP-статуса: invalid_request_error (400, 405, 413) — исправить запрос; authentication_error (401); billing_error (402) — пополнить баланс или поднять лимит, повтор не поможет; permission_error (403); not_found_error (404, 410); conflict_error (409); rate_limit_error (429) и model_error (502, 503, 504) — повторить позже; server_error (500).

Значения: invalid_request_error, authentication_error, billing_error, permission_error, not_found_error, conflict_error, rate_limit_error, model_error, server_error
Fileobject

Файл — результат, референс из запроса или загрузка. Живёт 1 день (expires_at); url подписан ровно до этого срока и одинаков при каждом чтении. После срока — expired: true без url.

bytesinteger · int64обязательно
content_typestringобязательно
Пример: "image/png"
created_atstring · date-timeобязательно
expiredbooleanобязательно
expires_atstring · date-timeобязательно
filenamestringобязательно
heightinteger

Только у картинок.

idstringобязательно
Пример: "file_9f8e7d6c5b4a"
kindstringобязательно
Значения: upload, reference, result
objectstringобязательно
Значение: "file"
urlstring · uri
widthinteger

Только у картинок.

FileDeletedobject

Как у files.delete SDK OpenAI.

deletedbooleanобязательно
Значение: true
idstringобязательно
objectstringобязательно
Значение: "file"
FileListobject
dataarray[File]обязательно
has_morebooleanобязательно
objectstringобязательно
Значение: "list"
FileUploadRequestobject
filestringобязательно

Файл; имя берётся из части формы.

Формат содержимого: application/octet-stream
purposestring

Поле SDK OpenAI; принимается и ни на что не влияет.

GenerationParamsEntryobject
aspect_ratiostring
Пример: "16:9"
duration_secondsinteger
Пример: 5
first_framebooleanобязательно
Пример: false
instrumentalboolean

Музыка — трек без вокала.

Пример: false
last_framebooleanобязательно
Пример: false
lyricsstring

Музыка — свой текст песни из запроса; стирается вместе с промптом.

Пример: "[Verse] Утро светит в окно"
promptstringобязательно
Пример: "a red bicycle on a beach"
referencesintegerобязательно
Пример: 0
resolutionstring
Пример: "1K"
storedbooleanобязательно

Хранился ли текст запроса. false — запрос без хранения (store: false или режим аккаунта), и после завершения промпт стёрт: пустой prompt тогда значит «не сохранён», а не «не отправлен».

Пример: true
titlestring

Музыка — название трека из запроса; стирается вместе с промптом.

Пример: "Утро"
HourlyUsageEntryobject
by_modelarray[ModelUsageEntry]обязательно

Тот же час в разрезе моделей, все модели часа, по расходу вниз; сумма по моделям равна итогам часа. Всегда массив.

hourstring · date-timeобязательно

Начало часа завершения запросов, UTC.

Пример: "2026-09-23T14:00:00Z"
requestsintegerобязательно

Завершённые запросы часа (успех, провал, отмена); succeeded — из них успешные.

Пример: 7
spend_microintegerобязательно
Пример: 125000
succeededintegerобязательно
Пример: 6
ImageGenerationRequestobject

Какие поля и значения принимает конкретная модель — её input_schema.

Других полей нет.
aspect_ratiostring

Соотношение сторон или auto — умолчание модели.

Пример: "16:9"
Шаблон: ^(auto|[0-9]+:[0-9]+)$
backgroundstring
Значения: auto, transparent, opaque
callback_urlstring · uri

Куда прислать вебхук — https на публичный хост; без поля — адрес по умолчанию из настроек аккаунта.

max_price_multiplierMaxPriceMultiplier | null
modelstringобязательно
Пример: "nano-banana-pro"
moderationstring

Поле OpenAI; принимается, модель отвечает со своей модерацией.

Значения: auto, low
ninteger

Поле OpenAI — сколько картинок; больше одной — у моделей, чья карточка это объявляет.

По умолчанию: 1
Минимум: 1
output_compressioninteger

Поле OpenAI; принимается, сжатие файла — как у модели.

Минимум: 0
Максимум: 100
output_formatstring

Формат файла; переводим сами, у любой модели.

Значения: png, jpeg, webp
partial_imagesinteger

Поле OpenAI; промежуточных кадров нет — в потоке приходит только итог.

Минимум: 0
Максимум: 3
promptstringобязательно
Минимальная длина: 1
qualitystring

Конкретный уровень качества по схеме модели. Без поля используется medium; auto — только при явном выборе. Явный уровень ограничивает каналы, которые гарантируют его выполнение. Допустимые значения канала — parameters.quality в GET /v1/models/{id}/channels.

Значения: auto, low, medium, high, xhigh, max
referencesarray[MediaSource]

Референсы — картинки.

resolutionstring
Пример: "2K"
response_formatstring

Поле OpenAI; b64_json — картинка ещё и base64 в data[].b64_json.

Значения: url, b64_json
По умолчанию: "url"
routingRouting
routing_optionsRoutingOptions | null
sizestring

Поле OpenAI: размер ШxВ или auto. Переводится в aspect_ratio и resolution модели; вместе с ними не присылается (mutually_exclusive).

Пример: "1024x1024"
Шаблон: ^(auto|[0-9]+x[0-9]+)$
storeboolean | null

false — запрос без хранения: тексты запроса и ответа не сохраняются; файлы живут обычный срок. По умолчанию тексты хранятся; true не отменяет режим без хранения аккаунта.

streamboolean | null

Поле OpenAI; true — ответ text/event-stream: событие image_generation.completed с картинкой base64 на каждую картинку, затем поток закрывается. Ошибка и задача, не успевшая за 9 минут, — обычным JSON со статусом.

stylestring

Поле OpenAI; принимается, стиль задаёт промпт.

Значения: vivid, natural
userstring

Поле OpenAI (id конечного пользователя); принимается, ни на что не влияет и не хранится.

web_searchboolean | null

Модель может сверяться с интернетом.

ImageGenerationStreamEventobject

Событие потока картинки, как у images.generate SDK OpenAI с stream:true.

b64_jsonstringобязательно
backgroundstringобязательно
created_atintegerобязательно
output_formatstringобязательно
Пример: "png"
qualitystringобязательно
sizestringобязательно
Пример: "1024x1024"
typestringобязательно
Значение: "image_generation.completed"
ImageLayerobject

Метаданные фона или прозрачного слоя; порядок наложения снизу вверх.

Других полей нет.
bounding_boxobject
Других полей нет.
absolutearray[integer]обязательно

Левый, верхний, правый и нижний края в пикселях исходного изображения.

Минимум элементов: 4
Максимум элементов: 4
normalizedarray[integer]обязательно
Минимум элементов: 4
Максимум элементов: 4
descriptionstring
heightintegerобязательно
Минимум: 1
namestring
widthintegerобязательно
Минимум: 1
z_indexintegerобязательно
Минимум: 0
Indexobject
authstringобязательно
Пример: "Authorization: Bearer <api-key>"
base_urlstring · uriобязательно
docsobjectобязательно
llmsstring · uriобязательно
llms_fullstring · uriобязательно
modelsstring · uriобязательно
openapistring · uriобязательно
sitestring · uriобязательно
namestringобязательно
objectstringобязательно
Значение: "api"
Jobobject

Задача — один объект для картинок, видео, музыки, транскрибации, речи и итога чата. Его отдают ответы на запросы, GET /v1/jobs/{id}, поток событий и вебхук. У картинок это ещё и ответ images.generate SDK OpenAI (created, data[].url, data[].b64_json), у транскрибации — ответ audio.transcriptions.create (text).

actionstring

Выполненное действие с аудио.

attempt_countAttemptCountобязательно
channelChannelId | null

Фактический цвет канала запроса: при успехе — канал, который выполнил запрос; пока запрос идёт — канал, которому он уже отправлен; при ошибке — последний вызванный канал. null — запрос ещё не отправлялся ни одному каналу или запись старше каналов. Название и HEX цвета — GET /v1/channels.

completed_atstring | null · date-timeобязательно

Когда задача завершилась; null, пока идёт.

createdinteger · int64обязательно

То же время, что created_at, в unix-секундах — как created у OpenAI.

created_atstring · date-timeобязательно
currencyCurrencyобязательно
dataarray[OutputFile]обязательно

Файлы результата; data[0] — сам результат. У музыкальной модели, которая за запрос даёт два варианта трека, оба — role: result, по порядку. Пустой, пока задача не завершена, и у чата.

durationnumber | null · double

Транскрибация — длительность звука в секундах.

errorErrorBody | nullобязательно

Почему задача не удалась; null, если не провалилась.

idstringобязательно

job_…; у чата — chatcmpl-… из его ответа.

Пример: "job_1a2b3c4d5e6f"
languageLanguageCode | null

Транскрибация — язык записи, код ISO 639-1 (ru, en) у любой модели: названный моделью или, если она его не назвала, из подсказки language запроса. Язык неизвестен — поля нет.

max_price_multiplierMaxPriceMultiplier | nullобязательно

Потолок цены, с которым задача принята: из запроса или из настроек аккаунта на момент приёма. null — без потолка.

modalityModalityобязательно
modelstringобязательно
Пример: "nano-banana-pro"
model_versionstring

Версия музыкальной модели; используйте её при продолжении исходного трека.

objectstringобязательно
Значение: "job"
persona_idstring

ID этой задачи для повторного использования созданной персоны.

priceinteger | null · int64обязательно

Итог в микроединицах currency — фактический объём × цены сработавшего канала на момент приёма; null, пока задача не завершена. У проваленной — 0.

Минимум: 0
routingRoutingобязательно
routing_optionsRoutingOptions | nullобязательно

Настройки каналов, с которыми задача принята: из запроса или из настроек аккаунта на момент приёма. null — каналы выбирает Авто-роутинг.

segmentsarray[TranscriptionSegment]

Транскрибация, verbose_json у модели с таймкодами — фразы: предложение или отрезок речи до паузы в секунду и дольше, не длиннее 30 с. Начало фразы — начало её первого слова, конец — конец последнего; одинаково у всех моделей.

statusJobStatusобязательно
textstring | null

Транскрибация — расшифровка; у остальных задач поля нет.

usageJobUsage | nullобязательно

Объём выполненного — токены, символы, секунды; null, где мерить нечего.

voice_idstring

ID этой задачи для повторного использования созданного голоса.

webhookJobWebhook
wordsarray[TranscriptionWord]

Транскрибация — слова с таймкодами, если запрошена детализация по словам.

JobContentEntryobject
requestobjectобязательно

Что ушло в модель: сообщения и параметры, модель — по id каталога.

responseobject

Ответ модели — content, finish_reason, tool_calls; поля нет, если ответа не было.

truncatedbooleanобязательно

Сохранённая копия неполная: длинные строки обрезаны до 256 КиБ на поле или поток оборвался раньше конца ответа.

Пример: false
JobDetailResponseobject
actionstring

Действие музыкального запроса. У старых запросов на создание песни — generate; у других типов запросов поля нет.

Пример: "lyrics"
api_key_idstringобязательно
Пример: "key_1a2b3c4d5e6f7890"
api_key_kindstringобязательно
Значения: user, playground, agent
Пример: "user"
api_key_namestring
Пример: "production"
attempt_countAttemptCountобязательно
canonical_modelstringобязательно
Пример: "gpt-5-nano"
channelChannelId | null

Фактический цвет канала запроса: при успехе — канал, который выполнил запрос; пока запрос идёт — канал, которому он уже отправлен; при ошибке — последний вызванный канал. null — запрос ещё не отправлялся ни одному каналу или запись старше каналов. Название и HEX цвета — GET /v1/channels.

contentвсе варианты

Содержимое чата, пока оно хранится.

Вариант 1JobContentEntry
created_atstringобязательно
Пример: "2026-08-21T12:00:00Z"
duration_msinteger

Сколько шёл запрос целиком, от приёма до итога, — та же цифра, что в списке; есть у завершённого запроса.

Пример: 12400
errorвсе варианты

Есть у не удавшегося запроса.

Вариант 1JobErrorEntry
extra_resultsarray[File]

Другие файлы той же генерации, по порядку, тем же описанием, что result: второй музыкальный вариант, дополнительные дорожки или изображения.

idstringобязательно
Пример: "job_abc123"
input_fileвсе варианты

Запись, отправленная на расшифровку; после срока хранения — описание без ссылки.

Вариант 1File
input_textstring

Текст запроса на озвучку; хранится тот же срок, что содержимое чата. Голос и сведения о результате остаются в карточке.

Пример: "Привет!"
input_tokensinteger
Пример: 1978
last_frameFile
modalityModalityобязательно
model_versionstring

Выбранная версия музыкальной модели, если она была указана в запросе.

Пример: "v6"
output_tokensinteger
Пример: 88
paramsвсе варианты

Параметры генерации — у изображений, видео, музыки и расшифровки.

Вариант 1GenerationParamsEntry
priceinteger | nullобязательно
Пример: 5000
request_idstringобязательно
Пример: "req_1a2b3c"
resultвсе варианты

Результат успешной генерации — то же описание файла, что в GET /v1/jobs/{id}: подписанная ссылка, пока файл хранится, после — expired: true. last_frame — второй файл, если видео его вернуло.

Вариант 1File
routingRoutingобязательно
routing_sourcestringобязательно

Откуда пресет routing, в котором шёл запрос, — из запроса (request) или из настройки аккаунта (account).

Значения: request, account
Пример: "account"
statusUsageStatusобязательно
terminal_codeTerminalCode
textstring

Расшифровка успешного запроса на транскрибацию; хранится тот же срок, что содержимое чата, потом поля нет.

Пример: "привет, это расшифровка"
updated_atstringобязательно
Пример: "2026-08-21T12:00:02Z"
usageвсе варианты

Объём расшифровки; остаётся и после того, как текст перестал храниться.

Вариант 1JobUsageEntry
voicestring
Пример: "eve"
JobEntryobject
actionstring

Действие музыкального запроса. У старых запросов на создание песни — generate; у других типов запросов поля нет.

Пример: "lyrics"
api_key_idstringобязательно
Пример: "key_1a2b3c4d5e6f7890"
api_key_kindstringобязательно

Вид ключа запроса: user — обычный ключ, playground — встроенный ключ плейграунда (в списке ключей его нет), agent — ключ агента.

Значения: user, playground, agent
Пример: "user"
api_key_namestring
Пример: "production"
attempt_countAttemptCountобязательно
canonical_modelstringобязательно
Пример: "gpt-5-nano"
channelChannelId | null

Фактический цвет канала запроса: при успехе — канал, который выполнил запрос; пока запрос идёт — канал, которому он уже отправлен; при ошибке — последний вызванный канал. null — запрос ещё не отправлялся ни одному каналу или запись старше каналов. Название и HEX цвета — GET /v1/channels.

charactersinteger

Сколько символов (Unicode) дала расшифровка — то же число, что usage.characters в её ответе; только у транскрибации.

Пример: 420
created_atstringобязательно
Пример: "2026-08-21T12:00:00Z"
detailarray[ErrorDetail]

На каком параметре не удался запрос и что было бы принято — в той же форме, что error.detail. Обычно поля нет; у удавшегося запроса его нет никогда.

duration_msinteger

Сколько шёл запрос целиком, от приёма до итога; есть у завершённого запроса.

Пример: 12400
error_codestring

Почему запрос не удался — код закрытого словаря; есть только в статусе failed. Неизвестная ошибка — unknown_error, без подробностей.

Пример: "content_policy"
idstringобязательно
Пример: "job_abc123"
input_tokensinteger

Токены чата — входные (input_tokens) и выходные (output_tokens); у картинок и видео их нет.

Пример: 1978
modalityModalityобязательно
model_versionstring

Выбранная версия музыкальной модели, если она была указана в запросе.

Пример: "v6"
output_tokensinteger
Пример: 88
priceinteger | nullобязательно

Итоговая цена завершённого запроса в микроединицах (у не удавшегося — 0); null — запрос ещё идёт.

Пример: 5000
resultвсе варианты

Файл результата удавшейся генерации — то же описание, что result в GET /v1/usage/{id}: подписанная ссылка, пока файл жив, expired: true после. У чата и незавершённых запросов поля нет.

Вариант 1File
routingRoutingобязательно
routing_sourcestringобязательно

Откуда пресет routing, в котором шёл запрос, — из запроса (request) или из настройки аккаунта (account).

Значения: request, account
Пример: "account"
statusUsageStatusобязательно
terminal_codeTerminalCode
JobErrorEntryobject
codeTerminalCodeобязательно
detailarray[ErrorDetail]

На каком параметре не удался запрос и что было бы принято — в той же форме, что error.detail в GET /v1/jobs/{id}.

messagestring
Пример: "the model failed to process this request; retry it, a failed request is not charged"
JobStatusstring

queued → in_progress → completed или failed.

Значения: queued, in_progress, completed, failed
JobUsageobject
billed_charactersinteger

У речи с посимвольной оплатой — символов по счёту этой модели; у посекундной речи поля нет.

charactersinteger

Речь — символов на входе; транскрибация — в расшифровке.

completion_tokensinteger

Чат.

prompt_tokensinteger

Чат.

secondsnumber · double

Речь — длительность звука.

total_tokensinteger

Чат.

JobUsageEntryobject
billed_charactersinteger
Пример: 421
charactersintegerобязательно

Символы (Unicode) расшифровки — то же число, что вернул POST /v1/audio/transcriptions.

Пример: 420
secondsnumber
Пример: 3.42
JobWebhookobject

Доставка вебхука — только у задачи с callback_url.

attemptsintegerобязательно
delivered_atstring · date-time
errorstring

Почему последняя попытка доставки не засчитана.

last_status_codeinteger

Последний HTTP-статус получателя.

next_attempt_atstring · date-time
statusstringобязательно
Значения: pending, delivered, failed
urlstring · uriобязательно
LanguageCodestring

Язык — код ISO 639-1: две строчные латинские буквы (ru, en), один вид у всех моделей.

Значения: af, am, ar, as, az, ba, be, bg, bn, bo, br, bs, ca, cs, cy, da, de, el, en, es, et, eu, fa, fi, fo, fr, gl, gu, ha, he, hi, hr, ht, hu, hy, id, is, it, ja, jv, ka, kk, km, kn, ko, la, lb, ln, lo, lt, lv, mg, mi, mk, ml, mn, mr, ms, mt, my, ne, nl, nn, no, oc, pa, pl, ps, pt, ro, ru, sa, sd, si, sk, sl, sn, so, sq, sr, su, sv, sw, ta, te, tg, th, tk, tl, tr, tt, uk, ur, uz, vi, yi, yo, zh
Пример: "ru"
Limitsobject

Опубликованные пределы; нет поля — число не публикуется (а не ноль).

context_tokensinteger
max_output_secondsinteger

Наибольшая длительность готового звука в секундах, если известна.

max_output_tokensinteger
max_referencesinteger
MCPRequestobject

Сообщение JSON-RPC 2.0 клиента MCP — запрос (с id) или уведомление (без id).

Других полей нет.
idодно из

Номер запроса; ответ вернёт его же. Без id — уведомление.

Вариант 1string
Вариант 2integer
jsonrpcstringобязательно
Значение: "2.0"
methodstringобязательно
Пример: "tools/call"
paramsobject

Параметры метода; у tools/call — name инструмента и arguments по его inputSchema.

MCPResponseobject

Ответ JSON-RPC 2.0 — ровно одно из result и error.

errorobject

Ошибка протокола JSON-RPC.

codeintegerобязательно

-32700 — не JSON, -32600 — не запрос JSON-RPC, -32601 — нет метода, -32602 — неверные параметры или неизвестный инструмент, -32603 — сбой сервера.

dataobject

Подробности у неверных аргументов инструмента (-32602).

errorsarray[object]
Элемент массиваobject
allowedarray[string]
pathstringобязательно

JSON Pointer внутри arguments.

Пример: "/model"
reasonDetailReasonобязательно
toolstring
messagestringобязательно
idодно изобязательно

id запроса; null — запрос не удалось разобрать.

Вариант 1string
Вариант 2integer
Вариант 3null
jsonrpcstringобязательно
Значение: "2.0"
resultobject

Итог метода. У tools/call — content (текст с таблицей), structuredContent (те же данные объектом) и isError.

MaxPriceMultipliernumber

Потолок цены: каналы дороже первого канала плана больше чем во столько раз не пробуются. Без routing_options первый канал — канал пресета, и цена отсчёта — как в pricing.presets карточки модели, для параметров запроса; с routing_options отсчёт идёт от первого канала, который остался после ваших настроек. Первый канал под потолок попадает всегда. Если не ответили все каналы в пределах потолка, задача проваливается, как при отказе всех каналов, с деталью {"path": "max_price_multiplier", "reason": "price_cap"}. null — без потолка. Без поля в запросе — настройка аккаунта (GET /v1/key → max_price_multiplier); значение не из списка — 400 со списком допустимых.

Значения: 1.5, 2, 3, 5, 10
MeResponseobject
accountAccountRefобязательно
avatar_urlstring | nullобязательно

Картинка участника — адрес в кабинете (?v= меняется вместе с картинкой) — или null.

Пример: "/v1/members/mem_1a2b3c4d5e6f7890/avatar?v=1758300000"
emailstringобязательно

Почта участника; пустая строка — участник приглашён только по username Telegram. telegram_username — username Telegram (строчными, без @) или пустая строка; хотя бы одно из двух есть.

Пример: "dev@example.com"
idstringобязательно
Пример: "mem_1a2b3c4d5e6f7890"
namestringобязательно

Имя; пустая строка, пока участник не вошёл через провайдера входа и не задал имя в профиле.

Пример: "Dev User"
rolestringобязательно

Роль участника в аккаунте: owner, admin, developer или viewer.

Значения: owner, admin, developer, viewer
Пример: "owner"
spend_limitSpendLimitEntry | nullобязательно

Собственный лимит трат участника — с расходом и остатком в текущем окне; null — лимита нет (владелец, администратор, наблюдатель, разработчик без лимита).

telegram_usernamestringобязательно
Пример: "durov"
MediaSourcestring

data:<mime>;base64,…, https://… или file_… (POST /v1/files).

Пример: "https://example.com/cat.png"
MemberRefobject
idstringобязательно
Пример: "mem_1a2b3c4d5e6f7890"
namestringобязательно
Пример: "Иван Петров"
Modalitystring
Значения: chat, image, video, transcription, speech, music
Modelobject
added_atstring · dateобязательно
capabilitiesCapabilities
createdinteger · int64обязательно

Unix-время появления модели в каталоге (added_at) — поле models.list SDK OpenAI.

Пример: 1758758400
descriptionstringобязательно
display_namestringобязательно
idstringобязательно

То, что идёт в поле model запроса.

Пример: "nano-banana-pro"
input_schemaobjectобязательно

JSON Schema 2020-12 тела запроса к этой модели, включая условные пределы текста музыки: какие поля и значения она принимает. Годится как parameters инструмента и inputSchema MCP. Значения, которые у модели ничего не меняют, в ней тоже есть — они принимаются.

limitsLimitsобязательно
modalityModalityобязательно
objectstringобязательно
Значение: "model"
owned_bystringобязательно

Автор модели — vendor.id (пусто, если автор не указан); поле models.list SDK OpenAI.

Пример: "google"
paramsarray[ParamSpec]обязательно

Те же поля для витрины — с подписями и подсказками.

pricingPricingобязательно
released_atstring | null · dateобязательно
rulesarray[ParamRule]обязательно

Какие сочетания значений допустимы — то, что не выражает params.

stats_7dModelStatsSummaryобязательно
statusstringобязательно
Значения: active
tagsarray[string]обязательно
updated_atstring · date-timeобязательно
vendorVendor | nullобязательно

Автор модели; null, если не указан.

ModelChannelobject
availablebooleanобязательно
capabilitiesobjectобязательно
audio_inputbooleanобязательно
file_inputbooleanобязательно
streamingbooleanобязательно
structured_outputbooleanобязательно
supported_parametersarray[string]

Параметры запроса, которые учитывает канал. Параметр не из списка этим каналом игнорируется; tools, tool_choice, response_format и verbosity идут только к каналам, которые их учитывают. Нет поля — список канала не опубликован.

toolsbooleanобязательно
video_inputbooleanобязательно
visionbooleanобязательно
colorstringобязательно
Шаблон: ^#[0-9A-Fa-f]{6}$
historyChannelHistoryобязательно
idChannelIdобязательно
limitsobjectобязательно

Пределы конкретного канала в токенах; null означает, что предел неизвестен.

Других полей нет.
context_tokensinteger | nullобязательно
Минимум: 1
max_input_tokensinteger | nullобязательно
Минимум: 1
max_output_tokensinteger | nullобязательно
Минимум: 1
metricsChannelMetricsобязательно
namestringобязательно
parametersobject

Параметры, выполнение которых гарантирует канал; отсутствие поля означает отсутствие подтверждённой поддержки.

Любой ключChannelParameter
ratesModelChannelRatesобязательно
ModelChannelRatesobject
Других полей нет.
basisstringобязательно
Значения: tokens, default_request, second, character
cache_readinteger | null · int64обязательно
currencyCurrencyобязательно
dynamicboolean

true — динамическая цена: request — оценка для параметров по умолчанию, итог считается по фактическому расходу у канала и может отличаться от оценки.

inputinteger | null · int64обязательно
outputinteger | null · int64обязательно
requestinteger | null · int64обязательно

Сумма в микроединицах currency за единицу basis. Для default_request — оценка запроса с указанными параметрами; у динамической цены она может уточняться по сопоставимым выполненным запросам. Токеновые ставки остаются в tokens.

tokensobject | null

Цены, по которым считается итог канала с динамической ценой (dynamic), в микроединицах currency за 1M токенов. null у канала с ценой, известной заранее.

Других полей нет.
image_inputinteger | null · int64обязательно

Изображения на входе (референсы); null у речи.

inputinteger · int64обязательно

Текст на входе.

outputinteger · int64обязательно

Результат на выходе — изображение или звук.

reference_imageinteger | null · int64обязательно

Оценка одного референса в микроединицах currency — не за 1M токенов; null у речи.

ModelChannelsobject
dataarray[ModelChannel]обязательно
generated_atstring · date-timeобязательно
modelstringобязательно
ModelListobject
dataarray[Model]обязательно
generated_atstring · date-timeобязательно

Когда собран каталог (до часа).

objectstringобязательно
Значение: "list"
ModelRoutingOptionsobject

Настройки по id модели. Объект заменяет сохранённый словарь целиком (сначала GET, затем слить и отправить PATCH); null очищает его. Ключ — существующая модель или «»; каждый цвет only/ignore/order — канал этой модели (GET /v1/models/{id}/channels), иначе 400 с detail[].path вида routing_options.<модель>.only[0]. Ключ «» задаёт общие предпочтения без списков цветов; поля только для чата (sort: throughput, preferred_min_throughput) у не-чат модели из «*» молча не применяются, а под ключом не-чат модели — 400. session_id в настройках не сохраняется.

Любой ключRoutingOptions
ModelStatsobject

Статистика модели за 7 дней по запросам всех клиентов — за окно и по часам. Пересчитывается раз в минуту. Объёмы и доли точные; доля успешных — среди завершённых запросов, отказы по вине запроса не считаются. Время ответа — только по успешным запросам; медиана и p95 округлены до ступени шкалы (±10 %), поэтому одинаковые числа у разных моделей — следствие округления, а не общий предел времени.

bucketstringобязательно
Значение: "1h"
latency_p50_msinteger | nullобязательно

Медиана времени ответа успешных запросов, мс (±10 %); null — успешных нет.

latency_p95_msinteger | nullобязательно

95 % успешных запросов отвечают быстрее, мс (±10 %); null — успешных нет.

model_idstringобязательно
requestsintegerобязательно
seriesarray[ModelStatsHour]обязательно

Ровно 168 часов по возрастанию.

speedarray[ModelStatsSpeed]обязательно

Скорость опций пресетов роутинга за 7 дней: по ряду на опцию — те же опции и в том же порядке, что pricing.presets карточки модели (параметры по умолчанию). От одного до трёх рядов; пусто, когда цены нет. Точка ряда — медиана успешных запросов первого канала опции за 6 часов, с любым пресетом. Ряды разных опций могут численно совпадать.

success_ratenumber | null · doubleобязательно

Доля успешных среди завершённых запросов, от 0 до 1; отказы по вине запроса (ошибка во входных данных, правила модели, нехватка баланса, несовместимые параметры) не считаются. null — считать не из чего.

tokens_outinteger | null · int64обязательно
updated_atstring · date-timeобязательно

Когда числа пересчитаны.

windowstringобязательно
Значение: "7d"
ModelStatsHourobject
atstring · date-timeобязательно

Начало часа, UTC.

failedintegerобязательно

Не выполнены; отказы по вине запроса не считаются, как и в success_rate.

latency_max_msinteger | nullобязательно

Самый долгий успешный запрос часа, мс; null — успешных нет.

latency_min_msinteger | nullобязательно

Самый быстрый успешный запрос часа, мс; null — успешных нет.

latency_p05_msinteger | nullобязательно

5 % успешных запросов часа отвечают быстрее, мс (±10 %); null — успешных нет. Вместе с latency_p95_ms — полоса обычного времени ответа без редких крайних значений.

latency_p50_msinteger | nullобязательно

Медиана времени ответа успешных запросов часа, мс (±10 %); null — успешных нет.

latency_p95_msinteger | nullобязательно

95 % успешных запросов часа отвечают быстрее, мс (±10 %); null — успешных нет.

requestsintegerобязательно
succeededintegerобязательно
success_ratenumber | null · doubleобязательно
ModelStatsSpeedobject

Скорость одной опции пресетов роутинга за 7 дней.

pointsarray[ModelStatsSpeedPoint]обязательно

Ровно 28 интервалов по 6 часов по возрастанию; последний — текущий, ещё не закрытый.

routingarray[Routing]обязательно

Пресеты опции — как routing опции в pricing.presets.

Минимум элементов: 1
unitstringобязательно

Единица value: seconds — время выполнения запроса, секунды; tokens_per_second — у чата: скорость ответа, выходных токенов в секунду за всё время ответа (время ответа чата зависит от его длины).

Значения: seconds, tokens_per_second
ModelStatsSpeedPointobject
atstring · date-timeобязательно

Начало интервала, UTC (00:00, 06:00, 12:00 или 18:00).

valuenumber | null · doubleобязательно

Медиана успешных запросов за интервал в единице unit, приближённая (ошибка до 20 %); null — успешных запросов не было.

ModelStatsSummaryobject

Итоги статистики модели за 7 дней по запросам всех клиентов — те же числа, что в GET /v1/models/{id}/stats на начало часа, без почасового ряда. Обновляются раз в час; null — за окно нет данных, а не ноль.

failedintegerобязательно

Из них не выполнены; отказы по вине запроса не считаются, как и в success_rate. Сумма failed по часам GET /v1/models/{id}/stats.

latency_p50_msinteger | nullобязательно

Медиана времени ответа успешных запросов, мс (±10 %).

latency_p95_msinteger | nullобязательно

95 % успешных запросов отвечают быстрее, мс (±10 %).

requestsintegerобязательно

Запросы за окно в любом статусе.

succeededintegerобязательно

Из них завершились успешно.

success_ratenumber | null · doubleобязательно

Доля успешных среди завершённых запросов, succeeded / (succeeded + failed), от 0 до 1; отказы по вине запроса (ошибка во входных данных, правила модели, нехватка баланса, несовместимые параметры) не считаются.

tokens_outinteger | null · int64обязательно

Сколько токенов выдала модель — только у чата.

updated_atstring · date-timeобязательно

Когда числа пересчитаны.

ModelUsageEntryobject
canonical_modelstringобязательно
Пример: "gpt-5-nano"
requestsintegerобязательно
Пример: 5
spend_microintegerобязательно
Пример: 90000
MusicGenerationRequestobject

Какие поля и значения принимает конкретная модель — её input_schema.

Других полей нет.
actionstring

Действие с музыкой или звуком; без поля — создание музыки.

Значения: generate, sounds, cover, extend, add_vocals, add_instrumental, mashup, replace_section, separate_vocals, split_stems, isolate_stem, wav, midi, video, cover_image, lyrics, boost_style, timestamps, persona, voice_validate, voice_generate, voice_regenerate, voice_check
audio_weightnumber

Влияние аудиоэлементов; доступно и при создании в custom_mode.

Минимум: 0
Максимум: 1
authorstring

Автор.

callback_urlstring · uri

Куда прислать вебхук — https на публичный хост; без поля — адрес по умолчанию из настроек аккаунта.

continue_atnumber

С какой секунды продолжить исходный трек.

Минимум: 0.01
custom_modeboolean

Создание по своему стилю и тексту; для инструментала текст не нужен.

descriptionstring

Описание.

domain_namestring

Подпись сайта.

duration_secondsinteger

Желаемая длительность в режиме своего текста или стиля.

Минимум: 10
Максимум: 360
end_secondsnumber

Конец фрагмента.

full_lyricsstring

Полный текст после замены.

grab_lyricsboolean

Сохранить текст звука.

instrumentalboolean | null

Трек без вокала.

languagestring

Язык проверки голоса.

lyricsstring

Текст песни — модель споёт его как написан; разделы размечаются [Verse], [Chorus], [Bridge]. Без поля текст пишет модель. Вместе с instrumental не присылается.

max_price_multiplierMaxPriceMultiplier | null
modelstringобязательно
Пример: "suno-v6"
namestring

Имя.

negative_tagsstring

Какие стили и элементы исключить.

Максимальная длина: 200
persona_idstring

ID задачи Союза, создавшей персону или голос.

persona_modelstring

Тип сохранённой персоны.

Значения: style_persona, voice_persona
promptstring

Описание трека: жанр, настроение, инструменты, темп, голос. Язык текста песни, который напишет модель, — язык описания. В custom_mode и при lyrics это музыкальный стиль.

reference_audioarray[string]

Входные аудиофайлы — ссылки https или идентификаторы загруженных файлов.

Максимум элементов: 2
routingRouting
routing_optionsRoutingOptions | null
singer_skill_levelstring

Уровень вокала.

sound_keystring

Тональность звука из схемы параметров модели.

sound_loopboolean

Зацикленный звук.

sound_tempointeger

Темп звука в ударах в минуту.

Минимум: 1
Максимум: 300
source_filestring

ID аудиофайла из data исходной задачи.

source_jobstring

ID готовой задачи Союза, принадлежащей вашему аккаунту.

start_secondsnumber

Начало фрагмента.

stem_namestring

Дорожка или инструмент.

storeboolean | null

false — запрос без хранения: тексты запроса и ответа не сохраняются; файлы живут обычный срок. По умолчанию тексты хранятся; true не отменяет режим без хранения аккаунта.

style_weightnumber

Точность следования стилю.

Минимум: 0
Максимум: 1
titlestring

Название в режиме своего текста или стиля и при переработке аудио. Без него — первая строка текста песни или описания. В простом режиме название выбирает модель.

userstring

Поле OpenAI (id конечного пользователя); принимается, ни на что не влияет и не хранится.

versionstring

Версия модели из её схемы параметров.

vocal_genderstring

Предпочтительный вокал; результат не гарантирован.

Значения: m, f
weirdnessnumber

Степень экспериментальности.

Минимум: 0
Максимум: 1
MusicResultobject

Структурированный результат аудиооперации. Доступен до истечения срока файла JSON из data; отсутствующие поля не относятся к выбранному действию.

aligned_wordsarray[object]

Слова и их таймкоды в секундах; success показывает, удалось ли выровнять слово.

Элемент массиваobject
endSnumberобязательно
palignnumberобязательно
startSnumberобязательно
successbooleanобязательно
wordstringобязательно
descriptionstring | null
hoot_cernumber | null

Оценка ошибки выравнивания текста.

is_availableboolean

Готов ли проверяемый голос к использованию.

is_streamedboolean | null
lyricsarray[object]
Элемент массиваobject
textstring
titlestring
midiobject

Нотные партии; pitch — MIDI-номер ноты, start/end — секунды, velocity — сила от 0 до 1.

instrumentsarray[object]
Элемент массиваobject
namestring
notesarray[object]
Элемент массиваobject
endnumberобязательно
pitchintegerобязательно
Минимум: 0
Максимум: 127
startnumberобязательно
velocitynumberобязательно
Минимум: 0
Максимум: 1
statestring
namestring | null
resultstring

Улучшенное описание музыкального стиля.

statusstring

Состояние проверки голоса.

validate_infostring

Фраза для записи подтверждения голоса.

waveform_dataarray | null

Амплитуды для визуализации звука, сохранённые вместе с результатом.

OutputFileвсе варианты

Файл результата задачи.

Вариант 1File
Вариант 2object
actionsarray[string]

Доступные действия с этим треком; принимают source_job и source_file.

b64_jsonstring

Картинка в base64 — при response_format=b64_json.

cover_idstring

ID файла обложки из data с role=cover.

duration_secondsnumber

Фактическая длительность трека.

labelstring

Название выделенной дорожки.

lyricsstring

Текст песни.

rolestringобязательно

result — сам результат (у музыки их бывает два — варианты трека), last_frame — последний кадр ролика по return_last_frame.

Значения: result, last_frame, cover, layer
tagsstring

Стиль трека.

titlestring

Название трека.

typestringобязательно

Что это за файл (не что за задача — у видео бывает и кадр).

Значения: image, video, audio, json
PaletteColorobject
colorstringобязательно
Шаблон: ^#[0-9A-Fa-f]{6}$
idChannelIdобязательно
namestringобязательно
Пример: "Синий"
ParamRuleobject

when / when_present → allow или deny.

allowobject
Любой ключarray[string]
denyobject
Любой ключarray[string]
whenobject
Любой ключarray[string]
when_presentarray[string]
ParamSpecobject

Одно поле запроса к модели — для API, витрины и плейграунда.

api_onlyboolean

Поле API и документации; плейграунд не показывает и не отправляет его.

defaultсхема

Значение по умолчанию — строка, число или логическое.

fieldsarray[ParamSpec]
formatsarray[string]
hintstring
labelstringобязательно
maxnumber · double
max_bytesinteger · int64
max_distinctinteger

Перечисление внутри списка — сколько разных значений поле принимает во всём списке (голоса диалога речи).

max_itemsinteger
max_lengthinteger
max_pixelsinteger · int64
minnumber · double
min_itemsinteger
namestringобязательно
Пример: "aspect_ratio"
requiredboolean
stepnumber · double
typestringобязательно
Значения: string, enum, integer, number, boolean, image, video, audio, list
valuesarray[ParamValue]
ParamValueobject
labelstringобязательно
valueсхемаобязательно

Строка или число — то, что уходит в запрос.

PresetOptionobject

Опция пресетов роутинга: цена и типичное время запроса в пресетах routing. Суммы — в единице unit карточки модели, как у Pricing; в строке options — как у amount_micro этой строки.

amount_microinteger · int64

Остальные единицы — за генерацию, секунду звука или 1M символов. В строке options — в той же единице, что amount_micro строки (у видео — цена сценария строки, за её billed_seconds секунд; ставка за секунду — деление на billed_seconds).

cache_read_microinteger · int64

per_1m_tokens — вход из кэша за 1M токенов, если у этой опции есть отдельная ставка.

dynamicboolean

true — динамическая цена первого канала опции: сумма — оценка, итог — по фактическому расходу.

input_microinteger · int64

per_1m_tokens — вход за 1M токенов.

output_microinteger · int64

per_1m_tokens — выход за 1M токенов.

routingarray[Routing]обязательно

Пресеты, которые покрывает опция, по порядку cheap, balanced, fast.

Минимум элементов: 1
typical_secondsinteger | nullобязательно

Типичное время выполнения первого канала опции, секунды: медиана последних успешных запросов за сутки, если их меньше трёх — типичное за 7 дней (та же оценка, что в metrics каналов), округлённая: до 10 с — до секунды, 10–60 с — до 5 с, дольше — до 10 с; null — замеров нет. У чата всегда null: время ответа зависит от его длины.

Минимум: 1
PriceOptionobject
amount_microinteger · int64обязательно
billed_secondsinteger

Посекундное видео — сколько секунд тарифицируется в этом сочетании.

channelsarray[ChannelPrice]

Цена каждого канала для этого сочетания параметров — как pricing.channels.

max_amount_microinteger | null · int64обязательно

Верх полной цены того же сочетания параметров по всем пригодным каналам, включая запасные; у видео это цена ролика указанной длительности, а не ставка за секунду. null, если единицы расчёта различаются, длительность видео-входа неизвестна или у части каналов динамическая цена.

presetsarray[PresetOption]обязательно

Опции пресетов роутинга для этого сочетания параметров — как pricing.presets.

whenobjectобязательно
Любой ключstring
Pricingobject

Цена «от» — наименьшая по всем каналам и параметрам, одна для всех. Цены и типичное время пресетов роутинга — presets (параметры по умолчанию) и options[].presets (каждое сочетание параметров). Итог запроса — фактический объём × цены сработавшего канала на момент приёма; если отвечал следующий канал, итог может быть выше цены пресета. Поля max_* — верх опубликованной ставки пригодных каналов для указанной единицы, включая запасные, но не предел итоговой стоимости запроса: объём и фактическое списание могут отличаться. null означает, что общий верх в этой единице по всем допустимым параметрам не доказан. Какие суммы есть, решает unit.

amount_microinteger · int64

Для изображений — минимальная цена каналов за генерацию с параметрами по умолчанию, как в каталоге каналов; другие сочетания представлены в options. Остальные единицы — за генерацию, секунду звука или 1M символов.

availablebooleanобязательно

false — цены сейчас нет, сумм тоже нет.

cache_read_microinteger · int64

per_1m_tokens — вход из кэша за 1M токенов, если есть отдельная ставка.

channelsarray[ChannelPrice]

Цена каждого канала для параметров по умолчанию — в порядке палитры модели, как GET /v1/models/{id}/channels. Суммы — в единице unit: у чата ставки за 1M токенов, у остальных — сумма сценария. Канал, которому параметры не подходят, отсутствует. Пусто, когда цены нет.

currencyCurrencyобязательно
dynamicboolean

true — у части каналов динамическая цена: их суммы — оценка, итог считается по фактическому расходу у канала и может отличаться от оценки. Верх max_amount_micro тогда null.

input_microinteger · int64

per_1m_tokens — вход за 1M токенов.

max_amount_microinteger | null · int64обязательно

Верх ставки по всем пригодным каналам и доказуемо полному набору допустимых параметров в единице unit. Для видео null, поскольку полную цену генерации нельзя выдавать за секундную ставку; используйте верх конкретной строки options[].max_amount_micro. Также null, если единицы каналов различаются, полный охват не доказан или у части каналов динамическая цена (dynamic).

max_cache_read_microinteger | null · int64обязательно

Верх ставки чтения кэша за 1M токенов; канал без отдельной ставки тарифицирует такой вход по обычной ставке.

max_input_microinteger | null · int64обязательно

Верх ставки входа за 1M токенов с учётом запасных каналов и ступени длинного контекста.

max_output_microinteger | null · int64обязательно

Верх ставки выхода за 1M токенов с учётом запасных каналов и ступени длинного контекста.

optionsarray[PriceOption]

Стартовые цены отдельных сочетаний параметров.

output_microinteger · int64

per_1m_tokens — выход за 1M токенов.

presetsarray[PresetOption]обязательно

Цены и типичное время пресетов роутинга для параметров по умолчанию — от одной до трёх опций. Одна опция может покрывать несколько пресетов: «Баланс» может входить в опцию «Дешевле» или «Быстрее». У разных опций цена и типичное время могут совпадать, хотя их поведение в Авто-роутинге различается. Переданный в запросе routing сохраняет выбранный порядок исполнения. Пусто, когда цены нет.

unitstringобязательно
Значения: per_1m_tokens, per_generation, per_second, per_1m_characters
QuoteElementobject
Других полей нет.
descriptionstring
imagesinteger
namestring
QuoteGenerationParamsobject
Других полей нет.
actionstring

Музыка — действие (generate, cover, …), от него зависит цена.

aspect_ratiostring
audioboolean
backgroundstring
background_sourcestring
character_orientationstring
duration_secondsinteger
elementsarray[QuoteElement]
first_frameboolean
last_frameboolean
output_formatstring
qualitystring
Значения: auto, low, medium, high, xhigh, max
reference_audiointeger
reference_videosinteger
referencesinteger
resolutionstring
return_last_frameboolean
shotsarray[VideoShot]
versionstring

Музыка — версия модели, от неё зависит цена.

web_searchboolean
RevealAPIKeyResponseobject
keystringобязательно
Пример: "sk_9f8e7d6c5b4a39281706f5e4d3c2b1a0"
Routingstring

Пресет роутинга — порядок, в котором Авто-роутинг пробует каналы модели. cheap — «Дешевле»: самый дешёвый канал, даже если он медленнее; скорость решает только при равной цене. balanced — «Баланс», по умолчанию: заметно быстрее за небольшую доплату; если такого канала нет — как «Дешевле». fast — «Быстрее»: самый быстрый канал; при близкой скорости — дешевле. Скорость измеряется по реальным запросам. Пресет — пожелание: принимается для любой модели, даже если у неё один канал. Канал не ответил — запрос переходит к следующему по порядку пресета; следующий канал может стоить дороже, и итог может превысить цену пресета — насколько, ограничивает max_price_multiplier. Без поля в запросе сервер применяет настройку аккаунта; другое значение — 400 со списком допустимых.

Значения: cheap, balanced, fast
RoutingMaxPriceobject

Абсолютные потолки опубликованных ставок в микроединицах RUB: input/output/cache_read за миллион токенов, request за конкретный запрос с его параметрами. Ноль допускает только бесплатную ставку. Неизвестная ставка не проходит заданный потолок. Потолки за токены действуют только на каналы с ценой за токены: каналы с ценой за запрос (картинка, видео, секунда или символ звука) они не отсекают — их цену ограничивает request. Это фильтр тарифов, а не гарантия итоговой суммы при иной фактической стоимости. Для неизвестной длительности аудио request сравнивается с оценкой; окончательная длительность может отличаться.

Других полей нет.
cache_readinteger · int64
Минимум: 0
inputinteger · int64
Минимум: 0
outputinteger · int64
Минимум: 0
requestinteger · int64
Минимум: 0
RoutingOptionsobject

Настройки каналов. Без поля действует настройка аккаунта; объект заменяет её целиком, null сбрасывает на автоматический выбор. Ограничения никогда не ослабляются при отказах. only и ignore ограничивают допустимые каналы; order задаёт предпочтительный порядок и обязан быть подмножеством допустимых: цвет из order вне only или из ignore — 400. Остальные допустимые каналы следуют по пресету. allow_fallbacks=false оставляет только order, а без order — первый выбранный канал. Закрепление диалога не отменяет ограничений. Цвет, которого у модели нет, — 400 invalid_request. Если настройки отсекли все каналы (ни один разрешённый цвет не исполняет модель, все дороже max_price, запасные запрещены), ответ — 400 no_channel_matches с detail[{path: "routing_options", reason}], а не 503: повтор того же запроса не поможет. Пауза канала после сбоев смотрится только среди каналов, которые вы разрешили: если на паузе все они, запрос всё равно пробует их.

Других полей нет.
allow_fallbacksboolean
По умолчанию: true
ignorearray[ChannelId]
Максимум элементов: 64
onlyarray[ChannelId]
Максимум элементов: 64
orderarray[ChannelId]
Максимум элементов: 64
preferred_max_latency_msinteger · int64

Мягкое предпочтение по p50 задержки. Неизмеренные и более медленные каналы остаются запасными.

Минимум: 1
preferred_min_throughputnumber

Мягкое предпочтение по p50 токенов в секунду; только чат (в запросе к другой модальности — 400).

session_idstring

Идентификатор диалога чата в пределах аккаунта и модели. Сохраняется только хеш.

Минимальная длина: 1
Максимальная длина: 256
sortstring

Явная сортировка заменяет пресет; порядок цветов имеет приоритет. latency — время первого содержимого чата или всего результата; throughput — токены в секунду, только чат (в запросе к другой модальности — 400).

Значения: price, latency, throughput
stickyboolean

Закреплять успешное исполнение диалога на десять минут бездействия. Явный order имеет приоритет.

По умолчанию: true
RoutingPreviewobject
channelsarray[RoutingPreviewChannel]обязательно

Каналы плана в порядке попыток: первый — тот, с которого начнётся запрос, следующие — запасные. Пустой список — запрос с этими условиями сейчас выполнить нельзя; почему — в excluded.

currencyCurrencyобязательно
estimated_priceinteger | null · int64обязательно

Оценка суммы первого канала цепочки для этих параметров. Может уточняться по сопоставимым выполненным запросам; итог зависит от фактического объёма и ставок на момент приёма. Запасной канал может стоить дороже. null — план пуст. План ознакомительный: при создании запроса он рассчитывается заново.

excludedarray[RoutingPreviewExclusion]обязательно

Каналы модели, которые в план не вошли, и почему. Каждый цвет — один раз.

generated_atstring · date-timeобязательно
modelstringобязательно
RoutingPreviewChannelobject
estimated_priceinteger | null · int64обязательно

Оценка суммы этого канала для параметров превью, в микроединицах currency; итог определяется фактическим объёмом и ставками на момент приёма запроса.

idChannelIdобязательно
RoutingPreviewExclusionobject
idChannelIdобязательно
reasonstringобязательно

not_selected — цвет не прошёл only/ignore; above_max_price — дороже max_price или потолка max_price_multiplier; unsupported — канал не берёт эти параметры, возможности (инструменты, картинка, JSON-схема, поток) или пределы токенов; unavailable — канал сейчас не исполняет (пауза после сбоев, выключен); fallback_disabled — запасные каналы запрещены (allow_fallbacks: false).

Значения: not_selected, above_max_price, unsupported, unavailable, fallback_disabled
RoutingPreviewRequestobject
Других полей нет.
audio_inputboolean

Чат — в messages будет звук.

billed_secondsinteger
Минимум: 1
Максимум: 86400
file_inputboolean

Чат — в messages будет файл (PDF).

input_tokensinteger
Минимум: 0
Максимум: 16777216
max_price_multiplierMaxPriceMultiplier | null
ninteger

Чат — сколько вариантов ответа; пределы выхода каналов и оценка считаются на все.

Минимум: 1
Максимум: 128
output_tokensinteger
Минимум: 1
Максимум: 16777216
routingRouting
routing_optionsRoutingOptions
speech_charactersinteger
Минимум: 1
Максимум: 1000000
speech_dialogueboolean

Речь — запрос с dialogue вместо input.

speech_instructionsboolean

Речь — запрос с полем instructions.

speech_output_secondsinteger
Минимум: 1
Максимум: 86400
speech_utf16_charactersinteger
Минимум: 1
Максимум: 2000000
streamboolean
structured_outputboolean
toolsboolean
video_inputboolean

Чат — в messages будет видео.

visionboolean
ServiceStatusobject

Состояние сервиса (GET /v1/status). У maintenance — причина и срок плановых работ.

ends_atstring · date-time

До какого времени приостановлены новые запросы.

reasonstring

Причина плановых работ, для людей.

started_atstring · date-time

Когда начались плановые работы.

statusstringобязательно

ok — работает; maintenance — плановые работы, новые запросы до ends_at получают 503 maintenance; unavailable — сервис не отвечает вне плановых работ.

Значения: ok, maintenance, unavailable
SpeechRequestobject

Текст — input или dialogue, одно из двух; без обоих — 400 с input required.

Других полей нет.
callback_urlstring · uri
dialoguearray[object]

Реплики по порядку вместо input — диалог разными голосами. Только у моделей, в карточке которых есть это поле; число разных голосов, реплик и общий предел текста — там же.

Минимум элементов: 1
Элемент массиваobject
Других полей нет.
textstringобязательно

Текст реплики.

Минимальная длина: 1
voicestringобязательно

Голос реплики из карточки модели.

inputstring

Текст или описание звуковой сцены; предел длины — у модели, если указан. Обязателен, если нет dialogue; вместе с dialogue не присылается.

Минимальная длина: 1
instructionsstring

Как говорить — тон, темп и эмоция словами. Только у моделей, в карточке которых есть это поле; предел длины — там же.

Минимальная длина: 1
max_price_multiplierMaxPriceMultiplier | null
modelstringобязательно
Пример: "qwen-audio-3.0-tts-plus"
response_formatstring

Формат звука; без поля — родной формат модели.

Значения: mp3, opus, aac, flac, wav, pcm
routingRouting
routing_optionsRoutingOptions | null
speednumber

Поле OpenAI; принимается, темп речи — как у модели.

Минимум: 0.25
Максимум: 4
storeboolean | null

false — запрос без хранения: тексты запроса и ответа не сохраняются; файлы живут обычный срок. По умолчанию тексты хранятся; true не отменяет режим без хранения аккаунта.

stream_formatstring

Поле OpenAI; sse — звук событиями text/event-stream: speech.audio.delta с base64 звука, затем speech.audio.done.

Значения: audio, sse
По умолчанию: "audio"
userstring

Поле OpenAI (id конечного пользователя); принимается, ни на что не влияет и не хранится.

voicestring

Голос из карточки модели, если она предлагает выбор; без поля — умолчание модели.

SpeechStreamEventobject

Событие потока речи, как у audio.speech.create SDK OpenAI со stream_format:"sse".

audiostring

Звук base64 — у speech.audio.delta.

typestringобязательно
Значения: speech.audio.delta, speech.audio.done
SpendLimitEntryobject
amount_microintegerобязательно
Пример: 5000000000
remaining_microintegerобязательно
Пример: 3750000000
resetstringобязательно
Значения: none, daily, monthly
Пример: "monthly"
spent_microintegerобязательно
Пример: 1250000000
TerminalCodestring

Почему задача не удалась — закрытый словарь, тот же, что у error.code задачи в публичном API: invalid_input — модель отвергла входные данные (параметр или файл; что именно — в detail, если известно), исправьте запрос; content_policy — сработал контентный фильтр, перепишите описание; capability_mismatch — модель не принимает параметры; insufficient_balance — не хватило баланса или лимита; model_unavailable — модель сейчас некому исполнить, повторите позже или выберите другую модель; generation_failed — модель приняла запрос и не справилась, повторите; unknown_error — неизвестная ошибка, без подробностей: повторите, мы разбираем такие случаи. Проваленная задача стоит 0.

Значения: invalid_input, content_policy, capability_mismatch, insufficient_balance, model_unavailable, generation_failed, unknown_error
Пример: "model_unavailable"
TranscriptionRequestobject
Других полей нет.
callback_urlstring · uri
chunking_strategyодно из

Поле OpenAI (auto или объект server_vad); принимается, запись делит модель. В multipart также принимаются поля chunking_strategy[…].

Вариант 1string
Значение: "auto"
Вариант 2object
typestringобязательно
Значение: "server_vad"
filestringобязательно

wav, mp3, flac, m4a, ogg, webm, aac, до 25 МиБ; формат определяется по байтам.

Формат содержимого: audio/*
includearray[string]

Поле OpenAI; принимается, вероятностей токенов в ответе нет. В multipart также принимается запись include[].

languageLanguageCode

Язык записи, код ISO 639-1 (ru, en); без поля язык определяет модель. Другое написание (RU, ru-RU, russian) — 400 со списком кодов в allowed.

max_price_multiplierMaxPriceMultiplier | null
modelstringобязательно
Пример: "whisper-large-v3-turbo"
promptstring

Поле OpenAI; принимается, модель расшифровывает без подсказки.

response_formatstring
Значения: json, verbose_json, text, srt
По умолчанию: "json"
routingRouting
routing_optionsRoutingOptions | null
storeboolean | null

false — запрос без хранения: тексты запроса и ответа не сохраняются; файлы живут обычный срок. По умолчанию тексты хранятся; true не отменяет режим без хранения аккаунта.

streamboolean

Поле OpenAI; true — ответ text/event-stream: transcript.text.delta с текстом, затем transcript.text.done.

temperaturenumber

Поле OpenAI; принимается, ни на что не влияет.

Минимум: 0
Максимум: 1
timestamp_granularitiesarray[string]

Таймкоды фраз и слов; только вместе с verbose_json у моделей, которые их поддерживают. В multipart также принимается запись timestamp_granularities[].

Минимум элементов: 1
Максимум элементов: 2
userstring

Поле OpenAI (id конечного пользователя); принимается, ни на что не влияет и не хранится.

TranscriptionSegmentobject
endnumber · doubleобязательно
idintegerобязательно
startnumber · doubleобязательно

Начало, секунды от начала записи.

textstringобязательно
TranscriptionStreamEventobject

Событие потока расшифровки, как у audio.transcriptions.create SDK OpenAI со stream:true.

deltastring

Текст — у transcript.text.delta.

textstring

Вся расшифровка — у transcript.text.done.

typestringобязательно
Значения: transcript.text.delta, transcript.text.done
TranscriptionWordobject
endnumber · doubleобязательно
startnumber · doubleобязательно

Начало, секунды от начала записи.

wordstringобязательно
UpdateAPIKeyRequestobject
expires_atstring | null

RFC 3339; null — ключ бессрочный.

Пример: "2026-12-31T00:00:00Z"
namestring
Пример: "production"
spend_limit_microinteger | null · int64

null — без потолка.

Пример: 1000000
spend_limit_resetstring

none | daily | monthly; без поля — none.

Значения: none, daily, monthly
Пример: "monthly"
UsageResponseobject
currencystringобязательно
Пример: "RUB"
itemsarray[JobEntry]обязательно
next_beforestring | nullобязательно

Курсор следующей (более старой) страницы для before; null — страниц больше нет.

Пример: "1758283200000000000_job_1a2b3c4d5e6f7890"
UsageStatusstring

Статус запроса: queued — в очереди, running — выполняется, succeeded — готов, failed — не удался, unknown — исход ещё выясняется, cancelled — отменён.

Значения: queued, running, succeeded, failed, unknown, cancelled
UsageSummaryResponseobject
by_modelarray[ModelUsageEntry]обязательно
currencystringобязательно
Пример: "RUB"
dailyarray[DailyUsageEntry]обязательно

Ряд по UTC-дням; дней без запросов в нём нет. С bucket=hour — пустой, ряд в hourly.

hourlyarray[HourlyUsageEntry]

Ряд по UTC-часам — только с bucket=hour; часов без запросов в нём нет, по часу вверх.

period_daysintegerобязательно
Пример: 30
total_requestsintegerобязательно
Пример: 42
total_spend_microintegerобязательно
Пример: 1250000
total_succeededintegerобязательно
Пример: 40
Vendorobject
idstringобязательно
Пример: "bytedance"
namestringобязательно
Пример: "ByteDance"
VideoElementobject
Других полей нет.
descriptionstring
imagesarray[MediaSource]обязательно
namestringобязательно
Пример: "element_dog"
VideoGenerationFormobject

Форма videos.create SDK OpenAI. input_reference — первый кадр: файл картинки, input_reference[image_url] или input_reference[file_id]. Остальные поля VideoGenerationRequest — полями формы: числа и флаги текстом, списки повтором поля или JSON-массивом, объекты (routing_options, shots, elements) — JSON-строкой.

input_referencestring · binary
modelstringобязательно
promptstringобязательно
secondsstring
Пример: "8"
sizestring
Пример: "1280x720"
VideoGenerationRequestobject

Какие поля и значения принимает конкретная модель — её input_schema. Кадры (first_frame, last_frame) и набор референсов взаимоисключающие.

Других полей нет.
aspect_ratiostring
Пример: "16:9"
Шаблон: ^(auto|[0-9]+:[0-9]+)$
audioboolean | null

Сгенерировать звуковую дорожку.

background_sourcestring
Пример: "input_image"
callback_urlstring · uri
character_orientationstring
Пример: "video"
duration_secondsinteger
Пример: 5
Минимум: 1
elementsarray[VideoElement]

Именованные сущности, на которые промпт ссылается как @name.

first_frameMediaSource
last_frameMediaSource
max_price_multiplierMaxPriceMultiplier | null
modelstringобязательно
Пример: "seedance-2"
output_formatstring
Значения: mp4, mov
promptstringобязательно
Минимальная длина: 1
reference_audioarray[MediaSource]

Звук — https://… или file_….

reference_videosarray[MediaSource]

Клипы — https://… или file_….

referencesarray[MediaSource]
resolutionstring
Пример: "720p"
return_last_frameboolean | null

Вернуть последний кадр вторым файлом (role: last_frame).

routingRouting
routing_optionsRoutingOptions | null
secondsодно из

Длительность в секундах, как в videos.create SDK OpenAI ("8"); то же, что duration_seconds.

Вариант 1string
Шаблон: ^[0-9]+$
Вариант 2integer
Минимум: 1
shotsarray[VideoShot]

Сцены вместо одного промпта; сумма длительностей — в пределах ролика.

sizestring

ШxВ, как в videos.create SDK OpenAI (1280x720): соотношение сторон — ближайшее из aspect_ratio модели, разрешение — по короткой стороне. Вместе с aspect_ratio или resolution не передаётся.

Пример: "1280x720"
Шаблон: ^([0-9]+x[0-9]+|auto)$
storeboolean | null

false — запрос без хранения: тексты запроса и ответа не сохраняются; файлы живут обычный срок. По умолчанию тексты хранятся; true не отменяет режим без хранения аккаунта.

userstring

Поле OpenAI (id конечного пользователя); принимается, ни на что не влияет и не хранится.

web_searchboolean | null
VideoShotobject
Других полей нет.
duration_secondsinteger
Минимум: 1
promptstringобязательно
WebhookEventobject

Тело вебхука по Standard Webhooks.

dataJobобязательно
timestampstring · date-timeобязательно
typestringобязательно
Значения: job.completed, job.failed
WebhookSecretobject
objectstringобязательно
Значение: "webhook_secret"
secretstringобязательно

whsec_<base64> — ключ Standard Webhooks.

Шаблон: ^whsec_
WebhookSettingsobject
urlstring

URL is where a job without callback_url of its own reports to, including jobs started with the playground key; empty — nowhere.

Пример: "https://example.com/hooks/souz"
WebhookSettingsPatchobject
urlstring | null

null или пустая строка снимает адрес.

Пример: "https://example.com/hooks/souz"