트랜스크립트 편집
이 가이드에서는 실시간 텍스트 음성 변환 API를 사용해 확정된 트랜스크립트에 자연어 편집 지시문을 적용하는 방법을 안내합니다.
개요
트랜스크립트 편집은 실험적 기능이며 기본 트랜스크립션 비용에 30%의 할증이 추가됩니다. 확정된 트랜스크립트당 최소 10초의 오디오에 대해 청구됩니다. 자세한 가격 정보는 API 가격 페이지를 참조하세요.
실시간 트랜스크립션에서는 모든 확정된 트랜스크립트에 자연어 편집 지시문을 적용할 수 있습니다. 예를 들어 음성으로 말한 날짜를 고정된 형식으로 작성하거나 약어와 두문자어를 풀어 쓸 수 있습니다. 지시문은 연결을 열 때 한 번 전달되며, 각 확정된 트랜스크립트 뒤에는 편집된 텍스트가 포함된 별도의 edited_transcript 이벤트가 이어집니다.
부분 트랜스크립트는 편집되지 않습니다. committed_transcript 이벤트도 변경되지 않으므로, 기능을 켜도 기존 통합은 계속 작동합니다.
트랜스크립트 편집은 entity_detection과 함께 사용할 수 없습니다. 둘 다 설정한 연결은
invalid_request 오류와 함께 거부됩니다.
트랜스크립트 편집 활성화
연결할 때 transcriptEdit 옵션(WebSocket API의 transcript_edit 쿼리 파라미터)으로 지시문을 전달하세요. 지시문은 최대 2,000자까지 가능합니다. 지시문 작성 방법은 배치 트랜스크립트 편집 가이드를 참조하세요.
모든 SDK에서 편집된 트랜스크립트는 RealtimeEvents.EDITED_TRANSCRIPT 이벤트를 통해 수신됩니다.
클라이언트 측
클라이언트 측 스트리밍 가이드에 설명된 대로, 서버에서 발급한 일회용 토큰과 함께 브라우저에서 @elevenlabs/client를 사용하세요.
서버 측
서버 측 스트리밍 가이드에 설명된 대로 서버에서 공식 SDK를 사용하세요. 이 가이드와 다른 점은 옵션과 이벤트 핸들러뿐이며, 오디오 전송 및 연결 종료 방식은 동일합니다.
편집된 트랜스크립트 수신
활성화하면 각 확정된 트랜스크립트 뒤에 확정된 텍스트와 편집된 버전이 포함된 edited_transcript 이벤트가 이어집니다.
알아두어야 할 동작은 다음과 같습니다.
- 편집은 확정된 세그먼트별로 적용됩니다. 편집은 비동기적으로 실행되므로
edited_transcript이벤트는 해당committed_transcript이벤트 직후에 발생합니다. 다음 부분 트랜스크립트 이후에 도착할 수 있으며, 연속된 세그먼트의 편집은 순서가 바뀌어 도착할 수 있습니다.text필드를 사용해 편집 내용을 해당 확정 트랜스크립트와 연결하세요. - 세그먼트에 편집이 적용되지 않은 경우
edited_text는text와 동일합니다. - 세그먼트에 대한 편집을 생성할 수 없는 경우 해당 세그먼트에는
edited_transcript이벤트가 전송되지 않습니다.committed_transcript이벤트에는 영향을 주지 않습니다. committed_transcript_with_timestamps의 단어 수준 타임스탬프는 편집된 텍스트가 아니라 원본 확정 텍스트를 설명합니다.