ai/heartmula/transcribe-lyrics
heartmula/transcribe-lyrics
heartmula/transcribe-lyrics. Jelajahi API model gambar, video, dan tukar wajah. Coba model lalu integrasikan melalui satu API REST terpadu.
Model terkait
Parameter lengkap, skema keluaran, dan harga terkini
| Pasar API model AI | Satu platform untuk semuanya | Paling populer | Ketentuan | Jelajahi API model gambar, video, dan tukar wajah. Coba model lalu integrasikan melalui satu API REST terpadu. |
|---|---|---|---|---|
| audio *Audio | audio_upload | — | audio/* |
Parameter lengkap, skema keluaran, dan harga terkini
| Pelajari lebih lanjut | Satu platform untuk semuanya | Jelajahi API model gambar, video, dan tukar wajah. Coba model lalu integrasikan melalui satu API REST terpadu. |
|---|---|---|
| outputs | array<object> |
API
Jelajahi API model gambar, video, dan tukar wajah. Coba model lalu integrasikan melalui satu API REST terpadu.
cURL
# 1) Submit — returns { "task_uuid": "..." }
curl -X POST "https://www.namifusion.com/api/v1/marketplace/run/heartmula/transcribe-lyrics" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"audio": "https://d5v2vcqcwe9y5.cloudfront.net/algorithm/video_translate/260327/default/qtqfcgymg08o.wav"
}
}'
# 2) Poll until status is "completed", then read the output URLs
curl "https://www.namifusion.com/api/v1/marketplace/run/tasks/TASK_UUID" \
-H "Authorization: Bearer YOUR_API_KEY"Python
import time, requests
API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
# 1) Submit
resp = requests.post(
"https://www.namifusion.com/api/v1/marketplace/run/heartmula/transcribe-lyrics",
headers=HEADERS,
json={
"input": {
"audio": "https://d5v2vcqcwe9y5.cloudfront.net/algorithm/video_translate/260327/default/qtqfcgymg08o.wav"
}
},
)
resp.raise_for_status() # 401/402/429/5xx stop here instead of polling a bad task
task = resp.json()
# 2) Poll until a terminal state (completed / failed / cancelled).
# This model is allowed up to 300s server-side.
deadline = time.time() + 360
while task.get("status") not in ("completed", "failed", "cancelled"):
if time.time() > deadline:
raise TimeoutError(f"still {task.get('status')} — keep the task_uuid and poll later")
time.sleep(3)
poll = requests.get(f"https://www.namifusion.com/api/v1/marketplace/run/tasks/{task['task_uuid']}", headers=HEADERS)
poll.raise_for_status()
task = poll.json()
print(task["status"], task.get("output"))JavaScript
const API_KEY = "YOUR_API_KEY";
const HEADERS = { Authorization: `Bearer ${API_KEY}` };
// 1) Submit
const resp = await fetch("https://www.namifusion.com/api/v1/marketplace/run/heartmula/transcribe-lyrics", {
method: "POST",
headers: { ...HEADERS, "Content-Type": "application/json" },
body: JSON.stringify({
"input": {
"audio": "https://d5v2vcqcwe9y5.cloudfront.net/algorithm/video_translate/260327/default/qtqfcgymg08o.wav"
}
}),
});
if (!resp.ok) throw new Error(`submit failed: ${resp.status} ${await resp.text()}`);
let task = await resp.json();
// 2) Poll until a terminal state (completed / failed / cancelled).
// This model is allowed up to 300s server-side.
const deadline = Date.now() + 360 * 1000;
while (!["completed", "failed", "cancelled"].includes(task.status)) {
if (Date.now() > deadline) throw new Error(`still ${task.status} — keep the task_uuid and poll later`);
await new Promise((r) => setTimeout(r, 3000));
const poll = await fetch(`https://www.namifusion.com/api/v1/marketplace/run/tasks/${task.task_uuid}`, { headers: HEADERS });
if (!poll.ok) throw new Error(`poll failed: ${poll.status}`);
task = await poll.json();
}
console.log(task.status, task.output);Dokumentasi API
ai/heartmula/transcribe-lyrics
Fast, multilingual lyric transcription with no cold starts and affordable per-run pricing.
ai/heartmula/transcribe-lyrics is an AI model designed to extract lyrics from audio files with a focus on speed, reliability, and cost efficiency. It supports multilingual transcription and is well suited for production workflows that require consistent performance and ready-to-use lyric extraction.
🚀 Key Features
- Lyric-focused transcription: Built specifically for extracting sung lyrics from audio, making it a strong fit for music-centric workflows.
- Multilingual support: Handles multilingual audio content for broader catalog coverage and international use cases.
- No cold start: Delivers more consistent responsiveness for real-time and high-volume production environments.
- Simple audio input: Accepts an audio URL, making it easy to plug into existing media pipelines.
- Affordable pricing: Low per-run cost makes it practical for batch processing and large-scale lyric indexing.
🛠️ Technical Specifications
| Item | Details |
|---|---|
| Model architecture | AI lyric transcription model |
| Task type | Audio-to-text(lyric extraction) |
| Input | Audio URL |
| Input format | String(audio) |
| Output | Transcribed lyrics text |
| Language support | Multilingual |
| Latency | Optimized for online inference with no cold starts |
| Deployment profile | Production-ready performance |
Sample Prompts
Note: This model primarily operates on audio input rather than Prompt-based control. The examples below illustrate common task intents.
- Extract the full lyrics from this song audio.
- Transcribe the lyrics from this multilingual music track.
- Identify the sung content in this audio file and return readable lyrics text.
💰 Pricing
| Item | Price |
|---|---|
| Base Price | $0.05 |
💡 Best Use Cases
- Music platforms: Generate lyrics for song catalogs to improve discovery, display, and metadata quality.
- UGC and short-form media: Extract lyrics from music-backed content for subtitles, tagging, or search.
- Media archiving: Convert recorded performances and legacy audio assets into structured lyric text.
- Multilingual content operations: Support lyric transcription across languages for global media workflows.