Hedra لتحريك الشخصيات

تحريك الشخصيات مع مزامنة صوتية مثالية. ابعث الحياة في الصور الشخصية بتعبيرات وحركات طبيعية.

✓ تحريك الشخصيات

✓ مزامنة الصوت

✓ صور شخصية

✓ تحكم في التعبيرات

المصادقة

للوصول إلى Hedra عبر واجهة برمجة تطبيقات Doitong، استخدم مفتاح API الخاص بك. قم بتضمينه في طلب Mutation الخاص بـ GraphQL أو في ترويسات REST API.

هام: حافظ على أمان مفتاح API الخاص بك ولا تكشفه أبداً في الكود البرمجي لجهة العميل. قم دائماً بإجراء استدعاءات API من خادمك الخلفي (Backend).
// GraphQL Header
{
  "Authorization": "Bearer YOUR_API_KEY"
}

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

البدء السريع

ابدأ مع Hedra Lip Sync API في دقائق معدودة. اتبع هذه الخطوات البسيطة لإنشاء أول avatar لك.

الخطوة 1: احصل على مفتاح API

سجل للحصول على حساب Doitong وانتقل إلى لوحة التحكم لإنشاء مفتاح API الخاص بك.

الخطوة 2: قم بإجراء طلبك الأول

استخدم أحد أمثلة الكود أدناه لإجراء أول استدعاء لواجهة برمجة التطبيقات.

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"
    }
  }
}

الأسعار

يعتمد Hedra Lip Sync API نموذج تسعير قائم على الرصيد. يتم استهلاك الرصيد بناءً على تعقيد ومدة المحتوى الذي يتم إنشاؤه.

الميزة الرصيد الوصف
فيديو قصير 50-100 الرصيد حتى 30 ثانية
فيديو طويل 200-500 الرصيد من 30 ثانية إلى دقيقتين

نقاط نهاية API

تتوفر خدمة Hedra Lip Sync API من خلال نقطة نهاية GraphQL الموحدة الخاصة بنا.

نقطة نهاية GraphQL

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

نقطة نهاية REST

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

المعاملات

المعاملات المتاحة لطلبات Hedra Lip Sync API:

المعامل النوع مطلوب الوصف
service نص (String) Yes معرف الخدمة: "hedra"
version نص (String) No Model version: "hedra-1.0"
webhookUrl نص (String) No رابط URL لتلقي إشعارات الاكتمال

تنسيق الاستجابة

تتبع جميع استجابات API تنسيقاً ثابتاً:

استجابة ناجحة

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

استجابة مكتملة

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

معالجة الأخطاء

تستخدم واجهة برمجة التطبيقات رموز حالة HTTP القياسية وتعيد رسائل خطأ مفصلة.

أكواد الخطأ الشائعة

رمز الحالة نوع الخطأ الوصف
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

تنسيق استجابة الخطأ

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

الويب هوك (Webhooks)

تلقَّ إشعارات فورية عند اكتمال عملية إنشاء avatar الخاصة بك.

إعداد الويب هوك

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

حمولة الويب هوك (Payload)

{
  "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
  }
}

أمان الويب هوك

تتضمن جميع طلبات الويب هوك ترويسة توقيع للتحقق:

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

حدود معدل الاستخدام

لضمان الاستخدام العادل واستقرار النظام، تُطبق حدود المعدل التالية:

الخطة الطلبات/الدقيقة المهام المتزامنة الحد اليومي
مجاني 10 1 100
للمبتدئين 30 3 1,000
احترافي 60 10 10,000
للمؤسسات مخصص مخصص غير محدود
ترويسات حدود المعدل: تحقق من ترويسات الاستجابة لمعرفة حالة الحد الحالي:
  • X-RateLimit-Limit: Maximum requests per window
  • X-RateLimit-Remaining: Requests remaining
  • X-RateLimit-Reset: Window reset timestamp

أفضل الممارسات

1. تحسين الأوامر (Prompts)

اكتب أوامر واضحة ووصفية للحصول على أفضل النتائج:

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

2. معالجة العمليات غير المتزامنة

عملية الإنشاء غير متزامنة. قم بتنفيذ آلية التحقق الدوري (Polling) أو الويب هوك:

// 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. التعافي من الأخطاء

قم بتنفيذ منطق إعادة المحاولة مع التراجع الأسي (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. مراقبة استهلاك الرصيد

تتبع استهلاكك للرصيد لتجنب أي انقطاع في الخدمة:

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

هل أنت مستعد للبدء؟

انضم إلى آلاف المطورين الذين يستخدمون Hedra Lip Sync API لإنشاء محتوى مذهل

احصل على مفتاح API الآن عرض الأسعار