OneProvider

مدل‌های صوتی

تبدیل متن به گفتار، گفتار به متن و صدای بی‌درنگ با یک 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/speechgrok-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/transcriptionsgrok-stt, gemini-3-stt, gemini-3.5-stt, gemini-3.5-transcribe
صدای بلادرنگGET /v1/realtime?model= (WebSocket)grok-voice-3.0, grok-voice-latest

تبدیل متن به گفتار

bash
curl -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_formatmp3 (پیش‌فرض)، wav یا pcm.

پاسخ فایل صوتی با قالب انتخاب‌شده است. برای متن طولانی، برای هر پاراگراف یک درخواست بفرستید و فایل‌ها را به هم بچسبانید.

صداهای Grok

altairaraatlasauroracarinacastorcelestecosmoevehelioshelixiriskeplerleolioralumenlunaluxnakshorionperseusrexrigelsalsiriusursazaganzenith

صداهای Gemini

ZephyrPuckCharonKoreFenrirLedaOrusAoedeCallirrhoeAutonoeEnceladusIapetusUmbrielAlgiebaDespinaErinomeAlgenibRasalgethiLaomedeiaAchernarAlnilamSchedarGacruxPulcherrimaAchirdZubenelgenubiVindemiatrixSadachbiaSadaltagerSulafat

تبدیل گفتار به متن

bash
curl -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 پیروی می‌کنند.

python
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