OneProvider
Руководства

Аудиомодели

Синтез речи, распознавание речи и голосовой realtime через один OpenAI-совместимый API: запросы, голоса, форматы и точная цена каждой аудиомодели.

Синтез речи, распознавание речи и голосовой realtime через один API: запросы, голоса, форматы и цены.

Все модели, характеристики и цены Индекс документации для AI-агентов: https://oneprovider.dev/docs/llms.txt

Доступные аудиомодели

grok-tts Runnable
символы текста
15,00 $ / 1 млн символов
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 $ / 1 млн токенов
аудио на выходе
10,00 $ / 1 млн токенов
gemini-2.5-pro-tts Runnable
текст на входе
1,00 $ / 1 млн токенов
аудио на выходе
20,00 $ / 1 млн токенов
gemini-3.1-flash-tts Runnable
текст на входе
1,00 $ / 1 млн токенов
аудио на выходе
20,00 $ / 1 млн токенов
gemini-3.1-tts Runnable
текст на входе
1,00 $ / 1 млн токенов
аудио на выходе
20,00 $ / 1 млн токенов
gemini-3.8-flash-tts Runnable
текст на входе
0,50 $ / 1 млн токенов
аудио на выходе
9,00 $ / 1 млн токенов
gemini-3.8-flash-lite-tts Runnable
текст на входе
0,50 $ / 1 млн токенов
аудио на выходе
6,00 $ / 1 млн токенов
gemini-3.5-transcribe Runnable
аудио на входе
2,00 $ / 1 млн токенов
текст на выходе
12,00 $ / 1 млн токенов
gemini-3.5-stt Runnable
аудио на входе
0,30 $ / 1 млн токенов
аудио из кэша
0,03 $ / 1 млн токенов
текст на выходе
2,50 $ / 1 млн токенов
gemini-3-stt Runnable
аудио на входе
1,00 $ / 1 млн токенов
аудио из кэша
0,10 $ / 1 млн токенов
текст на выходе
3,00 $ / 1 млн токенов
Какая модель для чего
ЗадачаПутьМодели
Синтез речи (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
Голосовой диалог (realtime)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Обязательно. ID модели синтеза речи.
inputОбязательно. Текст для озвучивания.
voiceГолос: для Grok — имя из списка ниже в нижнем регистре или ID своего голоса, для 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.

Голосовой realtime

Откройте 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 — токенами: за входной текст или аудио и за выходное аудио или текст; 1 секунда аудио = 25 токенов.

Пример: grok-tts, 1 000 символов = 15,00 $ / 1M × 1 000 = 0,015 $.

Точные цены каждой модели — в таблице выше и на странице Pricing .

Ошибки

Коды ошибок
HTTPПричина
400Неверный параметр, неизвестный голос или формат.
401Ключ неверный или отозван.
402 / 403 / 429Недостаточно баланса или превышен лимит ключа. Пополните баланс и повторите.
5xxСервис временно недоступен. Повторите запрос позже.
Один ключ — все модели Аудио оплачивается с того же баланса, что и текст. Полную таблицу моделей смотрите на странице моделей .

Быстрые ответы

Какой base URL использовать?

Claude Code и Anthropic SDK работают с https://api.oneprovider.dev. OpenAI SDK и OpenAI-совместимые клиенты работают с https://api.oneprovider.dev/v1. За обоими адресами один ключ; список моделей: странице моделей , ставки на странице тарифов .

Как авторизоваться?

Передайте сырой ключ sk-… в заголовке x-api-key или Authorization: Bearer: один из двух, не оба. Храните ключ в переменной окружения, а не в файле, который попадает в репозиторий. Подробнее об аутентификации .

Где взять ключ?

Откройте кабинет в Telegram-боте @oneprovider_robot или на app.oneprovider.dev, пополните баланс и нажмите «Выпустить ключ». У каждого ключа может быть свой лимит расхода. Кабинет и ключи .

Что значат ошибки 401, 404 и 429?

401: ключ не задан, написан с ошибкой или передан не в том заголовке; вставьте ключ целиком, без кавычек и пробелов. 404: обычно неверный base URL, например лишний или двойной /v1. 429 с текстом «Insufficient balance»: баланс кабинета или лимит ключа исчерпан, пополните его вместо повторов; любой другой 429 это лимит частоты, подождите Retry-After. Разбор: коды ошибок и решение проблем .

Почему обрывается стрим или сбрасывается соединение?

VPN и VLESS-прокси часто буферизуют SSE или ломают согласование HTTP/2. У OneProvider нет региональных ограничений, и стримы на нашей стороне не буферизуются: отключите прокси и повторите запрос.

Куда писать, если не помогло?

Напишите в Telegram @Oneproviderhelpbot или откройте «Поддержку» в веб-кабинете: приложите код статуса и точный текст ошибки. Как работает поддержка .

Последнее обновление: 2026-10-21 Нашли ошибку? @Oneproviderhelpbot