client.exports.create(...) как основную точку входа. Выбирайте target: "local", когда хотите, чтобы SDK рендерил прямо на текущей машине; в противном случае по умолчанию используется облачный экспорт.
client.exports.create(projectId, input, options?)
Выберите цель экспорта с помощью target: "cloud" | "local".
Общие поля
Используйте
fps: 60 для более плавного движения. Облачные квоты применяют множитель кредитов 1.5x при 60 fps. Прозрачные облачные экспорты в 60 fps доступны, когда выбранная длительность и разрешение укладываются в облачные лимиты.
Пример с громкостью стемов
Пример с переопределением настроек
settingsOverride.
client.exports.quote(projectId, input, options?)
Оцените количество кредитов, необходимых для облачного экспорта, не запуская экспорт.
quote(...) предназначен только для облачных экспортов.
client.exports.list(projectId, input?, options?)
Список экспортов для проекта с пагинацией.
number
Номер страницы. По умолчанию на сервере —
1.number
Размер страницы. По умолчанию —
100. Максимум 100.client.exports.get(exportId, options?)
Получите экспорт только по ID, не зная родительский проект.
Локальный экспорт
onDependencyProgress, если хотите получать обновления во время установки или проверки локального инструментария рендера.
client.exports.prepareLocal(projectId, body, options?)
Возвращает подготовленный payload, необходимый для локального рендера экспорта. Используйте это при интеграции с @youka/remotion или другим локальным рендерером. Сервер возвращает входные данные композиции, URL ассетов и параметры рендера без постановки облачного рендера в очередь.
client.exports.prepareLocal(...) не запускает облачный рендер. Никакие платные
вычисления на стороне Youka не потребляются.Ожидание экспорта
Облачный экспорт — асинхронный. Используйтеclient.exports.wait(...):
Скачивание результата
Облачный экспорт завершается подписаннымurl. Используйте встроенный хелпер, чтобы потоково сохранить файл на диск. output может быть либо директорией, либо полным путём к файлу, а filename — необязательный:
Что дальше
- Tasks — хендлы операций и продвинутое опрашивание задач
- Presets — переиспользуемые конфигурации рендера
- Project settings — патч активных настроек проекта
Снимки версии и таймингов
Список версий:client.projects.versions.list(projectId). Передайте versionId в exports.create, exports.quote или exports.prepareLocal. Стилизация относится к этой версии, а выбранное выравнивание относится к проекту.
Хендлы операций облачного экспорта и локальные payload’ы включают versionId, alignmentId и alignmentRevision. Эти поля идентифицируют тот же снимок таймингов, который использовался для построения композиции. Более поздняя подготовка или экспорт может увидеть более новые правки. Сохраните подготовленный payload, если внешнему рендереру нужно использовать именно этот снимок, и обновляйте истёкшие подписанные URL медиа.
Чтобы заглушить каждый стем, соберите stemVolumes из stem ID проекта, установив все значения в ноль. Прозрачный локальный экспорт использует ProRes 4444 в контейнере MOV. Беззвучный результат всё равно может содержать аудиопоток.
См. Automate lyric videos для полного примера экспорта.