Dubbing
Dubbing video ke bahasa lain melalui Direct API dengan dub_media di Morphic Dub, minta penawaran harganya lebih dulu, pantau generasinya, dan baca tagihan yang sudah diselesaikan.
dub_media men-dubbing satu rekaman ke bahasa lain dengan suara asli para pembicaranya. Di Morphic Dub (mdl_h2z5a7af7y50), alat ini menerima video berdurasi hingga 10 menit dan mengembalikan video yang sama dengan durasi yang sama, dengan setiap pembicara disuarakan ulang dengan suaranya sendiri dan gerak bibir close-up-nya diselaraskan dengan ucapan baru. Ini adalah generasi yang panjang, hingga sekitar 13 menit per menit video, dan tagihannya berupa estimasi saat mulai yang diselesaikan sesuai yang dibelanjakan proses.
Memilih model
| Model | model_id | Menerima | Mengembalikan |
|---|---|---|---|
| Morphic Dub | mdl_h2z5a7af7y50 | satu video, hingga 10 menit | videonya, sudah di-dubbing dan gerak bibirnya diselaraskan |
| ElevenLabs Dubbing | lihat katalog | satu file audio atau video, hingga 30 menit | file audio, sepanjang sumbernya |
Jika model_id dihilangkan, video dijalankan dengan model dubbing default organisasi Anda, yaitu Morphic Dub di paket berbayar. Sebutkan mdl_h2z5a7af7y50 untuk mengunci modelnya. File audio, atau video yang lebih dari 10 menit, ditolak di Morphic Dub dengan 422 yang menyebutkan batasnya; kirim file tersebut ke ElevenLabs Dubbing.
Input
| Kolom | Wajib | |
|---|---|---|
media_asset_id | ya | video yang akan di-dubbing: id aset dari list_assets, aset dari generasi yang sudah selesai, atau URL HTTPS publik (lihat Meneruskan media Anda sendiri) |
target_language | ya | satu tag BCP-47, seperti hi, es, atau pt-BR. Satu bahasa per panggilan; untuk beberapa pasar, lakukan satu panggilan per bahasa. Morphic Dub men-dubbing varian regional dalam bahasa utamanya dan menyatakannya di notice pada respons |
source_language | tidak | bahasa yang diucapkan, sebagai tag BCP-47. Hilangkan agar dideteksi; atur saat audionya berisik atau bercampur bahasa |
keyterms | tidak | nama, tempat, dan merek yang dipertahankan terjemahan seperti diucapkan, masing-masing hingga 5 kata |
voice_mode | tidak | original (default) mempertahankan suara setiap pembicara; assigned menyuarakan setiap orang dengan suara katalog. Hanya Morphic Dub |
voices | tidak | siapa berbicara dengan suara mana, hingga 20 entri; memerlukan voice_mode: "assigned". Lihat Tetapkan suara |
source_transcript_asset_id | tidak | SRT berwaktu Anda sendiri dari ucapan, dalam bahasa yang diucapkan, dipakai alih-alih mentranskripsikan; di Morphic Dub memerlukan voice_mode: "assigned", di ElevenLabs Dubbing memerlukan source_language |
translation_asset_id | tidak | SRT berwaktu Anda sendiri dari baris-baris dalam bahasa tujuan, dipakai alih-alih menerjemahkan; di Morphic Dub memerlukan voice_mode: "assigned", di ElevenLabs Dubbing hanya bisa menyertai source_transcript_asset_id |
model_id | tidak | mdl_h2z5a7af7y50 untuk Morphic Dub. Panggilan yang membawa voice_mode: "assigned", voices, atau salah satu SRT tanpa menyebut model dijalankan di Morphic Dub; menyebut model lain bersama kolom-kolom itu ditolak |
project_id | ya | proyek tempat hasil dubbing disimpan, dari list_projects |
Video tanpa stream audio, atau target_language yang sama dengan source_language yang Anda atur, ditolak sebelum ada yang ditagihkan.
Tetapkan suara, bawa transkrip atau terjemahan Anda sendiri
Secara default setiap pembicara mempertahankan suaranya sendiri dan Morphic mentranskripsikan serta menerjemahkan ucapannya. Dengan voice_mode: "assigned", setiap orang justru berbicara dengan suara dari katalog suara Morphic, dan Anda bisa menyerahkan teks Anda sendiri. Di Morphic Dub, transkrip atau terjemahan Anda sendiri memerlukan assigned: suara asli di-dubbing dalam satu proses yang tidak menerima pemeran maupun teks, dan panggilan yang mengirim salah satunya dengan original ditolak dengan 422 yang menyebutkan kolomnya.
- Ambil daftar suara yang bisa ditetapkan dalam dubbing:
list_voicesdenganmodel_id: "mdl_h2z5a7af7y50". Panggilan ini tidak memerlukan cakupan dan mengembalikanvoice_idsetiap suara. Hanya suara katalog; suara milik organisasi Anda ditolak - Untuk pembicara yang disebutkan dengan gambar wajah atau klip, teruskan id asetnya atau URL HTTPS-nya sebagai
speaker_asset_id; jika tidak, deskripsikan dispeaker_description(hingga 120 karakter, tanpa;,=, atau"). Tepat satu dari keduanya per entri, dan setiap pembicara sekali; pembicara yang Anda lewatkan mendapat suara katalog yang cocok - Untuk SRT Anda sendiri, teruskan URL HTTPS-nya atau id dokumen SRT yang sudah ada di pustaka Anda (
list_assetsmenampilkannya) sebagaisource_transcript_asset_id(bahasa yang diucapkan) atautranslation_asset_id(bahasa tujuan); URL ditambahkan ke proyek sebagai dokumen sebelum dubbing dimulai, seperti file lewat URL lainnya. Kedua kolom itu menerima dua file yang berbeda
{
"input": {
"media_asset_id": "01928f4e-…",
"target_language": "es",
"voice_mode": "assigned",
"voices": [
{ "speaker_asset_id": "https://cdn.example.com/host-face.jpg", "voice_id": "0192b1c0-…" },
{ "speaker_description": "the narrator", "voice_id": "0192b1c1-…" }
],
"source_transcript_asset_id": "https://cdn.example.com/interview.en.srt",
"translation_asset_id": "https://cdn.example.com/interview.es.srt",
"model_id": "mdl_h2z5a7af7y50",
"project_id": "01928f4e-…"
}
}Kedua mode suara dikenai tarif yang sama.
Melalui MCP, kedua kolom SRT itu juga berfungsi di ElevenLabs Dubbing, dengan model_name: "ElevenLabs Dubbing" dan tanpa suara: setiap pembicara mempertahankan suaranya sendiri, source_language wajib diisi, karena mesinnya tidak bisa mendeteksi bahasa dari transkrip, dan translation_asset_id hanya bisa menyertai source_transcript_asset_id, dengan satu cue terjemahan di atas setiap cue transkrip. Saat sebagian besar cue diawali label pembicara, misalnya Mira: …, label itulah yang menentukan siapa berbicara kapan, satu suara per pembicara. ElevenLabs Dubbing tidak memiliki model_id, jadi melalui Direct API dubbing dengan teks Anda sendiri berjalan di Morphic Dub.
Minta penawaran harga lebih dulu
Dubbing dihargai berdasarkan panjang sumber, per bahasa. plan_media menghitung harga panggilan tanpa memulainya; di Morphic Dub, penawaran harga itu adalah estimasi yang akan ditagihkan saat mulai, yang nantinya bisa bergeser saat penyelesaian.
{
"input": {
"steps": [
{ "id": "dub", "tool_name": "dub_media", "arguments_json": "{\"media_asset_id\":\"01928f4e-…\",\"target_language\":\"hi\",\"model_id\":\"mdl_h2z5a7af7y50\"}" }
]
}
}Lihat Minta penawaran harga sebelum membelanjakan untuk panggilan lengkapnya.
Memulai dubbing
curl -s https://mcp.morphic.com/v1/direct/tools/dub_media \
-H "Authorization: Bearer $MORPHIC_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: dub-interview-hi-1" \
-d '{
"input": {
"media_asset_id": "https://cdn.example.com/interview.mp4",
"target_language": "hi",
"keyterms": ["Arjun", "Meera"],
"model_id": "mdl_h2z5a7af7y50",
"project_id": "01928f4e-…"
}
}'Responsnya adalah 202 Accepted:
{
"result": {
"generation_id": "0192a7b3-a1c4-7e02-8f9d-1a2b3c4d5e6f",
"status": "queued",
"model_id": "mdl_h2z5a7af7y50",
"estimated_credits": 580,
"credits_settle_on_output_duration": true
},
"billing": { "credits_charged": 580, "credits_are_final": false }
}estimated_credits adalah estimasi yang ditagihkan sekarang; credits_settle_on_output_duration: true menyatakan bahwa jumlah itu akan diselesaikan.
Memantau generasi
Dubbing di Morphic Dub memakan waktu hingga sekitar 13 menit per menit video, dan klip pendek memakan waktu lebih lama dari yang disiratkan rasio itu, karena tahap-tahap tetapnya berbiaya sama berapa pun panjangnya: klip 50 detik memakan waktu 17 menit. Jangan melakukan polling sejak awal. Tunggu sekitar 13 kali panjang klip, lalu baca dengan waktu tunggu yang panjang dan perlambat sesuai poll_after_seconds yang dibawa setiap pembacaan.
sleep 660 # a 50 s clip: about 13 times its length
curl -s "https://mcp.morphic.com/v1/direct/generations/$GENERATION_ID?wait=45" \
-H "Authorization: Bearer $MORPHIC_API_KEY"Webhook membebaskan Anda dari loop itu: teruskan webhook_id yang sudah terdaftar di body panggilan dan Morphic memanggil endpoint Anda saat dubbing sudah final. Gunakan webhook sebagai sinyal utama dan polling sesekali sebagai jaring pengaman.
Saat generasi berstatus succeeded, assets-nya berisi video hasil dubbing. notice pada respons diisi saat dubbing dijalankan dengan input yang berbeda dari yang diberikan, misalnya varian regional yang di-dubbing dalam bahasa utamanya.
Biayanya
Morphic Dub ditagih berdasarkan panjang sumber dengan tarif API organisasi Anda, per bahasa:
- Saat mulai, estimasinya ditagihkan:
estimated_credits, jugabilling.credits_charged - Saat dubbing selesai, tagihannya diselesaikan sesuai yang benar-benar dibelanjakan proses. Jumlah yang diselesaikan bisa lebih rendah atau lebih tinggi dari estimasi, tetapi tidak pernah lebih dari tiga kali lipatnya; selebihnya ditanggung Morphic
- Setelah generasi final,
billing.credits_chargedadalah jumlah bersih yang sudah diselesaikan dancredits_are_finalbernilaitrue. Dubbing yang gagal atau dibatalkan dikembalikan kreditnya secara penuh
Baca generasinya lagi setelah final untuk mengetahui jumlah yang sudah diselesaikan; webhook hanya dikirim setelah generasi final. Lihat Kredit dan pemakaian untuk buku besarnya.
Jika Anda mengalami kendala atau memiliki pertanyaan, jangan ragu untuk menghubungi kami. Kami dengan senang hati akan membantu. Tulis kepada kami di support@morphic.com.