Hedra Character Animation

Hahmoanimaatio täydellisellä audiosynkronoinnilla. Herätä muotokuvat eloon luonnollisilla ilmeillä ja liikkeillä.

✓ Hahmoanimaatio

✓ Audiosynkronointi

✓ Muotokuvat

✓ Ilmeiden hallinta

Autentikointi

Käyttääksesi palvelua Hedra Doitong-API:n kautta, käytä Doitong-API-avaintasi. Lisää se GraphQL-mutaatioon tai REST-API-otsikoihin.

Tärkeää: Pidä Doitong-API-avaimesi turvassa äläkä koskaan paljasta sitä asiakaspuolen koodissa. Tee API-kutsut aina taustapalvelimeltasi.
// GraphQL Header
{
  "Authorization": "Bearer YOUR_API_KEY"
}

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

Pika-aloitus

Aloita palvelun Hedra Lip Sync API käyttö muutamassa minuutissa. Seuraa näitä ohjeita luodaksesi ensimmäisen kohteesi (avatar).

Vaihe 1: Hae API-avaimesi

Luo Doitong-tili ja siirry hallintapaneeliin luodaksesi API-avaimen.

Vaihe 2: Tee ensimmäinen pyyntösi

Käytä alla olevia koodiesimerkkejä ensimmäisen API-kutsun tekemiseen.

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

Hinnoittelu

Hedra Lip Sync API käyttää krediittipohjaista hinnoittelumallia. Krediittejä kuluu luodun sisällön monimutkaisuuden ja keston mukaan.

Ominaisuus Krediitit Kuvaus
Lyhyt video 50-100 Krediitit Enintään 30 sekuntia
Pitkä video 200-500 Krediitit 30 sekunnista 2 minuuttiin

API-päätepisteet

Hedra Lip Sync API on käytettävissä yhtenäisen GraphQL-päätepisteemme kautta.

GraphQL-päätepiste

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

REST-päätepiste

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

Parametrit

Käytettävissä olevat parametrit Hedra Lip Sync API-pyyntöihin:

Parametri Tyyppi Pakollinen Kuvaus
service Merkkijono Yes Palvelun tunniste: "hedra"
version Merkkijono No Model version: "hedra-1.0"
webhookUrl Merkkijono No URL-osoite ilmoitusten vastaanottamiseen

Vastausmuoto

Kaikki API-vastaukset noudattavat yhtenäistä muotoa:

Onnistunut vastaus

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

Valmis vastaus

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

Virheiden käsittely

API käyttää vakioita HTTP-tilakoodeja ja palauttaa yksityiskohtaisia virheilmoituksia.

Yleiset virhekoodit

Tilakoodi Virhetyyppi Kuvaus
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

Virhevastauksen muoto

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

Webhookit

Vastaanota reaaliaikaisia ilmoituksia, kun avatar-luonti on valmis.

Webhookien määrittäminen

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

Webhook-data (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
  }
}

Webhook-tietoturva

Kaikki webhook-pyynnöt sisältävät allekirjoitusotsikon varmennusta varten:

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

Käyttörajat

Reilun käytön ja järjestelmän vakauden varmistamiseksi sovelletaan seuraavia rajoituksia:

Tilaus Pyyntöä/minuutti Samanaikaiset työt Päivittäinen raja
Ilmainen 10 1 100
Starter 30 3 1,000
Pro 60 10 10,000
Enterprise Mukautettu Mukautettu Rajoittamaton
Käyttörajojen otsikot: Tarkista vastauksen otsikoista nykyinen rajoitustila:
  • X-RateLimit-Limit: Maximum requests per window
  • X-RateLimit-Remaining: Requests remaining
  • X-RateLimit-Reset: Window reset timestamp

Parhaat käytännöt

1. Optimoi kehotteesi

Kirjoita selkeitä ja kuvailevia kehotteita parhaiden tulosten saavuttamiseksi:

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

2. Hallitse asynkronista käsittelyä

Luonti on asynkronista. Toteuta asianmukainen kysely (polling) tai käytä webhookeja:

// 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. Virheistä toipuminen

Toteuta uudelleenyrityslogiikka eksponentiaalisella viiveellä:

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. Seuraa krediittien kulutusta

Seuraa krediittien käyttöä välttääksesi keskeytykset:

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

Oletko valmis aloittamaan?

Liity tuhansien kehittäjien joukkoon, jotka käyttävät palvelua Hedra Lip Sync API upean sisällön luomiseen

Hae API-avain nyt Katso hinnoittelu