Маршрутизация провайдеров
Видеомодель может обслуживаться более чем одним провайдером. provider — поле верхнего уровня тела запроса с двумя подполями: type выбирает провайдера, options пробрасывает специфичные для него параметры.
| Поле | Тип | Описание |
|---|---|---|
provider.type | string | Закрепляет обслуживающего провайдера. Значение вне перечисления даёт 400 invalid_provider_type; провайдер, не обслуживающий модель, — 400 provider_type_unavailable |
provider.options.<slug> | object | Сквозная передача параметров провайдера — их получает только выбранный провайдер |
cURL
curl https://api.ofox.io/v1/videos \
-H "Authorization: Bearer $OFOX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "bytedance/seedance-2.0-mini",
"prompt": "...",
"duration": 5,
"provider": {
"type": "byteplus",
"options": { "dashscope": { "watermark": false } }
}
}'Если provider.type не передан, модель, которую обслуживают несколько провайдеров, распределяется с весами между доступными каналами, и какой провайдер обработает конкретный запрос, предсказать нельзя. Видеотракт не поддерживает order / sort / fallback, эквивалентного заголовка тоже нет.
Доступные для модели провайдеры — те, что перечислены в разделе Провайдеры на её странице; полный список приведён в разделе Маршрутизация провайдеров.
Два провайдера seedance
Семейство bytedance/seedance-* обслуживают два провайдера ниже, и их политики контента различаются:
| Провайдер | Описание | Политика контента |
|---|---|---|
volcengine | Volcengine Ark, платформа ByteDance для материкового Китая | Стандартная модерация |
byteplus | BytePlus, платформа ByteDance для рынков вне материкового Китая | Допускает контент, подходящий не для всех аудиторий (NSFW) |
byteplus разрешает seedance создавать контент, подходящий не для всех аудиторий (NSFW), тогда как volcengine применяет стандартную модерацию. Если такой контент нужен, provider.type: "byteplus" необходимо указывать явно; иначе взвешенное распределение может направить запрос в volcengine, где модерация его отклонит.
provider.options: проброс параметров
Специфичные для провайдера параметры передаются через provider.options.<slug>, и получает их только выбранный провайдер. Параметры вроде watermark поддерживают не все модели, поэтому они находятся в пробросе провайдера, а не в поле верхнего уровня (по образцу OpenRouter). Какие проброшенные параметры принимает модель, зависит от модели.
{
"model": "alibaba/wan-2.7",
"prompt": "...",
"provider": {
"options": {
"dashscope": { "watermark": false, "audio_setting": "..." }
}
}
}type и options можно передавать вместе.