소개
오디오 파일에서 노래로 불린 가사를 전사해 작업에 텍스트로 돌려줍니다. 맨 말소리가 아니라 음악 위에 얹힌 보컬에 맞춰 둔 모델입니다.
HeartMuLa Transcribe는 오디오 파일에서 노래로 불린 가사를 뽑아 텍스트로 돌려줍니다. 오디오 필드 하나뿐이고 설정할 옵션은 없으며, 여러 언어를 다루고, 오디오 길이가 아니라 전사 1건 단위로 과금합니다.
핵심 기능 및 하이라이트
범용 음성 인식이 무너지는 지점에 맞춰져 있습니다
노래로 불린 목소리는 컴프레서가 걸리고 여러 겹으로 쌓이고 리버브에 젖은 채, 같은 대역의 악기들과 부딪히며 들어옵니다. 범용 음성 모델이 학습하지 않은 상황이 바로 이것이라, 돌아오는 결과가 조각나기 쉽습니다. 이 모델은 그 지점에 맞춰 조정돼 있습니다. 반대도 성립해서, 맞서 싸울 반주가 없는 인터뷰나 팟캐스트라면 범용 음성 전사 모델이 더 맞는 도구입니다.
작업에 실려 오는 텍스트, 내려받을 파일은 없음
내려받을 파일은 만들어지지 않습니다. 실행은 작업 자체에서 끝나고, 전사본이 결과에 담겨 옵니다. 내려받는 단계도, 써 넣을 버킷도 없고, 14일 미디어 보관에도 아무것도 들어가지 않습니다. 끝난 작업에서 텍스트를 읽어 가사가 이미 쌓여 있는 곳으로 바로 보내면 됩니다.
밀린 카탈로그는 곱셈이지만, 짧은 클립 더미는 아닙니다
길이는 가격에 들어가지 않아서 6분짜리 곡과 20초짜리 훅이 같은 값입니다. 그래서 밀린 분량은 '곡 수 × 하나의 숫자'로 잡히고, 짧은 조각만 모인 폴더가 상대적으로 비싼 모양이 됩니다. 미리 계산에 넣을 것이 하나 있습니다. 알고 보니 연주곡이었던 음원은 거의 빈 결과를 돌려주면서도 성공한 과금 대상 실행으로 집계되므로, 큐에 넣기 전에 걸러 두십시오.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
audio_url | 예 | 오디오 파일로 곧장 이어지는 URL입니다. HTML을 돌려주는 페이지는 잘못된 소재로 실패합니다. 1자 이상 |
요금
$0.05 / 건
과금은 오디오 길이가 아니라 전사 1회 단위입니다. 연주곡처럼 내용이 거의 없는 결과도 과금됩니다.
활용 사례
음성을 사용할 수 있는 텍스트로 바꿉니다
오디오 파일에서 노래로 불린 가사를 전사해 작업에 텍스트로 돌려줍니다. 맨 말소리가 아니라 음악 위에 얹힌 보컬에 맞춰 둔 모델입니다. 오디오 또는 비디오 소스를 전사할 때 사용합니다. 가능하면 선명한 녹음을 제공하고 이름, 시간 정보, 신뢰도가 낮은 구간을 검토합니다.
음원 카탈로그 메타데이터
카탈로그 전체의 가사 텍스트를 만들어 검색, 표시, 태깅에 씁니다. 건당 요금이라 밀린 분량의 비용은 총 재생 시간의 함수가 아니라 단순한 곱셈으로 읽힙니다.
음악이 깔린 영상 자막
빽빽한 믹스 위에 얹힌 보컬에서 가사 줄을 뽑아, 숏폼 영상 자막에 시간을 맞춰 넣을 재료로 씁니다.
모더레이션과 권리 검토
공개하기 전에 그 곡이 실제로 무엇을 말하는지 읽어 둡니다. 거친 표현이나 권리 주장에 대해 판단해야 하는 자리에서 쓸모가 있습니다.
프롬프트 가이드 및 실전 팁
오디오 파일을 직접 가리키는 URL을 보내십시오
이 필드는 업로드 본문이 아니라 URL을 받습니다. 가리키는 대상은 오디오 자체여야 합니다. HTML을 돌려주는 스트리밍 페이지나 공유 링크는 전사 실패가 아니라 잘못된 소재로 실패합니다.
파일이 아니라 작업에 실린 텍스트를 기대하십시오
전사본은 작업 결과에 텍스트로 돌아옵니다. 가져올 미디어 에셋이 없고, 이 엔드포인트에서 미디어 보관에 들어가는 것도 없습니다.
다음 반복 전에 결과를 점검합니다
오디오 URL 하나가 들어가고 가사 텍스트가 나옵니다. 설정할 것은 없습니다. 언어 힌트도, 타임스탬프도, 화자 라벨도, 신뢰도 값도, 출력 형태 선택도 없습니다. 음악 위에 얹힌 노래에 맞춰 둔 모델이라 겹겹이 쌓인 믹스, 속삭이거나 내지르는 보컬, 비트레이트가 아주 낮은 소스에서는 결과가 나빠지고, 반주만 있는 오디오는 거의 아무것도 돌려주지 않습니다. URL은 오디오 파일로 곧장 이어져야 하며, HTML을 돌려주는 페이지는 잘못된 소재로 실패합니다. 이 엔드포인트는 미디어 결과물을 만들지 않으므로 14일 미디어 보관에 들어가는 것이 없습니다.
API 빠른 시작
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "heartmula/transcribe/speech-to-text",
"input": {
"audio_url": "https://example.com/reference.mp3"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
인증, 전체 스키마, 폴링과 오류 처리는 API 레퍼런스에서 확인하세요.
