client.projects.syncLyrics(...) pour relancer la synchronisation sur n’importe quel projet avec des paroles mises à jour, un modèle différent ou une nouvelle langue.
client.projects.syncLyrics(projectId, body, options?)
Démarrez une nouvelle opération de synchronisation des paroles.
Source des paroles
Passez un objetlyricsSource dans le corps de la requête :
- transcribe
- align
Laissez le modèle transcrire les paroles à partir de l’audio.
Modèles de synchronisation
Modèles d’alignement (à utiliser avecalign lorsque vous avez des paroles exactes) :
audioshake-alignmentmusicai-alignmentmusicai-alignment-subwordwav2vec2
transcribe) :
audioshake-transcriptionelevenlabs-transcriptionmusicai-transcriptionwhisper
Exemple de bout en bout
Et ensuite
- Stems — relancez la séparation des stems avant de resynchroniser
- Tasks — handles d’opération et patterns d’annulation
- Choose a lyrics sync model — choisissez le bon modèle
Découvrir les modèles pris en charge
client.capabilities.get() renvoie la prise en charge des modèles configurés ainsi que l’éligibilité du compte authentifié. Chaque modèle décrit son opération, inputAudio, les workflows pris en charge, la politique de langue, les fonctionnalités requises et suppliedTextHandling. La disponibilité n’est pas une garantie de disponibilité du fournisseur.
La transcription accepte des lyrics facultatives comme texte de référence. La réponse des capacités distingue les termes clés du fournisseur des corrections après transcription. Le texte de référence ne garantit pas une sortie identique. Pour un texte fourni exact, choisissez un modèle d’alignement éligible.
Modifier des timings existants
Utilisezclient.projects.alignments.list(projectId) et .get(projectId, alignmentId) pour lire des ressources de timing typées. .update(projectId, alignmentId, body) remplace les timings sans tâche de synchronisation ni immobilisation de crédits de traitement.
Le corps de mise à jour exige l’alignment complet et expectedRevision. Ajoutez select: true et expectedSelectionRevision pour sélectionner l’alignement enregistré de manière atomique. .select(projectId, alignmentId, { expectedRevision, expectedSelectionRevision }) sélectionne des timings existants. Les deux révisions protègent contre les modifications concurrentes. Une révision périmée renvoie HTTP 409.
Conservez les IDs d’éléments, le texte, les index, les chanteurs et les traductions lors de l’édition. Les temps sont en secondes absolues. Chaque fin doit être supérieure à son début. Des timings invalides, négatifs ou hors de la durée sont rejetés. Les chevauchements légitimes et les timings de duo sont pris en charge.
Consultez Automate lyric videos pour un exemple complet de modification des timings et de gestion des conflits.