UtteraUttera

La caché de voz: qué es, qué no es, y cómo renunciar a ella

15 de septiembre de 2026

Cuando conviertes un texto en voz, guardamos el audio resultante durante 60 minutos. Si en esa hora vuelves a pedir exactamente lo mismo, te lo servimos del disco en milisegundos en vez de volver a sintetizarlo, y te cuesta el 10 %.

Eso es todo lo que hace. Como cualquier cosa que guarda datos de un cliente, merece una explicación completa y no una línea en los términos de servicio.

Por qué está ahí: el ahorro es tuyo

Sintetizar voz consume GPU, y nosotros cobramos por segundo de GPU. Servir un audio ya generado no consume prácticamente nada, así que no tendría sentido cobrártelo igual.

De ahí el 10 %. No es un descuento promocional: es aproximadamente lo que cuesta darte un fichero que ya existe.

Y el caso real al que responde no es rebuscado. Es el aviso de centralita que se genera cien veces en una tarde. Es el desarrollador que prueba la misma frase veinte veces seguidas mientras ajusta la velocidad. Es la plantilla de un correo automático que dice siempre lo mismo. En todos esos, volver a gastar una tarjeta gráfica para producir un fichero idéntico al de hace diez minutos es tirar tu dinero.

Qué no significa una hora

Aquí es donde conviene ser preciso, porque «guardamos tu audio una hora» suena peor de lo que es.

Una caché no es un archivo que alguien consulta. Es una tabla de coincidencia exacta: mismo texto, misma voz, mismo formato, misma velocidad. Si cambia una coma, ya es otra entrada. Nadie la lee, nadie la recorre, nadie la indexa. Lo único que puede salir de ahí es el mismo fichero devuelto a quien pidió exactamente lo mismo.

Dicho de otra forma: esa hora no es una hora de acceso a tus datos. Es la ventana en la que una petición idéntica a la tuya se ahorra la GPU.

Y no es una promesa sobre lo que haremos con ello, porque sobre eso ya está escrito lo demás: tu audio y tu texto no entrenan ningún modelo, no se agregan en estadísticas y no se «anonimizan» para reutilizarlos. La caché no abre una puerta a nada de eso.

Caduca y se borra de verdad

Un detalle que no siempre se cumple cuando alguien dice «lo guardamos una hora»: hay dos diseños que se parecen mucho en el código y no se parecen en nada en la práctica.

Nosotros tenemos el segundo. Hay un barrido periódico que elimina del disco lo caducado, no solo una condición de lectura que deja de dar por bueno el fichero. Una hora significa una hora.

Cómo renunciar

Hay trabajos que no admiten que el audio quede en un disco ajeno ni una hora: dictado clínico, notas legales, un mensaje personal. Para esos, la caché se apaga por petición, sin pedirnos permiso, sin cambiar de plan y sin tocar tu cuenta. Tres formas equivalentes:

# 1) En el cuerpo JSON
-d '{"model":"tts-1","input":"Notas privadas","voice":"nova","cache":false}'

# 2) Como campo del formulario (acepta 0 / false / no / off)
-F input="Notas privadas" -F voice=nova -F cache=false

# 3) Con la cabecera HTTP de toda la vida, sin tocar el cuerpo
-H "Cache-Control: no-cache"

El audio se genera y se te entrega igual. Lo que no ocurre es que se escriba ni se lea nada del disco. Pagas el precio completo, que es justo lo que cuesta.

Y no tienes que fiarte de nuestra palabra: cada respuesta te dice qué se hizo.

X-Cache Qué pasó
HIT Se sirvió de la caché. Cuesta el 10 %.
MISS Se generó y se guardó para la hora siguiente.
BYPASS Lo pediste sin caché: se generó y no se guardó nada.
ADHOC Voz clonada al vuelo. Nunca se cachea, la pidas o no.
DISABLED La caché está apagada en el servidor.

Fíjate en ADHOC. Cuando clonas una voz a partir de una muestra que tú aportas, ese audio no entra en la caché aunque no digas nada. No nos pareció razonable que la decisión por defecto en el caso más sensible dependiera de que el cliente se acordara.

Un compromiso, y el derecho a no aceptarlo

Toda caché es un trato: cedes un poco de control sobre dónde está un dato a cambio de velocidad y de dinero. Es un buen trato para la mayoría de los usos, y por eso viene puesta.

Pero es tu trato, no el nuestro, así que tienes que poder deshacerlo — y deshacerlo petición a petición, no abriendo un ticket ni contratando un plan superior. Una opción de privacidad que exige negociar no es una opción de privacidad.

Si te interesa el detalle exacto, está en la documentación de servicios, con los códigos de respuesta y los ejemplos completos.

¿Algo que añadir o que corregir? Escríbenos a support@uttera.ai. Si nos corriges, editamos la entrada y te damos crédito.

← Todas las entradas