مستندات API تبدیل متن به گفتار - نسخه 2

این مستندات نحوه استفاده از API تبدیل متن به گفتار نسخه 2 با صداهای پیشرفته و طبیعی تاک‌بات را توضیح می‌دهد.

⭐ ویژگی‌های نسخه 2:

این نسخه شامل صداهای پیشرفته‌تر با کیفیت بالاتر و طبیعی‌تر است که با استفاده از فناوری‌های روز دنیا تولید می‌شوند. فرمت خروجی WAV با کیفیت استودیویی است. نمونه صداها را میتوانید از این صفحه ساخت صدا بررسی نمایید.

💰 هزینه تولید صدا در نسخه 2:

به ازای هر 100 کاراکتر متن ورودی، 150 توکن از حساب شما کسر می‌گردد. این هزینه برای تمام بسته های دارای دسترسی به API این سرویس یکسان است.

نحوه ارسال درخواست

برای ارسال یک درخواست به API نسخه 2، باید یک درخواست HTTP POST به URL زیر ارسال کنید:

$url = 'https://api.talkbot.ir/v2/media/text-to-speech/REQ';

سربرگ‌ها (Headers)

شما باید سربرگ Authorization را با توکن Bearer خود تنظیم کنید:

$headers = [
    'Authorization: Bearer YOUR_ACCESS_TOKEN'
];

داده‌های POST

داده‌های زیر را باید به عنوان بخشی از بدنه درخواست POST ارسال کنید:

$data = [
    'text' => 'متن فارسی شما اینجا قرار می‌گیرد.',
    'voice_id' => 'parsa'  // شناسه صدای مورد نظر
];

لیست صداهای موجود

در جدول زیر تمام صداهای موجود در نسخه 2 همراه با جنسیت و سطح دسترسی مورد نیاز آورده شده است:

نام صدا شناسه صدا (voice_id) جنسیت
پارسا parsa مرد
پیروز pirooz مرد
نوشین nooshin زن
مریم maryam زن

مثال‌های کد

مثال درخواست با PHP

اینجا یک مثال کامل برای درخواست PHP با استفاده از صدای پارسا وجود دارد:

<?php
$headers = [
    'Authorization: Bearer YOUR_API_KEY' // کلید API خود را جایگزین کنید
];

$data = [
    'text' => 'سلام، این یک متن نمونه برای تبدیل به گفتار با صدای پارسا است.',
    'voice_id' => 'parsa'
];

$url = 'https://api.talkbot.ir/v2/media/text-to-speech/REQ';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

if(curl_errno($ch)){
    echo 'خطای CURL: ' . curl_error($ch);
} else {
    $result = json_decode($response, true);
    if(isset($result['response']['download'])) {
        echo 'فایل صوتی: ' . $result['response']['download'];
    } else {
        echo 'خطا: ' . $response;
    }
}

curl_close($ch);
?>

مثال درخواست با Python

اینجا یک مثال برای درخواست Python با استفاده از صدای آریانا وجود دارد:

import requests

headers = {
    'Authorization': 'Bearer YOUR_API_KEY'  # کلید API خود را جایگزین کنید
}

data = {
    'text': 'سلام! این یک متن نمونه برای تست API نسخه 2 با صدای آریانا است.',
    'voice_id': 'ariana'
}

url = 'https://api.talkbot.ir/v2/media/text-to-speech/REQ'

response = requests.post(url, headers=headers, data=data)

if response.status_code == 200:
    result = response.json()
    if 'response' in result and 'download' in result['response']:
        print(f"فایل صوتی: {result['response']['download']}")
    else:
        print(f"خطا: {response.text}")
else:
    print(f'خطا: {response.status_code} - {response.text}')

مثال درخواست با JavaScript (Node.js)

استفاده از fetch API در Node.js:

const fetch = require('node-fetch');
const FormData = require('form-data');

const headers = {
    'Authorization': 'Bearer YOUR_API_KEY'
};

const formData = new FormData();
formData.append('text', 'سلام، این یک متن تستی برای تبدیل به گفتار است.');
formData.append('voice_id', 'parsa');

const url = 'https://api.talkbot.ir/v2/media/text-to-speech/REQ';

fetch(url, {
    method: 'POST',
    headers: headers,
    body: formData
})
.then(response => response.json())
.then(data => {
    if(data.response && data.response.download) {
        console.log('فایل صوتی:', data.response.download);
    } else {
        console.log('خطا:', data);
    }
})
.catch(error => {
    console.error('خطا:', error);
});

پاسخ API

پاسخ API به صورت یک رشته JSON خواهد بود که شامل اطلاعاتی درباره فایل صوتی تولید شده و وضعیت درخواست است.

نمونه خروجی موفق:

{
    "response": {
        "code": 200,
        "message": "Success",
        "id": "TTSTALKBOT_V2_tts-parsa-1234567890.wav",
        "download": "https://talkbot.ir/tts_temp/tts-parsa-1234567890.wav",
        "voice_used": "parsa"
    }
}

نمونه خروجی خطا - احراز هویت ناموفق:

{
    "error": {
        "code": 401,
        "message": "Authentication failed",
        "description": "Authorization header is required. Please include a valid Bearer token."
    }
}

نمونه خروجی خطا - عدم دسترسی به صدا:

{
    "error": {
        "code": 403,
        "message": "Access denied",
        "description": "Your subscription plan does not include access to this voice. Please upgrade your plan."
    }
}

نمونه خروجی خطا - اشتراک منقضی شده:

{
    "error": {
        "code": 403,
        "message": "Subscription expired",
        "description": "Unfortunately, your Talkbot AI API package has expired. Please proceed to renew your account."
    }
}

راهنمای انتخاب صدا

برای کمک به انتخاب بهترین صدا برای نیازهای خود، توصیه‌های زیر را مطالعه کنید:

نوع محتوا صدای پیشنهادی دلیل
اخبار و گزارش parsa لحن رسمی و حرفه‌ای
داستان و روایت pirooz صدای گرم و دلنشین
آموزش و توضیحات ariana واضح و قابل فهم
تبلیغات و بازاریابی maryam صدای جذاب و دلپذیر

نکات مهم

پشتیبانی و تماس

برای هرگونه سوال یا مشکل در استفاده از API، می‌توانید با تیم پشتیبانی تاک‌بات از طریق وب‌سایت talkbot.ir تماس بگیرید.


آزمایش رایگان:

برای آزمایش و تست رایگان این وب سرویس (API) ابتدا در سایت ثبتنام کنید، و سپس از طریق کنترل پنل کاربری، کلید اختصاصی خود را ایجاد کنید. پس از ایجاد کلید، آن را در نمونه کدهای بالا جایگزاری کرده و خروجی را مشاهده کنید. امکان استفاده از کلید آزمایشی فقط تا 15000 توکن میسر است.


سایر وب سرویس ها:

با خرید بسته یاقوتی و یا یکی از بسته های فرایاقوتی، شما علاوه بر وب سرویس یا API پیش رو، از وب سرویس های زیر نیز میتوانید استفاده کنید.