Heygen AI adalah platform canggih yang memungkinkan pengguna membuat video avatar yang dihasilkan AI secara realistis secara terprogram. Tutorial komprehensif ini akan memandu Anda melalui proses integrasi dan pemanfaatan API Heygen untuk berbagai kasus penggunaan, mulai dari video avatar sederhana hingga pembuatan konten berbasis templat yang kompleks. Setiap bagian memberikan instruksi langkah demi langkah yang terperinci untuk membantu Anda menguasai kemampuan Heygen.

Dengan antarmuka yang intuitif, fitur kolaboratif, dan kemampuan otomatisasi yang kuat, Apidog secara signifikan mengurangi waktu pengembangan sekaligus meningkatkan kualitas API.

Baik Anda sedang membangun arsitektur layanan mikro yang kompleks atau berintegrasi dengan API pihak ketiga seperti Heygen, server mock Apidog, variabel lingkungan, dan opsi pengujian yang ekstensif menjadikannya pilihan utama bagi pengembang yang menuntut efisiensi dan keandalan. Coba Apidog hari ini dan rasakan evolusi berikutnya dalam alat pengembangan API.

Pengantar Heygen API
Heygen API memungkinkan pengembang untuk membuat video avatar bertenaga AI secara terprogram dan mengintegrasikan kemampuan Heygen ke dalam aplikasi mereka. API ini menawarkan berbagai fitur, termasuk pembuatan video, terjemahan, dan pembuatan konten berbasis templat. Dengan mengikuti tutorial ini, Anda akan mempelajari cara memanfaatkan kemampuan ini untuk membuat konten yang menarik untuk pemasaran, pendidikan, layanan pelanggan, dan lainnya.
Fungsi inti API berkisar pada pembuatan video dengan avatar AI realistis yang dapat mengucapkan teks apa pun yang Anda berikan atau disinkronkan dengan file audio. Selain itu, Anda dapat menyesuaikan latar belakang, menerjemahkan video ke berbagai bahasa, dan bekerja dengan templat untuk produksi yang lebih kompleks.
Lebih dari sekadar membuat video dasar, Heygen API memungkinkan Anda membangun aplikasi canggih yang secara otomatis dapat menghasilkan konten yang dipersonalisasi untuk pengguna Anda, membuat pengalaman interaktif, atau bahkan menerjemahkan video yang ada ke berbagai bahasa. Hal ini menjadikannya sangat berharga bagi bisnis global, pembuat konten, pendidik, dan pengembang yang ingin memasukkan video yang dihasilkan AI ke dalam produk mereka.
Memulai dengan Heygen API
Membuat Akun untuk Heygen API
Ikuti langkah-langkah berikut untuk membuat akun Heygen Anda:
- Kunjungi situs web resmi Heygen di situs web Heygen.
- Klik tombol "Daftar" atau "Mulai" di sudut kanan atas
- Pilih metode pendaftaran pilihan Anda (email, Google, dll.)
- Lengkapi formulir pendaftaran dengan detail Anda
- Setujui persyaratan dan kebijakan privasi
- Verifikasi alamat email Anda jika diperlukan
- Masuk ke akun baru Anda
Setelah pendaftaran, Anda akan memiliki akses ke antarmuka web dan kemampuan API Heygen. Pengguna baru biasanya menerima uji coba gratis dengan fitur terbatas. Uji coba gratis mencakup video dengan watermark dan kuota penggunaan terbatas, tetapi cukup untuk menguji fungsionalitas API sebelum berkomitmen pada paket berbayar.
Selama proses pendaftaran, Heygen mungkin bertanya tentang kasus penggunaan yang Anda inginkan. Memberikan informasi ini dapat membantu Heygen menyesuaikan rekomendasi untuk kebutuhan spesifik Anda, meskipun tidak sepenuhnya diperlukan untuk akses API.
Mendapatkan Kunci API Anda
Untuk mengakses API, ikuti langkah-langkah terperinci berikut untuk mendapatkan kunci API Anda:
- Masuk ke akun Heygen Anda
- Klik gambar profil atau avatar Anda di sudut kanan atas
- Pilih "Pengaturan" dari menu tarik-turun
- Buka tab "Langganan"
- Gulir ke bawah ke bagian "HeyGen API"
- Klik "Tampilkan" di sebelah "Token API"
- Otentikasi jika diminta
- Salin token API Anda untuk digunakan dalam permintaan Anda
Jaga keamanan token ini, karena memberikan akses penuh ke API di bawah akun Anda. Jangan pernah mengungkapkannya dalam kode sisi klien atau repositori publik. Jika Anda menduga kunci API Anda telah disusupi, Anda dapat membuat yang baru dari halaman pengaturan yang sama.
Kunci API Anda akan digunakan di semua permintaan Anda ke Heygen API. Biasanya, Anda akan menyertakannya di header X-Api-Key
dari permintaan HTTP Anda. Contohnya:
X-Api-Key: your-api-key-here
Tingkat langganan yang berbeda menawarkan batasan penggunaan API yang berbeda. Uji Coba Gratis menyediakan akses dasar dengan video dengan watermark, sementara paket berbayar (Pro, Skala, dan Enterprise) menawarkan peningkatan batasan penggunaan, fitur, dan opsi kualitas. Periksa halaman harga Heygen untuk informasi terbaru tentang fitur dan batasan paket.
Pembuatan Video Avatar Dasar dengan Heygen API
Mencantumkan Avatar yang Tersedia dengan Heygen API
Untuk mulai membuat video, pertama-tama Anda perlu mengetahui avatar mana yang tersedia. Ikuti langkah-langkah berikut:
- Buka terminal atau klien API Anda
- Buat permintaan berikut:
curl --request GET \\\\
--url <https://api.heygen.com/v2/avatars> \\\\
--header 'Accept: application/json' \\\\
--header 'X-Api-Key: <your-api-key>'
- Tinjau responsnya, yang akan terlihat seperti:
{
"error": null,
"data": {
"avatars": [
{
"avatar_id": "Angela-inblackskirt-20220820",
"avatar_name": "Angela in Black Dress",
"gender": "female",
"preview_image_url": "<preview_image_url>",
"preview_video_url": "<preview_video_url>"
},
// More avatars...
]
}
}
- Pilih avatar dan catat
avatar_id
-nya untuk digunakan nanti
Setiap avatar memiliki penampilan dan gaya yang berbeda. Beberapa avatar dirancang untuk konteks tertentu seperti presentasi bisnis, percakapan santai, atau konten pendidikan. Pratinjau avatar menggunakan URL yang disediakan untuk menemukan yang sesuai dengan kasus penggunaan yang Anda inginkan.
Jika Anda menggunakan Python, Anda dapat menggunakan cuplikan kode ini sebagai gantinya:
import requests
headers = {
'Accept': 'application/json',
'X-Api-Key': 'your-api-key'
}
response = requests.get('<https://api.heygen.com/v2/avatars>', headers=headers)
avatars = response.json()['data']['avatars']
# Print all available avatars
for avatar in avatars:
print(f"ID: {avatar['avatar_id']}, Name: {avatar['avatar_name']}")
Avatar memiliki gaya yang berbeda yang tersedia, seperti "normal" atau "kasual." Gaya default adalah "normal," tetapi Anda dapat menentukan yang lain saat membuat video jika avatar mendukung beberapa gaya.
Mencantumkan Suara yang Tersedia dengan Heygen API
Selanjutnya, Anda perlu memilih suara untuk avatar Anda. Ikuti langkah-langkah berikut:
- Buat permintaan API berikut:
curl --request GET \\\\
--url <https://api.heygen.com/v2/voices> \\\\
--header 'Accept: application/json' \\\\
--header 'X-Api-Key: <your-api-key>'
- Tinjau respons untuk menemukan suara yang tersedia:
{
"error": null,
"data": {
"voices": [
{
"voice_id": "26b2064088674c80b1e5fc5ab1a068ec",
"language": "English",
"gender": "male",
"name": "Rex",
"preview_audio": "<https://resource.heygen.ai/text_to_speech/bCo7SFtTvcJz6udLqHmUKf.mp3>",
"support_pause": false,
"emotion_support": true,
"support_interactive_avatar": true
},
// More voices...
]
}
}
- Pilih suara dan catat
voice_id
-nya untuk digunakan nanti
Suara hadir dalam berbagai bahasa, aksen, dan jenis kelamin. Dengarkan pratinjau audio untuk menemukan suara yang sesuai dengan nada dan gaya proyek Anda. Beberapa suara mendukung fitur tambahan seperti infleksi emosional atau jeda, yang dapat berguna untuk presentasi yang lebih dinamis.
Perhatikan properti support_interactive_avatar
jika Anda berencana untuk menggunakan avatar interaktif nanti, karena tidak semua suara mendukung fitur ini.
Setara Python:
response = requests.get('<https://api.heygen.com/v2/voices>', headers=headers)
voices = response.json()['data']['voices']
# Print all available voices
for voice in voices:
print(f"ID: {voice['voice_id']}, Name: {voice['name']}, Language: {voice['language']}")
# Filter for English voices only
english_voices = [v for v in voices if v['language'] == 'English']
print(f"Found {len(english_voices)} English voices")
Menghasilkan Video Avatar Sederhana dengan Heygen API
Sekarang setelah Anda memilih avatar dan suara, ikuti langkah-langkah berikut untuk membuat video:
- Siapkan payload permintaan Anda dengan avatar dan suara yang dipilih:
{
"video_inputs": [
{
"character": {
"type": "avatar",
"avatar_id": "Angela-inTshirt-20220820",
"avatar_style": "normal"
},
"voice": {
"type": "text",
"input_text": "Welcome to the HeyGen API! This is a demonstration of how easy it is to create engaging avatar videos programmatically.",
"voice_id": "1bd001e7e50f421d891986aad5158bc8",
"speed": 1.1
},
"background": {
"type": "color",
"value": "#87CEEB"
}
}
],
"dimension": {
"width": 1280,
"height": 720
}
}
- Kirim permintaan untuk menghasilkan video:
curl -X POST <https://api.heygen.com/v2/video/generate> \\\\
-H 'X-Api-Key: <your-api-key>' \\\\
-H 'Content-Type: application/json' \\\\
-d '<your-prepared-json>'
- Simpan
video_id
dari respons:
{
"error": null,
"data": {
"video_id": "abcdef123456"
}
}
Mari kita uraikan parameter permintaan:
video_inputs
: Array konfigurasi adegancharacter
: Menentukan avatar yang akan digunakantype
: "avatar" untuk avatar Heygen standaravatar_id
: ID avatar pilihan Andaavatar_style
: Gaya visual avatar (mis., "normal", "kasual")voice
: Konfigurasi untuk ucapantype
: "text" untuk konversi teks ke ucapaninput_text
: Skrip yang akan diucapkan avatarvoice_id
: ID suara pilihan Andaspeed
: Kecepatan berbicara (1.0 normal, lebih tinggi lebih cepat)background
: Konfigurasi latar belakangtype
: "color" untuk latar belakang warna solidvalue
: Kode warna hexdimension
: Dimensi video keluaranwidth
: Lebar video dalam pikselheight
: Tinggi video dalam piksel
Anda dapat menyesuaikan parameter ini untuk menyesuaikan video Anda. Misalnya, mengubah nilai speed
memengaruhi seberapa cepat avatar berbicara, sementara dimension
mengontrol resolusi video.
Implementasi Python:
import json
import requests
payload = {
"video_inputs": [
{
"character": {
"type": "avatar",
"avatar_id": "Angela-inTshirt-20220820",
"avatar_style": "normal"
},
"voice": {
"type": "text",
"input_text": "Welcome to the HeyGen API! This is a demonstration of how easy it is to create engaging avatar videos programmatically.",
"voice_id": "1bd001e7e50f421d891986aad5158bc8",
"speed": 1.1
},
"background": {
"type": "color",
"value": "#87CEEB"
}
}
],
"dimension": {
"width": 1280,
"height": 720
}
}
response = requests.post(
'<https://api.heygen.com/v2/video/generate>',
headers={
'X-Api-Key': 'your-api-key',
'Content-Type': 'application/json'
},
data=json.dumps(payload)
)
video_id = response.json()['data']['video_id']
print(f"Video generation initiated! Video ID: {video_id}")
Memeriksa Status Pembuatan Video dengan Heygen API
Setelah memulai pembuatan video, ikuti langkah-langkah berikut untuk memeriksa statusnya:
- Gunakan
video_id
dari langkah sebelumnya untuk membuat permintaan pemeriksaan status:
curl --request GET \\\\
--url <https://api.heygen.com/v1/video_status.get?video_id=><video_id> \\\\
--header 'Accept: application/json' \\\\
--header 'X-Api-Key: <your-api-key>'
- Pantau status dalam respons:
{
"code": 100,
"data": {
"id": "<id>",
"status": "processing",
"thumbnail_url": null,
"video_url": null,
"caption_url": null,
"gif_url": null,
"error": null,
"duration": null,
"callback_id": null,
"video_url_caption": null
},
"message": "Success"
}
- Ulangi pemeriksaan hingga status berubah menjadi "completed" atau "failed"
Pembuatan video biasanya membutuhkan waktu antara 30 detik dan beberapa menit, tergantung pada:
- Panjang teks input
- Beban server
- Kompleksitas video
- Tingkat langganan Anda
Nilai status yang mungkin Anda temui:
pending
: Permintaan Anda telah diterima tetapi pemrosesan belum dimulaiprocessing
: Video Anda sedang dibuatcompleted
: Video Anda siap diunduhfailed
: Terjadi kesalahan saat membuat video Anda
Ketika video gagal, respons akan menyertakan pesan kesalahan yang menjelaskan masalah tersebut:
{
"code": 100,
"data": {
"id": "<id>",
"status": "failed",
"error": {
"code": 40119,
"message": "Video is too long",
"detail": "Video is too long (> 3600.0s). Please upgrade your plan to generate longer videos"
},
"thumbnail_url": null,
"video_url": null,
"caption_url": null,
"gif_url": null,
"duration": null,
"callback_id": null,
"video_url_caption": null
},
"message": "Success"
}
Implementasi Python dengan polling:
import time
import requests
def check_video_status(video_id, api_key):
headers = {
'Accept': 'application/json',
'X-Api-Key': api_key
}
max_attempts = 30 # Avoid infinite loops
attempt = 0
while attempt < max_attempts:
response = requests.get(
f'<https://api.heygen.com/v1/video_status.get?video_id={video_id}>',
headers=headers
)
data = response.json()['data']
status = data['status']
if status == 'completed':
print("Video generation complete!")
return {
'video_url': data['video_url'],
'thumbnail_url': data['thumbnail_url'],
'duration': data['duration']
}
elif status == 'failed':
error = data['error']
print(f"Video generation failed: {error}")
return None
else:
print(f"Video status: {status}. Checking again in 5 seconds...")
attempt += 1
time.sleep(5)
print("Maximum attempts reached. Video still not ready.")
return None
# Usage
result = check_video_status("abcdef123456", "your-api-key")
if result:
print(f"Video URL: {result['video_url']}")
print(f"Duration: {result['duration']} seconds")
Mengunduh Video yang Dihasilkan dengan Heygen API
Setelah status video "completed", ikuti langkah-langkah berikut untuk mengunduh video Anda:
- Ekstrak
video_url
dari respons status - Unduh video menggunakan URL:
curl <video_url> --output my_avatar_video.mp4
- Verifikasi file yang diunduh berfungsi dengan benar
Implementasi Python:
import requests
def download_video(video_url, output_filename="my_avatar_video.mp4"):
response = requests.get(video_url)
if response.status_code == 200:
with open(output_filename, 'wb') as file:
file.write(response.content)
print(f"Video downloaded successfully to {output_filename}")
print(f"File size: {len(response.content) / (1024 * 1024):.2f} MB")
return True
else:
print(f"Failed to download video. Status code: {response.status_code}")
return False
# Usage
success = download_video("<https://storage.googleapis.com/heygen-videos/>...")
Catatan Penting: URL video kedaluwarsa setelah 7 hari. Pastikan untuk mengunduh video Anda sebelum kedaluwarsa atau menerapkan sistem untuk membuat ulang atau mengambil ulang URL video sesuai kebutuhan.
Untuk sistem produksi, pertimbangkan:
- Menyiapkan pekerjaan terjadwal untuk mengunduh video segera setelah pembuatan
- Menyimpan video di penyimpanan cloud Anda sendiri untuk akses jangka panjang
- Menerapkan database untuk melacak ID video, tanggal pembuatan, dan tanggal kedaluwarsa
Heygen API: Bekerja dengan Templat
Templat menawarkan lebih banyak fleksibilitas daripada video avatar sederhana, memungkinkan Anda untuk menyesuaikan teks, gambar, video, audio, dan avatar dalam tata letak yang telah dirancang sebelumnya.
Heygen API Templat vs. Video Avatar Sederhana
Berikut adalah perbandingan perbedaan utama:
Video Avatar:
- Fokus hanya pada avatar yang berbicara
- Terbatas pada satu adegan dengan satu avatar
- Opsi latar belakang sederhana
- Terbaik untuk video talking-head langsung
- Dibuat sepenuhnya melalui panggilan API
Video Templat:
- Beberapa adegan dengan berbagai elemen
- Placeholder yang dapat disesuaikan untuk teks, gambar, video, avatar, dan audio
- Transisi dan animasi yang kompleks
- Dukungan untuk beberapa avatar dalam satu video
- Templat dibuat melalui antarmuka web Heygen
- API digunakan untuk menghasilkan video berdasarkan templat
Templat sangat berguna untuk membuat rangkaian video yang konsisten atau menghasilkan video yang dipersonalisasi dalam skala besar. Misalnya, Anda dapat membuat templat untuk demonstrasi produk dan kemudian menghasilkan versi khusus untuk produk yang berbeda hanya dengan mengubah teks, gambar, dan detail produk yang relevan.
Heygen API Membuat Templat dengan Placeholder
Templat dibuat melalui antarmuka web Heygen:
- Masuk ke akun Heygen Anda
- Buka bagian Templat
- Klik "Buat Templat"
- Gunakan editor untuk mendesain templat Anda dengan komponen-komponen ini:
- Elemen teks: Tambahkan teks yang dapat disesuaikan nanti
- Adegan avatar: Tambahkan avatar yang akan mengucapkan konten yang dapat disesuaikan
- Placeholder gambar: Tambahkan ruang untuk gambar khusus
- Placeholder video: Tambahkan ruang untuk klip video khusus
- Elemen audio: Tambahkan musik latar atau efek suara
- Untuk setiap elemen yang ingin Anda buat dapat disesuaikan, tentukan placeholder menggunakan kurung kurawal ganda:
- Contoh teks:
{{product_name}}
- Contoh skrip avatar:
{{product_description}}
- Placeholder gambar: Pilih gambar dan tandai sebagai variabel
- Atur elemen sesuai keinginan dan pratinjau templat
- Simpan templat Anda dengan nama deskriptif
Misalnya, jika membuat templat pengumuman produk, Anda dapat menyertakan:
- Teks pembuka dengan
{{company_name}}
dan{{product_name}}
- Avatar yang mengatakan "Kami sangat senang memperkenalkan {{product_name}}, yang menawarkan {{key_benefit}}"
- Placeholder gambar untuk
{{product_image}}
- Musik latar yang dapat diganti
Placeholder dapat berupa berbagai jenis:
- Teks: Untuk mengganti teks tertulis atau skrip avatar
- Gambar: Untuk mengganti elemen gambar
- Video: Untuk mengganti klip video
- Avatar: Untuk mengubah avatar mana yang muncul
- Suara: Untuk mengubah suara yang digunakan oleh avatar
- Audio: Untuk mengganti musik latar atau efek suara
Mencantumkan Templat Anda dengan Heygen API
Untuk mengambil semua templat yang telah Anda buat:
curl --location '<https://api.heygen.com/v2/templates>' \\\\
--header 'accept: application/json' \\\\
--header 'x-api-key: <your-api-key>'
Ini mengembalikan informasi tentang semua templat Anda, termasuk ID dan URL thumbnail-nya:
{
"error": null,
"data": {
"templates": [
{
"template_id": "abcdef123456",
"title": "Product Announcement",
"thumbnail_url": "<https://storage.googleapis.com/heygen-templates/thumbnails/>...",
"created_at": "2023-09-15T14:25:30Z"
},
{
"template_id": "ghijkl789012",
"title": "Weekly Update",
"thumbnail_url": "<https://storage.googleapis.com/heygen-templates/thumbnails/>...",
"created_at": "2023-09-18T09:12:45Z"
}
]
}
}
Implementasi Python:
import requests
headers = {
'accept': 'application/json',
'x-api-key': 'your-api-key'
}
response = requests.get('<https://api.heygen.com/v2/templates>', headers=headers)
templates = response.json()['data']['templates']
print(f"Found {len(templates)} templates:")
for template in templates:
print(f"ID: {template['template_id']}, Title: {template['title']}, Created: {template['created_at']}")
Mengambil Elemen Templat dengan Heygen API
Untuk melihat variabel yang tersedia dalam templat tertentu:
curl --location '<https://api.heygen.com/v2/template/><template_id>' \\\\
--header 'accept: application/json' \\\\
--header 'x-api-key: <your-api-key>'
Ini menunjukkan semua elemen yang dapat disesuaikan dalam templat Anda:
{
"error": null,
"data": {
"template_id": "abcdef123456",
"title": "Product Announcement",
"variables": {
"company_name": {
"name": "company_name",
"type": "text",
"properties": {
"default_content": "Company Name"
}
},
"product_name": {
"name": "product_name",
"type": "text",
"properties": {
"default_content": "Product Name"
}
},
"key_benefit": {
"name": "key_benefit",
"type": "text",
"properties": {
"default_content": "amazing benefits to users"
}
},
"product_image": {
"name": "product_image",
"type": "image",
"properties": {
"default_url": "<https://example.com/default-image.jpg>"
}
}
}
}
}
Memahami struktur variabel templat Anda sangat penting untuk menghasilkan video dengan benar. Perhatikan jenis setiap variabel (teks, gambar, video, dll.) dan nilai default apa pun yang disediakan.
Implementasi Python:
def get_template_details(template_id, api_key):
headers = {
'accept': 'application/json',
'x-api-key': api_key
}
response = requests.get(
f'<https://api.heygen.com/v2/template/{template_id}>',
headers=headers
)
if response.status_code == 200:
template = response.json()['data']
variables = template['variables']
print(f"Template: {template['title']} (ID: {template['template_id']})")
print("\\\\nVariables:")
for var_name, var_details in variables.items():
var_type = var_details['type']
print(f"- {var_name} ({var_type})")
if var_type == 'text' and 'default_content' in var_details['properties']:
print(f" Default: \\\\"{var_details['properties']['default_content']}\\\\"")
elif var_type == 'image' and 'default_url' in var_details['properties']:
print(f" Default image: {var_details['properties']['default_url']}")
return variables
else:
print(f"Failed to get template details. Status code: {response.status_code}")
return None
# Usage
template_variables = get_template_details("abcdef123456", "your-api-key")
Menghasilkan Video dari Templat dengan Heygen API
Untuk membuat video menggunakan templat Anda:
curl --location '<https://api.heygen.com/v2/template/><template_id>/generate' \\\\
--header 'X-Api-Key: <your-api-key>' \\\\
--header 'Content-Type: application/json' \\\\
--data '{
"caption": false,
"title": "Personalized Welcome",
"variables": {
"company_name": {
"name": "company_name",
"type": "text",
"properties": {
"content": "Acme Corporation"
}
},
"product_name": {
"name": "product_name",
"type": "text",
"properties": {
"content": "Super Widget Pro"
}
},
"key_benefit": {
"name": "key_benefit",
"type": "text",
"properties": {
"content": "30% faster productivity and seamless integration"
}
},
"product_image": {
"name": "product_image",
"type": "image",
"properties": {
"url": "<https://example.com/product-image.jpg>"
}
}
}
}'
Ini mengembalikan video_id
yang dapat Anda gunakan untuk memeriksa status dan mengunduh video seperti pada Langkah 2.4 dan 2.5.
{
"error": null,
"data": {
"video_id": "mnopqr345678"
}
}
Menangani Variabel Templat dengan Heygen API
Jenis variabel yang berbeda memerlukan struktur properti yang berbeda:
Variabel Teks:
"variable_name": {
"name": "variable_name",
"type": "text",
"properties": {
"content": "Your custom text here"
}
}
Variabel Gambar:
"variable_name": {
"name": "variable_name",
"type": "image",
"properties": {
"url": "<https://example.com/your-image.jpg>"
}
}