client.projects.syncLyrics(...) para volver a ejecutar la sincronización en cualquier proyecto con letras actualizadas, un modelo diferente o un nuevo idioma.
client.projects.syncLyrics(projectId, body, options?)
Inicia una nueva operación de sincronización de letras.
Fuente de letras
Pasa un objetolyricsSource en el cuerpo de la solicitud:
- transcribe
- align
Deja que el modelo transcriba las letras desde el audio.
Modelos de sincronización
Modelos de alineación (úsalos conalign cuando tengas letras precisas):
audioshake-alignmentmusicai-alignmentmusicai-alignment-subwordwav2vec2
transcribe):
audioshake-transcriptionelevenlabs-transcriptionmusicai-transcriptionwhisper
Ejemplo de extremo a extremo
Qué sigue
- Stems — volver a ejecutar la separación de stems antes de volver a sincronizar
- Tasks — handles de operación y patrones de cancelación
- Elegir un modelo de sincronización de letras — elige el modelo adecuado
Descubrir modelos compatibles
client.capabilities.get() devuelve la compatibilidad de modelos configurada y la elegibilidad de la cuenta autenticada. Cada modelo describe su operación, inputAudio, workflows compatibles, política de idioma, funciones requeridas y suppliedTextHandling. La disponibilidad no es una garantía de tiempo de actividad del proveedor.
La transcripción acepta lyrics opcional como texto de referencia. La respuesta de capacidades distingue los keyterms del proveedor de la corrección posterior a la transcripción. El texto de referencia no garantiza una salida idéntica. Para un texto suministrado exacto, elige un modelo de alineación elegible.
Editar tiempos existentes
Usaclient.projects.alignments.list(projectId) y .get(projectId, alignmentId) para leer recursos de tiempos tipados. .update(projectId, alignmentId, body) reemplaza los tiempos sin un trabajo de sincronización ni retención de crédito de procesamiento.
El cuerpo de la actualización requiere el alignment completo y expectedRevision. Añade select: true y expectedSelectionRevision para seleccionar la alineación guardada de forma atómica. .select(projectId, alignmentId, { expectedRevision, expectedSelectionRevision }) selecciona tiempos existentes. Ambas revisiones protegen contra ediciones concurrentes. Una revisión desactualizada devuelve HTTP 409.
Mantén los IDs de los elementos, el texto, los índices, los cantantes y las traducciones al editar. Los tiempos son segundos absolutos. Cada final debe ser mayor que su inicio. Los tiempos inválidos, negativos o fuera de la duración se rechazan. Se admiten solapamientos legítimos y tiempos de dúo.
Consulta Automatizar videos con letras para una edición completa de tiempos y manejo de conflictos.