Audiomodelle
Text-zu-Sprache, Sprache-zu-Text und Echtzeit-Stimme über eine OpenAI-kompatible API: Anfragen, Stimmen, Formate und der genaue Preis jedes Audiomodells.
Text-zu-Sprache, Sprache-zu-Text und Echtzeit-Sprache über eine API: die Anfragen, die Stimmen, die Formate und die Preise.
Alle Modelle, Funktionen und Preise Dokumentationsindex für KI-Agenten:https://oneprovider.dev/docs/llms.txt Verfügbare Audiomodelle
grok-tts Runnable - Eingabezeichen
- 15,00 $ / 1 Mio. Zeichen
grok-stt Runnable - Audiostunde
- 0,10 $ / Stunde
grok-voice-3.0 Runnable - Audiominute
- 0,08 $ / Minute
grok-voice-latest Runnable - Audiominute
- 0,08 $ / Minute
gemini-2.5-flash-tts Runnable - Text-Eingabe-Tokens
- 0,50 $ / 1 Mio. Tokens
- Audio-Ausgabe-Tokens
- 10,00 $ / 1 Mio. Tokens
gemini-2.5-pro-tts Runnable - Text-Eingabe-Tokens
- 1,00 $ / 1 Mio. Tokens
- Audio-Ausgabe-Tokens
- 20,00 $ / 1 Mio. Tokens
gemini-3.1-flash-tts Runnable - Text-Eingabe-Tokens
- 1,00 $ / 1 Mio. Tokens
- Audio-Ausgabe-Tokens
- 20,00 $ / 1 Mio. Tokens
gemini-3.1-tts Runnable - Text-Eingabe-Tokens
- 1,00 $ / 1 Mio. Tokens
- Audio-Ausgabe-Tokens
- 20,00 $ / 1 Mio. Tokens
gemini-3.8-flash-tts Runnable - Text-Eingabe-Tokens
- 0,50 $ / 1 Mio. Tokens
- Audio-Ausgabe-Tokens
- 9,00 $ / 1 Mio. Tokens
gemini-3.8-flash-lite-tts Runnable - Text-Eingabe-Tokens
- 0,50 $ / 1 Mio. Tokens
- Audio-Ausgabe-Tokens
- 6,00 $ / 1 Mio. Tokens
gemini-3.5-transcribe Runnable - Audio-Eingabe-Tokens
- 2,00 $ / 1 Mio. Tokens
- Text-Ausgabe-Tokens
- 12,00 $ / 1 Mio. Tokens
gemini-3.5-stt Runnable - Audio-Eingabe-Tokens
- 0,30 $ / 1 Mio. Tokens
- gecachte Audio-Eingabe-Tokens
- 0,03 $ / 1 Mio. Tokens
- Text-Ausgabe-Tokens
- 2,50 $ / 1 Mio. Tokens
gemini-3-stt Runnable - Audio-Eingabe-Tokens
- 1,00 $ / 1 Mio. Tokens
- gecachte Audio-Eingabe-Tokens
- 0,10 $ / 1 Mio. Tokens
- Text-Ausgabe-Tokens
- 3,00 $ / 1 Mio. Tokens
| Aufgabe | Pfad | Modelle |
|---|---|---|
| Text-zu-Sprache (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 |
| Sprache-zu-Text (STT) | POST /v1/audio/transcriptions | grok-stt, gemini-3-stt, gemini-3.5-stt, gemini-3.5-transcribe |
| Echtzeit-Sprache | GET /v1/realtime?model= (WebSocket) | grok-voice-3.0, grok-voice-latest |
Text-zu-Sprache
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") | Feld | Wert |
|---|---|
model | Pflicht. Die ID eines Text-zu-Sprache-Modells. |
input | Pflicht. Der Text, der gesprochen werden soll. |
voice | Die Stimme: bei Grok ein kleingeschriebener Name aus der Liste unten oder Ihre eigene Custom-Voice-ID, bei Gemini ein Name aus der zweiten Liste. |
response_format | mp3 (Standard), wav oder pcm. |
Die Antwort ist die Audiodatei im gewählten Format. Senden Sie bei langem Text eine Anfrage pro Absatz und fügen Sie die Dateien zusammen.
Grok-Stimmen
altairaraatlasauroracarinacastorcelestecosmoevehelioshelixiriskeplerleolioralumenlunaluxnakshorionperseusrexrigelsalsiriusursazaganzenith Gemini-Stimmen
ZephyrPuckCharonKoreFenrirLedaOrusAoedeCallirrhoeAutonoeEnceladusIapetusUmbrielAlgiebaDespinaErinomeAlgenibRasalgethiLaomedeiaAchernarAlnilamSchedarGacruxPulcherrimaAchirdZubenelgenubiVindemiatrixSadachbiaSadaltagerSulafat Sprache-zu-Text
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) Die Anfrage ist multipart/form-data mit den Feldern file (die Audiodatei) und model. Die Antwort ist JSON mit einem Feld text.
Echtzeit-Sprache
Öffnen Sie einen WebSocket zu wss://api.oneprovider.dev/v1/realtime?model=grok-voice-3.0 mit demselben Schlüssel im Header Authorization. Die Ereignisse folgen der 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()) | Ereignis | Zweck |
|---|---|
session.update | Client: legt die Anweisungen und Sitzungsoptionen fest. |
conversation.item.create | Client: fügt dem Gespräch eine Nachricht hinzu, Text oder Audio. |
response.create | Client: bittet das Modell zu antworten. |
response.output_audio.delta | Server: der nächste Abschnitt des Antwort-Audios, base64. |
response.output_audio_transcript.delta | Server: das nächste Textstück dessen, was das Modell sagt. |
response.done | Server: Die Antwort ist vollständig. |
Preise
- Grok TTS wird pro Zeichen des Eingabetextes abgerechnet.
- Grok STT wird pro Stunde Audio abgerechnet.
- Grok Voice wird pro Gesprächsminute abgerechnet, plus eine kleine Gebühr für jede Textnachricht, die Sie senden.
- Gemini wird in Tokens abgerechnet: Eingabetext oder -audio sowie Ausgabeaudio oder -text; eine Sekunde Audio entspricht 25 Tokens.
Beispiel: grok-tts, 1.000 Zeichen = 15,00 $ / 1 Mio. × 1.000 = 0,015 $.
Den genauen Preis jedes Modells finden Sie in der Tabelle oben und auf der Preisseite .
Fehler
| HTTP | Ursache |
|---|---|
| 400 | Ein ungültiges Feld, eine unbekannte Stimme oder ein unbekanntes Format. |
| 401 | Der Schlüssel ist ungültig oder widerrufen. |
| 402 / 403 / 429 | Das Guthaben reicht nicht aus oder das Schlüssellimit ist erreicht. Laden Sie auf und versuchen Sie es erneut. |
| 5xx | Der Dienst ist vorübergehend nicht erreichbar. Versuchen Sie es später erneut. |
Kurze Antworten
Welche base URL verwende ich?
Claude Code und die Anthropic-SDKs verwenden https://api.oneprovider.dev. OpenAI-SDKs und OpenAI-kompatible Clients verwenden https://api.oneprovider.dev/v1. Ein Schlüssel funktioniert an beiden Adressen; die Modellliste finden Sie auf der Modellseite , die Preise auf der Preisseite .
Wie authentifiziere ich mich?
Senden Sie den unveränderten sk-…-Schlüssel in x-api-key oder Authorization: Bearer: nur eines von beiden, nie beide. Bewahren Sie den Schlüssel in einer Umgebungsvariable auf, nicht in einer Datei, die ins Repository committet wird. Mehr zur Authentifizierung .
Wo bekomme ich einen Schlüssel?
Öffnen Sie Ihr Konto im Telegram-Bot @oneprovider_robot oder auf app.oneprovider.dev, laden Sie das Guthaben auf und tippen Sie auf „Schlüssel ausstellen“. Jeder Schlüssel kann ein eigenes Ausgabenlimit haben. Konto & API-Schlüssel .
Was bedeuten 401, 404 und 429?
401: Der Schlüssel fehlt, ist falsch geschrieben oder steht im falschen Header; fügen Sie den ganzen Schlüssel ohne Anführungszeichen und Leerzeichen ein. 404: meist eine falsche base URL, zum Beispiel ein fehlendes oder doppeltes /v1. 429 mit „Insufficient balance“: Das Guthaben des Kontos oder das Ausgabenlimit des Schlüssels ist aufgebraucht – laden Sie auf, statt es erneut zu versuchen; jedes andere 429 ist ein Rate-Limit, warten Sie dann die Zeit aus Retry-After ab. Details: Fehlercodes und Fehlerbehebung .
Warum brechen Streams ab oder werden zurückgesetzt?
VPN- und VLESS-Proxys puffern SSE oft oder stören die HTTP/2-Aushandlung. OneProvider hat keine regionalen Beschränkungen und puffert keine Streams – schalten Sie den Proxy aus und versuchen Sie es erneut.
Wohin wende ich mich, wenn das nicht reicht?
Schreiben Sie @Oneproviderhelpbot auf Telegram oder öffnen Sie „Support“ im Web-Konto – mit HTTP-Statuscode und genauer Fehlermeldung. So arbeitet der Support .
Zuletzt aktualisiert: 2026-11-08 Fehler gefunden? @Oneproviderhelpbot