Skip to main content
Projects — это ресурс верхнего уровня в Youka. Каждый проект владеет своим исходным файлом, текстами, экспортами и настройками проекта. Проекты караоке также содержат разделённые stems.

Создание проекта

В большинстве случаев используйте client.projects.create() — он сам обрабатывает загрузки.

Типы source

Читает файл с диска.

Другие поля

string
Заголовок проекта. По умолчанию равен имени файла источника.
karaoke | lyric-video
Рабочий процесс. По умолчанию karaoke. lyric-video использует исходный аудиотрек без разделения на стемы.
SplitModel
Модель разделения на стемы для karaoke. По умолчанию mdx23c. Отклоняется для lyric-video. См. справочник моделей разделения.
string
Применить переиспользуемый пресет при создании.
LyricsSource
Настроить синхронизацию текста. См. ниже.

Источники lyrics

client.projects.create(input, options?)

client.projects.create() также принимает низкоуровневый источник inputFile, когда у вас уже есть загруженный inputFileId.

client.projects.quote(input, options?)

Оцените кредиты, необходимые для создания проекта, не создавая его.
client.projects.quote(...) принимает те же формы source, что и client.projects.create(...), включая URL maxVideoQuality. Если вы уже знаете длительность медиа и не хотите загружать файл только ради оценки, передайте низкоуровневую REST-форму:

client.uploads.create(body, options?)

Выделите слот для загрузки и получите подписанный URL.

client.uploads.upload(uploadUrl, body, options?)

Выполните PUT байтов файла на подписанный URL.
FetchBody
required
Любое тело, совместимое с fetch: Blob, File, ArrayBuffer, Uint8Array, ReadableStream или string.
Выбрасывает YoukaRequestError с кодом UPLOAD_FAILED, если загрузка возвращает статус не из диапазона 2xx.

client.projects.get(projectId, options?)

Получите полное состояние проекта, включая стемы, текст и экспорты.

client.projects.update(projectId, body, options?)

Частично обновите метаданные проекта.
Передайте как минимум одно из title или artists.

client.projects.list(options?)

Перечислите все проекты, принадлежащие аутентифицированному аккаунту.
Возвращает массив элементов списка проектов (более «лёгкая» форма, чем getProject).

client.projects.delete(projectId, options?)

Удалите проект и все связанные с ним стемы, текст и экспорты.
Удаление необратимо. Используйте вместе с ключом идемпотентности, чтобы повторные попытки были безопасны.

Что дальше

  • Stems — повторно запустить разделение на стемы
  • Lyrics sync — повторно синхронизировать текст
  • Exports — рендерить готовые видео
  • Tasks — ожидать завершения операций проекта через client.projects.wait

Создание lyric-video и обнаружение моделей

Те же выборы kind и обработки текста работают и с projects.quote. Оценка для lyric-video списывает ноль кредитов за разделение. Оценка и создание валидируют одни и те же требования к модели, языку, аккаунту и источнику. Оценки не резервируют кредиты или мощность. Используйте lyricsSource: null, чтобы пропустить обработку текста. Справочный текст при транскрибации — это подсказка и может отличаться от результата. Модели, которым нужны изолированные вокалы, не могут обрабатывать lyric-video без разделения. См. Automate lyric videos про возможности, точные обновления таймингов и контрольные точки каталога.