OpenAI retira tts-1, tts-1-hd y gpt-4o-mini-tts de su API el 6 de enero de 2027.Fuente

Alternativa a OpenAI TTS: mantén el SDK, cambia la URL base

Fish Audio admite la misma llamada a /v1/audio/speech. Apunta tu cliente de OpenAI a Fish, elige el modelo gratuito y tu código de síntesis de voz seguirá funcionando cuando desaparezcan los modelos TTS de OpenAI.

No se requiere tarjeta de crédito: fish-audio/s2.1-pro-free cuesta $0 hasta el 30 de noviembre de 2026.

Dos líneas redirigen el cliente

base_url y api_key apuntan el SDK oficial de OpenAI a Fish. En la llamada, indica un modelo y una voz de Fish. El código nuevo funciona tal cual en una cuenta nueva con saldo de $0.

import os from openai import OpenAI client = OpenAI(Línea añadida:     base_url="https://api.fish.audio/compat/v1",Línea eliminada:     api_key=os.environ["OPENAI_API_KEY"],Línea añadida:     api_key=os.environ["FISH_API_KEY"],) with client.audio.speech.with_streaming_response.create(Línea eliminada:     model="tts-1",Línea eliminada:     voice="alloy",Línea añadida:     model="fish-audio/s2.1-pro-free",Línea añadida:     voice="",    input="Hello, world!",    response_format="mp3",) as response:    response.stream_to_file("speech.mp3")
import fs from "node:fs";import OpenAI from "openai"; const client = new OpenAI({Línea añadida:   baseURL: "https://api.fish.audio/compat/v1",Línea eliminada:   apiKey: process.env.OPENAI_API_KEY,Línea añadida:   apiKey: process.env.FISH_API_KEY,}); const response = await client.audio.speech.create({Línea eliminada:   model: "tts-1",Línea eliminada:   voice: "alloy",Línea añadida:   model: "fish-audio/s2.1-pro-free",Línea añadida:   voice: "",  input: "Hello, world!",  response_format: "mp3",});fs.writeFileSync("speech.mp3", Buffer.from(await response.arrayBuffer()));
Línea eliminada: curl https://api.openai.com/v1/audio/speech \Línea eliminada:   -H "Authorization: Bearer $OPENAI_API_KEY" \Línea añadida: curl https://api.fish.audio/compat/v1/audio/speech \Línea añadida:   -H "Authorization: Bearer $FISH_API_KEY" \  -H "Content-Type: application/json" \  -d '{Línea eliminada:     "model": "tts-1",Línea eliminada:     "voice": "alloy",Línea añadida:     "model": "fish-audio/s2.1-pro-free",Línea añadida:     "voice": "",    "input": "Hello, world!",    "response_format": "mp3"  }' \  --output speech.mp3

Requiere el SDK oficial de OpenAI (pip install openai o npm install openai) y tu clave de API de Fish en FISH_API_KEY.

Qué más cambia

  • voice recibe un ID de voz de Fish. Los nombres predefinidos de OpenAI, como nova, devuelven un 400; una cadena vacía usa la voz predeterminada del modelo.
  • En Fish, el valor predeterminado de response_format es pcm, no mp3. Indícalo explícitamente.
  • instructions no está soportado y devuelve un 400. En su lugar, escribe las indicaciones de interpretación en el texto, como [whispering].
  • tts-1, tts-1-hd y gpt-4o-mini-tts siguen funcionando como nombres de modelo. Se asignan al modelo de pago fish-audio/s2.1-pro.

Elige una voz

Las voces predefinidas de OpenAI no existen en Fish. Pasa el ID de cualquier voz de la Biblioteca de voces de Fish o de una voz que clones. Una cadena vacía usa la voz predeterminada del modelo.

Hannah · Biblioteca de voces

voice="9a9cf47702da476aa4629e2506d4a857"
Explorar la Biblioteca de voces

Precios

S2.1-Pro factura por bytes UTF-8 del texto de entrada. En inglés, un carácter es un byte, así que cuesta lo mismo que tts-1 y la mitad que tts-1-hd. La mayoría de los caracteres chinos, japoneses y coreanos ocupan 3 bytes.

ModeloPrecio
Fish Audiofish-audio/s2.1-pro-freeGratis hasta el 30 de noviembre de 2026, dentro de los límites de uso razonable. El mismo modelo que S2.1-Pro, sin garantías de latencia (TTFA) ni DPA; las solicitudes pueden usarse para mejorar el modelo.$0.00 / 1M bytes UTF-8
Fish Audiofish-audio/s2.1-proPara producción. Pago por uso, sin suscripción.$15.00 / 1M bytes UTF-8
OpenAItts-1Se retira de la API de OpenAI el 6 de enero de 2027.$15.00 / 1M caracteres
OpenAItts-1-hdSe retira de la API de OpenAI el 6 de enero de 2027.$30.00 / 1M caracteres

Precios de las páginas oficiales de precios, consultados el 29 de octubre de 2026:Fish AudioOpenAI

Preguntas frecuentes

La página de deprecaciones de OpenAI indica que tts-1, tts-1-hd y gpt-4o-mini-tts se retirarán de la API el 6 de enero de 2027. Su reemplazo recomendado, gpt-realtime-2.1-mini, funciona en la Realtime API, no en /v1/audio/speech.

Cambia antes del 6 de enero de 2027

Crea una clave gratis, cambia dos líneas y sigue generando voz.