client.projects.syncLyrics(...)로 어떤 프로젝트든 동기화를 다시 실행할 수 있습니다.
client.projects.syncLyrics(projectId, body, options?)
새 가사 동기화 작업을 시작합니다.
가사 소스
요청 본문에lyricsSource 객체를 전달합니다:
- transcribe
- align
모델이 오디오에서 가사를 전사하도록 합니다.
동기화 모델
정렬 모델 (정확한 가사가 있을 때align과 함께 사용):
audioshake-alignmentmusicai-alignmentmusicai-alignment-subwordwav2vec2
transcribe와 함께 사용):
audioshake-transcriptionelevenlabs-transcriptionmusicai-transcriptionwhisper
엔드 투 엔드 예시
다음 단계
- Stems — 재동기화 전에 스템 분리를 다시 실행
- Tasks — 작업 핸들과 중단(abort) 패턴
- 가사 동기화 모델 선택 — 적절한 모델 선택
지원되는 모델 확인
client.capabilities.get()은 구성된 모델 지원과 인증된 계정의 사용 자격을 반환합니다. 각 모델은 해당 작업, inputAudio, 지원되는 workflows, 언어 정책, 필요한 기능, suppliedTextHandling을 설명합니다. 사용 가능 여부는 제공자 업타임을 보장하지 않습니다.
전사는 참조 텍스트로 선택적 lyrics를 받을 수 있습니다. 기능(capability) 응답은 제공자의 키텀(keyterms)과 전사 이후의 보정(correction)을 구분합니다. 참조 텍스트는 동일한 출력 결과를 보장하지 않습니다. 제공한 텍스트를 정확히 반영해야 한다면, 사용 자격이 있는 정렬 모델을 선택하세요.
기존 타이밍 편집
client.projects.alignments.list(projectId)와 .get(projectId, alignmentId)를 사용해 타입이 지정된 타이밍 리소스를 읽습니다. .update(projectId, alignmentId, body)는 동기화 작업이나 처리 크레딧 홀드 없이 타이밍을 교체합니다.
업데이트 본문에는 전체 alignment와 expectedRevision이 필요합니다. 저장된 정렬을 원자적으로 선택하려면 select: true와 expectedSelectionRevision을 추가하세요. .select(projectId, alignmentId, { expectedRevision, expectedSelectionRevision })는 기존 타이밍을 선택합니다. 두 revision은 동시 편집으로부터 보호합니다. 오래된 revision은 HTTP 409를 반환합니다.
편집 시 아이템 ID, 텍스트, 인덱스, 가수, 번역을 유지하세요. 시간은 절대 초 단위입니다. 모든 end는 start보다 커야 합니다. 유효하지 않거나 음수이거나 전체 길이를 벗어나는 타이밍은 거부됩니다. 정상적인 오버랩 및 듀엣 타이밍은 지원됩니다.
전체 타이밍 편집과 충돌 처리 방법은 가사 비디오 자동화를 참고하세요.