Дубляж готового заказа
Как перевести готовую озвучку Cartesia или ElevenLabs на другой язык. Справочник, цена до заказа, создание дубля и частые отказы.
Дубляж переводит готовую озвучку на другой язык и озвучивает перевод. Каждая фраза дубля начинается там же, где фраза исходника, а длина дорожки совпадает. Текст передавать не нужно: перевод делает сервис. Результат — новый заказ, исходный заказ не меняется.
Исходник (service_key заказа) | task_type дубля | Цена за символ исходника |
|---|---|---|
cartesia | cartesia_dub | 1,35 символа Cartesia, перевод включён |
elevenlabs | elevenlabs_dub | 1,5 символа ElevenLabs, перевод включён |
Языки, модели, потолок длины, множитель цены и техрежим берите только из
GET /orders/dubbing/options. Таблица выше — ориентир, не зашивайте её в код.
Справочник: доступен ли дубляж
GET /orders/dubbing/options отвечает, какие виды дубляжа открыты владельцу ключа. Вид
выбирается по service_key исходного заказа: data.kinds[order.service_key].
| Поле вида | Значение |
|---|---|
available | открыт ли вид этому аккаунту |
dub_service | task_type будущего заказа: cartesia_dub или elevenlabs_dub |
languages, models, default_model | допустимые языки дубля и модели |
max_source_chars | потолок длины исходника в символах |
price_factor | множитель цены к символам исходника |
maintenance | true — приём временно приостановлен, создание ответит 503 |
Закрытый вид приходит с available: false, dub_service: null, пустыми списками и нулями. Это
ответ «функции нет», а не ошибка. Поля верхнего уровня data (кроме kinds) повторяют вид
cartesia для старых клиентов.
Справочник дубляжа
Какой заказ можно дублировать
- свой заказ озвучки
cartesiaилиelevenlabsв статусеcompletedилиresult_delivered; - файлы заказа ещё хранятся (см. Файлы и хранение);
- заказ не в абзацном режиме (
generation_mode: "paragraph"): нужна одна дорожка; - над заказом не идёт перегенерация или склейка;
- исходник не длиннее
max_source_chars.
Иначе создание и котировка отвечают 422 с reason из таблицы отказов ниже.
Язык дубля должен отличаться от языка исходника. У Cartesia язык исходника известен из шаблона,
и совпадение сразу отбивается 422 dub_same_language. У ElevenLabs язык исходника неизвестен
(source_language: "auto"): такой дубль создастся, упадёт у исполнителя и вернёт деньги целиком.
Следите за языком сами.
Цена до заказа
GET /orders/{order}/dub/quote считает цену дубля и ничего не списывает, токен-квоту ключа тоже
не тратит. Лимит — 60 запросов в минуту на ключ. Query — те же поля, что у тела создания, и все
необязательны: цена зависит только от символов исходника.
Поле data | Значение |
|---|---|
source_chars | символы исходника: оплаченная длина последних версий его фрагментов |
tokens | tokens_from_quota + tokens_from_payg |
lmc_cost_minor | добор PAYG с баланса, minor LMC |
price_lumc_minor | полная цена, даже если всё оплатит квота |
allowed, reason | пройдёт ли создание сейчас; reason — тот же код, что вернуло бы создание |
defaults | voice_id и model_id, с которыми пойдёт дубль |
templates | ваши шаблоны того же сервиса, до 100: кандидаты для template_id |
Суммы — в minor units: real = value / 10^currency_asset.precision. defaults.voice_id: null
значит, что голос по умолчанию больше недоступен (снят из каталога, клон удалён): передайте
voice_id при создании.
Котировка дубля
Создание дубля
POST /orders/{order}/dub создаёт заказ дубля. Тело — JSON:
| Поле | Правило | Смысл |
|---|---|---|
target_language | обязательное, из languages вида | язык дубля, не равный языку исходника |
voice_id | необязательное, строка ≤ 64 | голос дубля. Cartesia — UUID голоса каталога или voice_id своего клона; ElevenLabs — 20-символьный id голоса |
model_id | необязательное, из models вида | модель. Без неё — модель шаблона, иначе default_model |
template_id | необязательное | ваш шаблон того же сервиса, что исходник: берутся его голос, модель и настройки |
name | необязательное, строка ≤ 120 | название заказа. Без него — «Название исходника → EN» |
Голос и модель по умолчанию берутся из снимка шаблона исходного заказа — того, каким шаблон был
при создании исходника. Явные voice_id и model_id перекрывают шаблон.
Ответ — 201, в data новый заказ с task_type cartesia_dub или elevenlabs_dub и одним
фрагментом. Дальше это обычный заказ: статус приходит по
WebSocket или опросом GET /orders/{order}, дорожка лежит в
result.files[], субтитры — в result.service_files[], ссылку выдаёт POST /storage/url.
Дубляж заказа
BASE=https://api.lumean.app/api/public
SRC=<ORDER_UUID> # готовый заказ озвучки
curl -s "$BASE/orders/dubbing/options" -H "X-API-KEY: $KEY"
curl -s "$BASE/orders/$SRC/dub/quote?target_language=en" -H "X-API-KEY: $KEY"
curl -s -X POST "$BASE/orders/$SRC/dub" -H "X-API-KEY: $KEY" -H "Content-Type: application/json" \
-d '{ "target_language": "en" }'
# → 201, data.id = <DUB_UUID>, data.task_type = "cartesia_dub"Ключу нужны orders.read (справочник и котировка), orders.write (создание) и
orders.download (ссылка на файл).
Оплата
Оплата — как у обычной озвучки. Сначала тратится квота подписки по праву исходного сервиса:
подписка с Cartesia оплачивает и дубль Cartesia. Остаток списывается с баланса как PAYG.
Стоимость учитывается и в токен-квоте ключа: при превышении
заказ не создаётся, ответ — 429 token_quota_exceeded. Упавший дубль возвращает деньги
целиком.
Отменить дубль можно до начала работы (POST /orders/{order}/cancel). retry для него не
нужен: при сбое деньги возвращаются, создайте дубль заново.
Отказы
reason | HTTP | Что значит |
|---|---|---|
dub_source_unavailable | 422 | исходник не дублируется: не готовая озвучка cartesia/elevenlabs, файлы истекли, нет таймингов фраз, абзацный режим, идёт перегенерация или склейка |
dub_source_too_long | 422 | исходник длиннее потолка; в теле ещё source_chars и max_source_chars |
dub_same_language | 422 | язык дубля совпал с языком исходника (только у Cartesia) |
service_not_found | 422 | дубляж этого вида вашему аккаунту недоступен |
duplicate_order | 409 | тот же запрос (исходник и поля) меньше минуты назад. Нужен второй дубль на тот же язык — измените name |
Ошибка поля (target_language не из списка, чужой или удалённый template_id) — 422 с полем в
errors, деньги не списываются. Чужой или несуществующий заказ — 404, нехватка денег на
PAYG-добор — 402, техрежим вида — 503.
- Что произошло
Заказ не создан. Ответ: 422 с
reason: "service_not_found"и безerrors. Запрос прошёл проверку полей, но сервис для него не нашёлся.- Что сделать прямо сейчас
Отправляйте только те типы, которые создаются по ключу.
Эта страница для ИИ
Обновлено 06.11.2026 · версия API 1.0.0