Antes
from openai import OpenAI
client = OpenAI(
api_key="sk-proj-…"
)La API de audio de Uttera habla el mismo idioma que la de OpenAI. Cambias dos líneas y tu código sigue funcionando — con el SDK oficial, sin envoltorios ni parches.
Conseguir una clave Ver la integración
Probado con el SDK oficial openai de Python · Sin cambiar una
sola llamada
Esto es literalmente todo lo que cambia.
from openai import OpenAI
client = OpenAI(
api_key="sk-proj-…"
)from openai import OpenAI
client = OpenAI(
api_key="sk-echo-…",
base_url="https://api.uttera.ai/v1"
)El resto del fichero no se toca.
Comprobado contra el SDK oficial, no deducido de la documentación.
client.audio.speech.create(
model="tts-1",
voice="dora",
input="Hola.")
Con tts-1 y tts-1-hd, como allí. Las voces son las
nuestras: GET /v1/audio/voices las lista.
client.audio.transcriptions.create(
model="whisper-1",
file=f)
Whisper large-v3-turbo por debajo. Acepta wav mp3 flac ogg opus aiff m4a
webm.
client.models.list()
Devuelve tts-1, tts-1-hd y whisper-1. Sirve
para comprobar de un vistazo que la clave y la URL están bien.
Prometer compatibilidad total y que te estrelles en producción sería peor que no prometer nada.
chat.completions, embeddings, imágenes y lo demás
devuelven 404. Uttera hace audio: no es un reemplazo de OpenAI entero, es un
reemplazo de su parte de audio.
Si tu aplicación usa las dos cosas, deja el cliente de OpenAI para el texto y crea un segundo cliente para el audio. Son cuatro líneas.
Fuera del molde de OpenAI hay cosas que allí no existen: traducción de una grabación a otro idioma con voz, resumen estructurado, quién habla y cuándo, tono y perfil del hablante, efectos de sonido y música.
Se llaman igual, con el mismo cliente y la misma clave. Están todas aquí →
Porque si sólo fuera «lo mismo pero de otro», no habría motivo.
El audio se procesa en hardware propio en España. No hay transferencia internacional que justificar, ni cláusulas tipo, ni la pregunta de qué ley alcanza a tus datos. Por qué eso decide compras →
Ni los tuyos ni los de nadie. El audio se procesa y se descarta al responder: no queda copia con la que hacerlo aunque quisiéramos.
Los motores están publicados con licencia abierta. Una afirmación sobre privacidad que sólo se puede creer vale menos que una que se puede leer. El código →
Sin instalar nada más que lo que ya tienes.
export UTTERA_API_KEY=sk-echo-…
python3 - <<'PY'
import os
from openai import OpenAI
c = OpenAI(api_key=os.environ["UTTERA_API_KEY"],
base_url="https://api.uttera.ai/v1")
print([m.id for m in c.models.list()])
r = c.audio.speech.create(model="tts-1", voice="dora", input="Funciona.")
open("prueba.mp3", "wb").write(r.content)
PY
Hay ejemplos equivalentes en curl y en Node en uttera-examples →
Una cuenta, una clave y créditos para probar. Sin tarjeta.