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

Modelmodel_idMenerimaMengembalikan
Morphic Dubmdl_h2z5a7af7y50satu video, hingga 10 menitvideonya, sudah di-dubbing dan gerak bibirnya diselaraskan
ElevenLabs Dubbinglihat katalogsatu file audio atau video, hingga 30 menitfile 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

KolomWajib
media_asset_idyavideo 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_languageyasatu 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_languagetidakbahasa yang diucapkan, sebagai tag BCP-47. Hilangkan agar dideteksi; atur saat audionya berisik atau bercampur bahasa
keytermstidaknama, tempat, dan merek yang dipertahankan terjemahan seperti diucapkan, masing-masing hingga 5 kata
voice_modetidakoriginal (default) mempertahankan suara setiap pembicara; assigned menyuarakan setiap orang dengan suara katalog. Hanya Morphic Dub
voicestidaksiapa berbicara dengan suara mana, hingga 20 entri; memerlukan voice_mode: "assigned". Lihat Tetapkan suara
source_transcript_asset_idtidakSRT 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_idtidakSRT 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_idtidakmdl_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_idyaproyek 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.

  1. Ambil daftar suara yang bisa ditetapkan dalam dubbing: list_voices dengan model_id: "mdl_h2z5a7af7y50". Panggilan ini tidak memerlukan cakupan dan mengembalikan voice_id setiap suara. Hanya suara katalog; suara milik organisasi Anda ditolak
  2. Untuk pembicara yang disebutkan dengan gambar wajah atau klip, teruskan id asetnya atau URL HTTPS-nya sebagai speaker_asset_id; jika tidak, deskripsikan di speaker_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
  3. Untuk SRT Anda sendiri, teruskan URL HTTPS-nya atau id dokumen SRT yang sudah ada di pustaka Anda (list_assets menampilkannya) sebagai source_transcript_asset_id (bahasa yang diucapkan) atau translation_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:

  1. Saat mulai, estimasinya ditagihkan: estimated_credits, juga billing.credits_charged
  2. 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
  3. Setelah generasi final, billing.credits_charged adalah jumlah bersih yang sudah diselesaikan dan credits_are_final bernilai true. 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.

Di halaman ini