مدلهای صوتی
تبدیل متن به گفتار، گفتار به متن و صدای بیدرنگ با یک API سازگار با OpenAI: نمونهٔ درخواستها، صداها، قالبها و قیمت دقیق هر مدل صوتی OneProvider.
تبدیل متن به گفتار، گفتار به متن و صدای بلادرنگ با یک API: درخواستها، صداها، قالبها و قیمتها.
همهٔ مدلها، قابلیتها و قیمتها فهرست مستندات برای عاملهای هوش مصنوعی:https://oneprovider.dev/docs/llms.txt مدلهای صوتی در دسترس
grok-tts Runnable - نویسههای ورودی
- $ 15.00 / 1M نویسه
grok-stt Runnable - ساعت صدا
- $ 0.10 / ساعت
grok-voice-3.0 Runnable - دقیقهٔ صدا
- $ 0.08 / دقیقه
grok-voice-latest Runnable - دقیقهٔ صدا
- $ 0.08 / دقیقه
gemini-2.5-flash-tts Runnable - توکنهای ورودی متن
- $ 0.50 / 1M توکن
- توکنهای خروجی صدا
- $ 10.00 / 1M توکن
gemini-2.5-pro-tts Runnable - توکنهای ورودی متن
- $ 1.00 / 1M توکن
- توکنهای خروجی صدا
- $ 20.00 / 1M توکن
gemini-3.1-flash-tts Runnable - توکنهای ورودی متن
- $ 1.00 / 1M توکن
- توکنهای خروجی صدا
- $ 20.00 / 1M توکن
gemini-3.1-tts Runnable - توکنهای ورودی متن
- $ 1.00 / 1M توکن
- توکنهای خروجی صدا
- $ 20.00 / 1M توکن
gemini-3.8-flash-tts Runnable - توکنهای ورودی متن
- $ 0.50 / 1M توکن
- توکنهای خروجی صدا
- $ 9.00 / 1M توکن
gemini-3.8-flash-lite-tts Runnable - توکنهای ورودی متن
- $ 0.50 / 1M توکن
- توکنهای خروجی صدا
- $ 6.00 / 1M توکن
gemini-3.5-transcribe Runnable - توکنهای ورودی صدا
- $ 2.00 / 1M توکن
- توکنهای خروجی متن
- $ 12.00 / 1M توکن
gemini-3.5-stt Runnable - توکنهای ورودی صدا
- $ 0.30 / 1M توکن
- توکنهای ورودی صدای کششده
- $ 0.03 / 1M توکن
- توکنهای خروجی متن
- $ 2.50 / 1M توکن
gemini-3-stt Runnable - توکنهای ورودی صدا
- $ 1.00 / 1M توکن
- توکنهای ورودی صدای کششده
- $ 0.10 / 1M توکن
- توکنهای خروجی متن
- $ 3.00 / 1M توکن
| کار | مسیر | مدلها |
|---|---|---|
| تبدیل متن به گفتار (TTS) | POST /v1/audio/speech | grok-tts, gemini-2.5-flash-tts, gemini-2.5-pro-tts, gemini-3.1-flash-tts, gemini-3.1-tts, gemini-3.8-flash-tts, gemini-3.8-flash-lite-tts |
| تبدیل گفتار به متن (STT) | POST /v1/audio/transcriptions | grok-stt, gemini-3-stt, gemini-3.5-stt, gemini-3.5-transcribe |
| صدای بلادرنگ | GET /v1/realtime?model= (WebSocket) | grok-voice-3.0, grok-voice-latest |
تبدیل متن به گفتار
bashcurl -sS https://api.oneprovider.dev/v1/audio/speech \
-H "Authorization: Bearer sk-..." \
-H "Content-Type: application/json" \
-d '{
"model": "grok-tts",
"input": "Hello from OneProvider.",
"voice": "eve",
"response_format": "mp3"
}' \
--output hello.mp3 python from openai import OpenAI
client = OpenAI(base_url="https://api.oneprovider.dev/v1", api_key="sk-...")
with client.audio.speech.with_streaming_response.create(
model="gemini-3.8-flash-tts",
voice="Kore",
input="Hello from OneProvider.",
response_format="wav",
) as response:
response.stream_to_file("hello.wav") | فیلد | مقدار |
|---|---|
model | الزامی. شناسهٔ یک مدل تبدیل متن به گفتار. |
input | الزامی. متنی که باید خوانده شود. |
voice | صدا: برای Grok یک نام با حروف کوچک از فهرست زیر یا شناسهٔ صدای سفارشی خودتان، برای Gemini یک نام از فهرست دوم. |
response_format | mp3 (پیشفرض)، wav یا pcm. |
پاسخ فایل صوتی با قالب انتخابشده است. برای متن طولانی، برای هر پاراگراف یک درخواست بفرستید و فایلها را به هم بچسبانید.
صداهای Grok
altairaraatlasauroracarinacastorcelestecosmoevehelioshelixiriskeplerleolioralumenlunaluxnakshorionperseusrexrigelsalsiriusursazaganzenith صداهای Gemini
ZephyrPuckCharonKoreFenrirLedaOrusAoedeCallirrhoeAutonoeEnceladusIapetusUmbrielAlgiebaDespinaErinomeAlgenibRasalgethiLaomedeiaAchernarAlnilamSchedarGacruxPulcherrimaAchirdZubenelgenubiVindemiatrixSadachbiaSadaltagerSulafat تبدیل گفتار به متن
bashcurl -sS https://api.oneprovider.dev/v1/audio/transcriptions \
-H "Authorization: Bearer sk-..." \
-F model=grok-stt \
-F file=@meeting.mp3
# {"text":"..."} python from openai import OpenAI
client = OpenAI(base_url="https://api.oneprovider.dev/v1", api_key="sk-...")
with open("meeting.mp3", "rb") as audio:
result = client.audio.transcriptions.create(model="gemini-3.5-transcribe", file=audio)
print(result.text) درخواست از نوع multipart/form-data با فیلدهای file (فایل صوتی) و model است. پاسخ JSON با فیلد text است.
صدای بلادرنگ
یک WebSocket به wss://api.oneprovider.dev/v1/realtime?model=grok-voice-3.0 باز کنید و همان کلید را در هدر Authorization بفرستید. رویدادها از OpenAI Realtime API پیروی میکنند.
import asyncio, base64, json
import websockets
async def main():
url = "wss://api.oneprovider.dev/v1/realtime?model=grok-voice-3.0"
async with websockets.connect(url, additional_headers={"Authorization": "Bearer sk-..."}) as ws:
await ws.send(json.dumps({"type": "session.update", "session": {"instructions": "Answer briefly."}}))
await ws.send(json.dumps({"type": "conversation.item.create", "item": {
"type": "message", "role": "user",
"content": [{"type": "input_text", "text": "Say hello in one sentence."}],
}}))
await ws.send(json.dumps({"type": "response.create"}))
audio = bytearray()
async for message in ws:
event = json.loads(message)
if event["type"] == "response.output_audio.delta":
audio += base64.b64decode(event["delta"])
elif event["type"] == "response.output_audio_transcript.delta":
print(event["delta"], end="")
elif event["type"] == "response.done":
break
asyncio.run(main()) | رویداد | کاربرد |
|---|---|
session.update | کلاینت: دستورالعملها و گزینههای نشست را تنظیم میکند. |
conversation.item.create | کلاینت: پیامی به گفتوگو اضافه میکند، متن یا صدا. |
response.create | کلاینت: از مدل میخواهد پاسخ بدهد. |
response.output_audio.delta | سرور: تکهٔ بعدیِ صدای پاسخ، base64. |
response.output_audio_transcript.delta | سرور: تکهٔ بعدیِ متنِ آنچه مدل میگوید. |
response.done | سرور: پاسخ کامل شد. |
قیمتها
- Grok TTS بر اساس هر نویسهٔ متن ورودی محاسبه میشود.
- Grok STT بر اساس هر ساعت صدا محاسبه میشود.
- Grok Voice بر اساس هر دقیقه گفتوگو محاسبه میشود، بهعلاوهٔ کارمزد کوچکی برای هر پیام متنی که میفرستید.
- Gemini بر اساس توکن محاسبه میشود: متن یا صدای ورودی و صدا یا متن خروجی؛ هر ثانیه صدا 25 توکن است.
مثال: grok-tts، 1,000 نویسه = $ 15.00 / 1M × 1 000 = $ 0.015.
قیمت دقیق هر مدل در جدول بالا و در صفحهٔ قیمتها است.
خطاها
| HTTP | علت |
|---|---|
| 400 | فیلد نامعتبر، صدا یا قالب ناشناخته. |
| 401 | کلید نامعتبر یا ابطالشده است. |
| 402 / 403 / 429 | موجودی کافی نیست یا به سقف کلید رسیدهاید. شارژ کنید و دوباره تلاش کنید. |
| 5xx | سرویس موقتاً در دسترس نیست. بعداً دوباره تلاش کنید. |
پاسخهای سریع
از کدام base URL استفاده کنم؟
Claude Code و SDKهای Anthropic از https://api.oneprovider.dev استفاده میکنند. SDKهای OpenAI و کلاینتهای سازگار با OpenAI از https://api.oneprovider.dev/v1 استفاده میکنند. یک کلید پشت هر دو آدرس کار میکند؛ فهرست مدلها در صفحهٔ مدلها و نرخها در صفحهٔ قیمتها است.
چگونه احراز هویت کنم؟
کلید خام sk-… را در x-api-key یا Authorization: Bearer بفرستید: یکی از این دو، نه هر دو. کلید را در یک متغیر محیطی نگه دارید، نه در فایلی که commit میشود. اطلاعات بیشتر دربارهٔ احراز هویت .
کلید را از کجا بگیرم؟
حساب کاربری خود را در ربات Telegram به نام @oneprovider_robot یا در app.oneprovider.dev باز کنید، موجودی را شارژ کنید و «صدور کلید» را بزنید. هر کلید میتواند سقف مصرف مخصوص خودش را داشته باشد. حساب کاربری و کلیدهای API .
کدهای 401، 404 و 429 یعنی چه؟
401: کلید ارسال نشده، اشتباه تایپ شده یا در هدر نادرست فرستاده شده است؛ کلید را کامل و بدون گیومه و فاصله جایگذاری کنید. 404: معمولاً base URL نادرست است، مثلاً /v1 جا افتاده یا دوبار آمده است. 429 با پیام «Insufficient balance»: موجودی حساب کاربری یا سقف مصرف کلید تمام شده است؛ بهجای تلاش دوباره، شارژ کنید. هر 429 دیگری محدودیت نرخ است؛ تا پایان زمان Retry-After صبر کنید. جزئیات: کدهای خطا و رفع اشکال .
چرا استریمها قطع یا ریست میشوند؟
VPN و پروکسیهای VLESS اغلب SSE را بافر میکنند یا مذاکرهٔ HTTP/2 را مختل میکنند. OneProvider هیچ محدودیت منطقهای ندارد و استریمها را بافر نمیکند؛ پروکسی را خاموش کنید و دوباره امتحان کنید.
اگر اینها کافی نبود از کجا بپرسم؟
در Telegram به @Oneproviderhelpbot پیام بدهید یا در حساب کاربری وب «پشتیبانی» را باز کنید و کد وضعیت HTTP و متن دقیق خطا را بفرستید. پشتیبانی چگونه کار میکند .
آخرین بهروزرسانی: 2026-11-08 باگی پیدا کردید؟ @Oneproviderhelpbot