Аудиомодели
Синтез речи, распознавание речи и голосовой 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/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 |
| Голосовой диалог (realtime) | 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 | Обязательно. ID модели синтеза речи. |
input | Обязательно. Текст для озвучивания. |
voice | Голос: для Grok — имя из списка ниже в нижнем регистре или ID своего голоса, для 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.
Голосовой realtime
Откройте 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 — токенами: за входной текст или аудио и за выходное аудио или текст; 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