Skip to main content
La sincronización de letras alinea el texto de la letra con el audio para que las palabras se resalten en el momento correcto. Usa 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 objeto lyricsSource en el cuerpo de la solicitud:
Deja que el modelo transcriba las letras desde el audio.

Modelos de sincronización

Modelos de alineación (úsalos con align cuando tengas letras precisas):
  • audioshake-alignment
  • musicai-alignment
  • musicai-alignment-subword
  • wav2vec2
Modelos de transcripción (úsalos con transcribe):
  • audioshake-transcription
  • elevenlabs-transcription
  • musicai-transcription
  • whisper
Consulta Elegir un modelo de sincronización de letras para obtener orientación.

Ejemplo de extremo a extremo

Qué sigue

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

Usa client.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.