OneProvider

Modelli audio

Sintesi vocale, trascrizione e voce in tempo reale con una sola API compatibile con OpenAI: richieste, voci, formati e prezzo esatto di ogni modello audio.

Sintesi vocale, riconoscimento vocale e voce in tempo reale con un'unica API: le richieste, le voci, i formati e i prezzi.

Tutti i modelli, le funzionalità e i prezzi Indice della documentazione per agenti AI: https://oneprovider.dev/docs/llms.txt

Modelli audio disponibili

grok-tts Runnable
caratteri di input
15,00 USD / 1M caratteri
grok-stt Runnable
ora di audio
0,10 USD / ora
grok-voice-3.0 Runnable
minuto di audio
0,08 USD / minuto
grok-voice-latest Runnable
minuto di audio
0,08 USD / minuto
gemini-2.5-flash-tts Runnable
token di testo in input
0,50 USD / 1M token
token audio in output
10,00 USD / 1M token
gemini-2.5-pro-tts Runnable
token di testo in input
1,00 USD / 1M token
token audio in output
20,00 USD / 1M token
gemini-3.1-flash-tts Runnable
token di testo in input
1,00 USD / 1M token
token audio in output
20,00 USD / 1M token
gemini-3.1-tts Runnable
token di testo in input
1,00 USD / 1M token
token audio in output
20,00 USD / 1M token
gemini-3.8-flash-tts Runnable
token di testo in input
0,50 USD / 1M token
token audio in output
9,00 USD / 1M token
gemini-3.8-flash-lite-tts Runnable
token di testo in input
0,50 USD / 1M token
token audio in output
6,00 USD / 1M token
gemini-3.5-transcribe Runnable
token audio in input
2,00 USD / 1M token
token di testo in output
12,00 USD / 1M token
gemini-3.5-stt Runnable
token audio in input
0,30 USD / 1M token
token audio in input dalla cache
0,03 USD / 1M token
token di testo in output
2,50 USD / 1M token
gemini-3-stt Runnable
token audio in input
1,00 USD / 1M token
token audio in input dalla cache
0,10 USD / 1M token
token di testo in output
3,00 USD / 1M token
Quale modello fa che cosa
CompitoPercorsoModelli
Sintesi vocale (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
Riconoscimento vocale (STT)POST /v1/audio/transcriptionsgrok-stt, gemini-3-stt, gemini-3.5-stt, gemini-3.5-transcribe
Voce in tempo realeGET /v1/realtime?model= (WebSocket)grok-voice-3.0, grok-voice-latest

Sintesi vocale

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")
Parametri della richiesta
CampoValore
modelObbligatorio. L'ID di un modello di sintesi vocale.
inputObbligatorio. Il testo da pronunciare.
voiceLa voce: per Grok un nome in minuscolo dall'elenco qui sotto o l'ID della tua voce personalizzata, per Gemini un nome dal secondo elenco.
response_formatmp3 (predefinito), wav o pcm.

La risposta è il file audio nel formato scelto. Per testi lunghi, invia una richiesta per paragrafo e unisci i file.

Voci di Grok

altairaraatlasauroracarinacastorcelestecosmoevehelioshelixiriskeplerleolioralumenlunaluxnakshorionperseusrexrigelsalsiriusursazaganzenith

Voci di Gemini

ZephyrPuckCharonKoreFenrirLedaOrusAoedeCallirrhoeAutonoeEnceladusIapetusUmbrielAlgiebaDespinaErinomeAlgenibRasalgethiLaomedeiaAchernarAlnilamSchedarGacruxPulcherrimaAchirdZubenelgenubiVindemiatrixSadachbiaSadaltagerSulafat

Riconoscimento vocale

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)

La richiesta è multipart/form-data con i campi file (il file audio) e model. La risposta è un JSON con un campo text.

Voce in tempo reale

Apri un WebSocket verso wss://api.oneprovider.dev/v1/realtime?model=grok-voice-3.0 con la stessa chiave nell'header Authorization. Gli eventi seguono l'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())
Eventi
EventoScopo
session.updateClient: imposta le istruzioni e le opzioni della sessione.
conversation.item.createClient: aggiunge un messaggio alla conversazione, testo o audio.
response.createClient: chiede al modello di rispondere.
response.output_audio.deltaServer: il frammento successivo dell'audio della risposta, in base64.
response.output_audio_transcript.deltaServer: il frammento successivo del testo di ciò che dice il modello.
response.doneServer: la risposta è completa.

Prezzi

  • Grok TTS si addebita per carattere del testo in input.
  • Grok STT si addebita per ora di audio.
  • Grok Voice si addebita per minuto di conversazione, più un piccolo costo per ogni messaggio di testo che invii.
  • Gemini si addebita in token: testo o audio in input, e audio o testo in output; un secondo di audio equivale a 25 token.

Esempio: grok-tts, 1.000 caratteri = 15,00 USD / 1M × 1.000 = 0,015 USD.

Il prezzo esatto di ogni modello è nella tabella qui sopra e nella pagina dei prezzi .

Errori

Codici di errore
HTTPCausa
400Un campo non valido, una voce o un formato sconosciuti.
401La chiave non è valida o è stata revocata.
402 / 403 / 429Saldo insufficiente o limite della chiave raggiunto. Ricarica e riprova.
5xxIl servizio è temporaneamente non disponibile. Riprova più tardi.
Una sola chiave per tutti i modelli L'audio si paga con lo stesso saldo del testo. Vedi la tabella completa dei modelli nella pagina dei modelli .

Risposte rapide

Quale base URL devo usare?

Claude Code e gli SDK Anthropic usano https://api.oneprovider.dev. Gli SDK OpenAI e i client compatibili con OpenAI usano https://api.oneprovider.dev/v1. Con una sola chiave funzionano entrambi; l'elenco dei modelli è nella pagina dei modelli , le tariffe nella pagina dei prezzi .

Come mi autentico?

Invia la chiave sk-… così com'è in x-api-key oppure in Authorization: Bearer: uno dei due, mai entrambi. Tieni la chiave in una variabile d'ambiente, non in un file che finisce nel commit. Altro sull'autenticazione .

Dove ottengo una chiave?

Apri la tua area personale nel bot Telegram @oneprovider_robot oppure su app.oneprovider.dev, ricarica il saldo e premi «Emetti una chiave». Ogni chiave può avere un proprio limite di spesa. Area personale e chiavi API .

Cosa significano 401, 404 e 429?

401: la chiave manca, è scritta male o è inviata nell'header sbagliato; incolla la chiave intera, senza virgolette né spazi. 404: di solito la base URL è sbagliata, per esempio manca /v1 o è doppio. 429 con “Insufficient balance”: il saldo dell'area personale o il limite di spesa della chiave è esaurito, quindi ricarica invece di riprovare; qualsiasi altro 429 è un limite di frequenza, quindi attendi il tempo indicato in Retry-After. Dettagli: codici di errore e risoluzione dei problemi .

Perché gli stream si interrompono o si resettano?

VPN e proxy VLESS spesso mettono in buffer gli SSE o rompono la negoziazione HTTP/2. OneProvider non ha restrizioni regionali e non mette in buffer gli stream: disattiva il proxy e riprova.

Dove chiedo se non basta?

Scrivi a @Oneproviderhelpbot su Telegram oppure apri «Assistenza» nell'area personale sul sito, indicando il codice di stato HTTP e il testo esatto dell'errore. Come funziona l'assistenza .

Ultimo aggiornamento: 2026-11-08 Hai trovato un errore? @Oneproviderhelpbot