Sauti ya AI ya ElevenLabs

Sauti za AI za asili kabisa zenye udhibiti wa hisia na lugha nyingi.

✓ Sauti za asili

✓ Udhibiti wa hisia

✓ Lugha 29

✓ Kuiga sauti (cloning)

Uthibitishaji

Ili kufikia ElevenLabs kupitia API ya Doitong, tumia ufunguo wako wa API ya Doitong. Ujumuishe kwenye mutation ya GraphQL au vichwa vya habari vya REST API.

Muhimu: Weka ufunguo wako wa API ya Doitong kwa usalama na usiufichue kamwe kwenye kodi ya upande wa mteja. Kila mara fanya maombi ya API kutoka kwenye seva yako ya nyuma.
// GraphQL Header
{
  "Authorization": "Bearer YOUR_API_KEY"
}

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

Anza Haraka

Anza kutumia ElevenLabs TTS API ndani ya dakika chache tu. Fuata hatua hizi rahisi ili kuunda tts yako ya kwanza.

Hatua ya 1: Pata Ufunguo Wako wa API

Jisajili kwa akaunti ya Doitong na uende kwenye dashibodi yako ili kutengeneza ufunguo wa API.

Hatua ya 2: Tuma Ombi Lako la Kwanza

Tumia mojawapo ya mifano ya kodi hapa chini ili kutuma ombi lako la kwanza la API.

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": "AUDIO",
        "provider": "elevenlabs",
        "input": {
          "text": "Hello world, this is a text to speech example.",
          "voice": "en-US-neural"
        },
        "options": {
          "speed": 1.0
        }
      }
    }
  }'
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 GenerateSpeech($input: TTSInput!) {
        generateSpeech(input: $input) {
          id
          audioUrl
          duration
        }
      }
    `,
    variables: {
      input: {
        service: 'elevenlabs',
        text: 'Hello world, this is a text to speech example.',
        voice: 'en-US-neural',
        speed: 1.0
      }
    }
  })
});

const data = await response.json();
console.log('Result:', data.data.generate);
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": "AUDIO",
        "provider": "elevenlabs",
        "input": {
            "text": "Hello world, this is a text to speech example.",
            "voice": "en-US-neural"
        },
        "options": {
            "speed": 1.0
        }
    }
}

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": "AUDIO",
    "provider": "elevenlabs",
    "input": {
      "text": "Hello world, this is a text to speech example.",
      "voice": "en-US-neural"
    },
    "options": {
      "speed": 1.0,
      "pitch": 1.0,
      "language": "en",
      "version": "eleven-turbo-v2"
    }
  }
}

Bei

ElevenLabs TTS API hutumia mfumo wa bei unaozingatia salio. Salio hutumiwa kulingana na ugumu na muda wa maudhui yaliyoundwa.

Kipengele Salio Maelezo
Sauti ya Kawaida Salio 1 kwa kila herufi 100 Sauti za msingi za neva (neural)
Sauti ya Premium Salio 2 kwa kila herufi 100 Sauti za hali ya juu zenye hisia

Vituo vya API

ElevenLabs TTS API inapatikana kupitia kituo chetu kimoja cha GraphQL.

Kituo cha GraphQL

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

Kituo cha REST

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

Vigezo

Vigezo vinavyopatikana kwa maombi ya ElevenLabs TTS API:

Kigezo Aina Lazima Maelezo
service String Yes Kitambulisho cha huduma: "elevenlabs"
version String No Model version: "eleven-turbo-v2"
webhookUrl String No URL ya kupokea arifa za kukamilika

Mfumo wa Majibu

Majibu yote ya API hufuata mfumo thabiti:

Jibu la Mafanikio

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

Jibu la Kukamilika

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

Ushughulikiaji wa Hitilafu

API hutumia misimbo ya hali ya HTTP ya kawaida na hutoa ujumbe wa hitilafu wenye maelezo ya kina.

Misimbo ya Hitilafu ya Kawaida

Msimbo wa Hali Aina ya Hitilafu Maelezo
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

Mfumo wa Jibu la Hitilafu

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

Webhooks

Pokea arifa za papo hapo wakati uundaji wa tts yako unapokamilika.

Kusanidi Webhooks

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

Data ya Webhook

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

Usalama wa Webhook

Maombi yote ya webhook yanajumuisha saini kwenye kichwa cha habari kwa ajili ya uthibitishaji:

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

Vikomo vya Matumizi

Ili kuhakikisha matumizi ya haki na utulivu wa mfumo, vikomo vifuatavyo vinatumika:

Mpango Maombi/Dakika Kazi Zinazoendelea Pamoja Kikomo cha Kila Siku
Bure 10 1 100
Starter 30 3 1,000
Pro 60 10 10,000
Enterprise Maalum Maalum Bila Kikomo
Vichwa vya Habari vya Kikomo: Angalia vichwa vya habari vya majibu kwa hali ya sasa ya kikomo:
  • X-RateLimit-Limit: Maximum requests per window
  • X-RateLimit-Remaining: Requests remaining
  • X-RateLimit-Reset: Window reset timestamp

Mbinu Bora

1. Boresha Maelekezo Yako

Andika maelekezo (prompts) yaliyo wazi na yenye maelezo kwa matokeo bora zaidi:

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

2. Shughulikia Uchakataji wa Async

Uundaji hufanyika kwa njia ya asinkronasi. Weka mfumo mzuri wa polling au webhooks:

// 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. Urejeshi wa Hitilafu

Weka mantiki ya kujaribu tena yenye kuchelewa kwa ongezeko (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. Fuatilia Matumizi ya Salio

Fuatilia matumizi yako ya salio ili kuepuka kukatizwa kwa huduma:

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

Uko Tayari Kuanza?

Jiunge na maelfu ya watengenezaji wanaotumia ElevenLabs TTS API kuunda maudhui ya kustaajabisha

Pata Ufunguo wa API Sasa Angalia Bei