Animasi Karakter Hedra

Animasi karakter dengan sinkronisasi audio yang sempurna. Hidupkan potret dengan ekspresi dan gerakan alami.

✓ Animasi karakter

✓ Sinkronisasi audio

✓ Potret

✓ Kontrol ekspresi

Autentikasi

Untuk mengakses Hedra melalui API Doitong, gunakan kunci API Doitong Anda. Sertakan kunci tersebut dalam mutasi GraphQL atau header REST API.

Penting: Jaga keamanan kunci API Doitong Anda dan jangan pernah mengeksposnya dalam kode sisi klien (client-side). Selalu lakukan panggilan API dari server backend Anda.
// GraphQL Header
{
  "Authorization": "Bearer YOUR_API_KEY"
}

// REST Header
"X-API-Key": "YOUR_API_KEY"

Memulai Cepat

Mulai gunakan Hedra Lip Sync API hanya dalam beberapa menit. Ikuti langkah-langkah sederhana ini untuk membuat avatar pertama Anda.

Langkah 1: Dapatkan Kunci API Anda

Daftar akun Doitong dan buka dasbor Anda untuk membuat kunci API.

Langkah 2: Buat Permintaan Pertama Anda

Gunakan salah satu contoh kode di bawah ini untuk melakukan panggilan API pertama Anda.

curl -X POST https://api.doitong.com/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "query": "mutation Generate($input: GenerateInput!) { generate(input: $input) { id status type provider url metadata creditCost } }",
    "variables": {
      "input": {
        "type": "AVATAR",
        "provider": "hedra",
        "input": {
          "text": "Hello, welcome to our platform!",
          "avatarId": "professional-1"
        },
        "options": {
          "voice": "en-US-neural"
        }
      }
    }
  }'
const response = await fetch('https://api.doitong.com/graphql', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY'
  },
  body: JSON.stringify({
    query: `
      mutation GenerateAvatar($input: AvatarGenerationInput!) {
        generateAvatar(input: $input) {
          id
          status
          videoUrl
        }
      }
    `,
    variables: {
      input: {
        service: 'hedra',
        text: 'Hello, welcome to our platform!',
        avatarId: 'professional-1',
        voice: 'en-US-neural'
      }
    }
  })
});

const data = await response.json();
console.log('Avatar Video:', data.data.generateAvatar);
import requests
import json

url = "https://api.doitong.com/graphql"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
}

query = """
mutation Generate($input: GenerateInput!) {
  generate(input: $input) {
    id
    status
    type
    provider
    url
    metadata
    creditCost
  }
}
"""

variables = {
    "input": {
        "type": "AVATAR",
        "provider": "hedra",
        "input": {
            "text": "Hello, welcome to our platform!",
            "avatarId": "professional-1"
        },
        "options": {
            "voice": "en-US-neural"
        }
    }
}

response = requests.post(url, json={
    "query": query,
    "variables": variables
}, headers=headers)

data = response.json()
print("Result:", data["data"]["generate"])
mutation Generate($input: GenerateInput!) {
  generate(input: $input) {
    id
    status
    type
    provider
    url
    metadata
    creditCost
    createdAt
  }
}

# Variables
{
  "input": {
    "type": "AVATAR",
    "provider": "hedra",
    "input": {
      "text": "Hello, welcome to our platform!",
      "avatarId": "professional-1"
    },
    "options": {
      "voice": "en-US-neural",
      "language": "en",
      "version": "hedra-1.0"
    }
  }
}

Harga

Hedra Lip Sync API menggunakan model harga berbasis kredit. Kredit digunakan berdasarkan kompleksitas dan durasi konten yang dihasilkan.

Fitur Kredit Deskripsi
Video Pendek 50-100 Kredit Hingga 30 detik
Video Panjang 200-500 Kredit 30 detik hingga 2 menit

Endpoint API

Hedra Lip Sync API tersedia melalui endpoint GraphQL terpadu kami.

Endpoint GraphQL

POST https://api.doitong.com/graphql

Endpoint REST

POST https://api.doitong.com/v1/avatar

Parameter

Parameter yang tersedia untuk permintaan Hedra Lip Sync API:

Parameter Tipe Wajib Deskripsi
service String Yes Pengidentifikasi layanan: "hedra"
version String No Model version: "hedra-1.0"
webhookUrl String No URL untuk menerima notifikasi penyelesaian

Format Respons

Semua respons API mengikuti format yang konsisten:

Respons Berhasil

{
  "data": {
    "avatar": {
      "id": "abc123xyz",
      "status": "processing",
      "url": null,
      "webhookUrl": "https://your-webhook.com/callback",
      "createdAt": "2024-01-01T00:00:00Z"
    }
  }
}

Respons Selesai

{
  "data": {
    "avatar": {
      "id": "abc123xyz",
      "status": "completed",
      "url": "https://cdn.doitong.com/outputs/abc123xyz.mp3",
      "duration": null,
      "createdAt": "2024-01-01T00:00:00Z"
    }
  }
}

Penanganan Error

API menggunakan kode status HTTP standar dan mengembalikan pesan error yang mendetail.

Kode Error Umum

Kode Status Tipe Error Deskripsi
400 Bad Request Invalid parameters or malformed request
401 Unauthorized Missing or invalid API key
402 Payment Required Insufficient credits
429 Too Many Requests Rate limit exceeded
500 Internal Server Error Server error, please retry

Format Respons Error

{
  "errors": [
    {
      "message": "Insufficient credits for this operation",
      "extensions": {
        "code": "INSUFFICIENT_CREDITS",
        "creditsRequired": 100,
        "creditsAvailable": 50
      }
    }
  ]
}

Webhook

Terima notifikasi real-time saat pembuatan avatar Anda selesai.

Menyiapkan Webhook

Include a <code>webhookUrl</code> parameter in your request to receive a POST notification when processing is complete.

Payload Webhook

{
  "id": "abc123xyz",
  "status": "completed",
  "url": "https://cdn.doitong.com/outputs/abc123xyz.mp3",
  "service": "hedra",
  "createdAt": "2024-01-01T00:00:00Z",
  "completedAt": "2024-01-01T00:01:00Z",
  "metadata": {
    "duration": null,
    "width": null,
    "height": null
  }
}

Keamanan Webhook

Semua permintaan webhook menyertakan header tanda tangan untuk verifikasi:

X-Doitong-Signature: sha256=abc123...

Batas Kecepatan

Untuk memastikan penggunaan yang adil dan stabilitas sistem, batas kecepatan berikut berlaku:

Paket Permintaan/Menit Pekerjaan Simultan Batas Harian
Gratis 10 1 100
Starter 30 3 1,000
Pro 60 10 10,000
Enterprise Kustom Kustom Tanpa Batas
Header Batas Kecepatan: Periksa header respons untuk status batas saat ini:
  • X-RateLimit-Limit: Maximum requests per window
  • X-RateLimit-Remaining: Requests remaining
  • X-RateLimit-Reset: Window reset timestamp

Praktik Terbaik

1. Optimalkan Prompt Anda

Tulis prompt yang jelas dan deskriptif untuk hasil terbaik:

  • Be specific about visual elements, style, and mood
  • Include details about lighting, camera angles, and composition
  • Avoid contradictory or impossible requests

2. Tangani Pemrosesan Asinkron

Pembuatan bersifat asinkron. Terapkan polling atau webhook yang tepat:

// Polling example
async function pollStatus(jobId) {
  let status = 'processing';
  while (status === 'processing') {
    await sleep(2000); // Wait 2 seconds
    const result = await checkJobStatus(jobId);
    status = result.status;
  }
  return result;
}

3. Pemulihan Error

Terapkan logika percobaan ulang (retry) dengan exponential backoff:

async function retryWithBackoff(fn, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    try {
      return await fn();
    } catch (error) {
      if (i === maxRetries - 1) throw error;
      await sleep(Math.pow(2, i) * 1000);
    }
  }
}

4. Pantau Penggunaan Kredit

Lacak konsumsi kredit Anda untuk menghindari gangguan:

  • Check credit balance before large batch operations
  • Set up alerts for low credit thresholds
  • Implement credit-aware request queuing

Siap untuk Memulai?

Bergabunglah dengan ribuan pengembang yang menggunakan Hedra Lip Sync API untuk membuat konten luar biasa

Dapatkan Kunci API Lihat Harga