ElevenLabs ভয়েস AI

আবেগ নিয়ন্ত্রণ এবং একাধিক ভাষা সহ সবচেয়ে প্রাকৃতিক AI ভয়েস।

✓ প্রাকৃতিক ভয়েস

✓ আবেগ নিয়ন্ত্রণ

✓ ২৯টি ভাষা

✓ ভয়েস ক্লোনিং

অথেন্টিকেশন

Doitong API-এর মাধ্যমে ElevenLabs ব্যবহার করতে আপনার Doitong API কী (key) ব্যবহার করুন। এটি GraphQL মিউটেশন বা REST API হেডারে অন্তর্ভুক্ত করুন।

গুরুত্বপূর্ণ: আপনার Doitong API কী সুরক্ষিত রাখুন এবং কখনোই ক্লায়েন্ট-সাইড কোডে এটি প্রকাশ করবেন না। সব সময় আপনার ব্যাকএন্ড সার্ভার থেকে API কল করুন।
// GraphQL Header
{
  "Authorization": "Bearer YOUR_API_KEY"
}

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

দ্রুত শুরু করুন

মাত্র কয়েক মিনিটে ElevenLabs TTS API-এর সাথে কাজ শুরু করুন। আপনার প্রথম tts তৈরি করতে এই সহজ ধাপগুলো অনুসরণ করুন।

ধাপ ১: আপনার API কী সংগ্রহ করুন

একটি Doitong অ্যাকাউন্টে সাইন আপ করুন এবং API কী তৈরি করতে আপনার ড্যাশবোর্ডে যান।

ধাপ ২: আপনার প্রথম রিকোয়েস্ট পাঠান

আপনার প্রথম 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"
    }
  }
}

মূল্যতালিকা

ElevenLabs TTS API একটি ক্রেডিট-ভিত্তিক মূল্য মডেল ব্যবহার করে। তৈরি করা কন্টেন্টের জটিলতা এবং দৈর্ঘ্যের ওপর ভিত্তি করে ক্রেডিট খরচ হয়।

ফিচার ক্রেডিট বিবরণ
স্ট্যান্ডার্ড ভয়েস প্রতি ১০০ ক্যারেক্টারে ১ ক্রেডিট বেসিক নিউরাল ভয়েস
প্রিমিয়াম ভয়েস প্রতি ১০০ ক্যারেক্টারে ২ ক্রেডিট আবেগ সহ উন্নত নিউরাল ভয়েস

API এন্ডপয়েন্ট

ElevenLabs TTS API আমাদের ইউনিফাইড GraphQL এন্ডপয়েন্টের মাধ্যমে উপলব্ধ।

GraphQL এন্ডপয়েন্ট

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

REST এন্ডপয়েন্ট

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

প্যারামিটার

ElevenLabs TTS API রিকোয়েস্টের জন্য উপলব্ধ প্যারামিটারগুলো:

প্যারামিটার ধরন আবশ্যক বিবরণ
service String Yes সার্ভিস আইডেন্টিফায়ার: "elevenlabs"
version String No Model version: "eleven-turbo-v2"
webhookUrl String No কাজ সম্পন্ন হওয়ার নোটিফিকেশন পাওয়ার URL

রেসপন্স ফরম্যাট

সব API রেসপন্স একটি নির্দিষ্ট ফরম্যাট অনুসরণ করে:

সফল রেসপন্স

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

সম্পন্ন রেসপন্স

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

এরর হ্যান্ডলিং

এই API স্ট্যান্ডার্ড 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)

আপনার tts তৈরি সম্পন্ন হলে রিয়েল-টাইম নোটিফিকেশন পান।

ওয়েব হুক সেটআপ

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

ওয়েব হুক পেলোড

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

ওয়েব হুক নিরাপত্তা

যাচাইকরণের জন্য সব ওয়েব হুক রিকোয়েস্টে একটি সিগনেচার হেডার থাকে:

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

সেরা অনুশীলন

১. আপনার প্রম্পট অপ্টিমাইজ করুন

সেরা ফলাফলের জন্য স্পষ্ট এবং বর্ণনামূলক প্রম্পট লিখুন:

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

২. অ্যাসিঙ্ক প্রসেসিং হ্যান্ডেল করুন

কন্টেন্ট তৈরি একটি অ্যাসিঙ্ক্রোনাস প্রক্রিয়া। সঠিক পোলিং বা ওয়েব হুক ব্যবহার করুন:

// 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;
}

৩. এরর রিকভারি

এক্সপোনেনশিয়াল ব্যাকঅফ সহ রিট্রাই লজিক ইমপ্লিমেন্ট করুন:

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);
    }
  }
}

৪. ক্রেডিট ব্যবহার মনিটর করুন

বিঘ্ন এড়াতে আপনার ক্রেডিট খরচ ট্র্যাক করুন:

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

শুরু করতে প্রস্তুত?

চমৎকার কন্টেন্ট তৈরি করতে ElevenLabs TTS API ব্যবহারকারী হাজার হাজার ডেভেলপারদের সাথে যোগ দিন

API কী সংগ্রহ করুন মূল্যতালিকা দেখুন