Sonidos
Describes un sonido y sale un clip. Describes una escena entera y sale repartida en sucesos colocados en el tiempo, que puedes corregir antes de generarlos, y luego mezclada.
Está pensado para quien monta vídeo: lo que no tiene no es una línea de tiempo —ésa ya la tiene en su editor— sino el sonido concreto. Por eso esto entrega clips y no proyectos.
La salida es WAV estéreo a 48 kHz, que es el ritmo con el que trabaja el vídeo. El modelo genera a 44,1 kHz y nosotros lo subimos a 48 antes de entregarlo; subir no pierde nada de lo que el modelo hizo.
Una escena
Una escena va en dos pasos, y el intermedio es editable a propósito:
- El plan. Describes la escena en lenguaje normal —«una moto para a los ocho segundos, se baja y anda hasta el mar»— y un modelo de lenguaje la descompone en sucesos con su momento de inicio y su duración. Aquí no se genera audio.
- La generación. Con el plan ya corregido, cada suceso se genera y todos se mezclan respetando los tiempos.
Son dos pasos y no uno porque seis sucesos son seis generaciones: gastarlas en un plan que no era el que querías es tirarlas. Y ver el plan enseña cómo piensa la herramienta, que es la mitad de aprender a usarla.
Los sucesos pueden solaparse, y conviene que lo hagan: un ambiente de fondo que dura toda la escena con los golpes encima suena a escena; pegados uno detrás de otro suenan a lista de clips.
Por la API
Tres rutas. Todas requieren un plan de pago.
Un sonido
POST /v1/audio/sfx — cuerpo JSON, devuelve el WAV.
| Campo | Tipo | Qué es |
|---|---|---|
descripcion | texto | Obligatorio. Qué sonido quieres. El modelo entiende inglés mucho mejor que castellano. |
segundos | número | Duración, de 1 a 30. Por defecto 10. |
seed | entero | La misma semilla con la misma descripción da el mismo sonido. Si no la mandas, el motor elige una y te la devuelve. |
traducir | booleano | true traduce
la descripción al inglés antes de generar, y te dice en
X-Prompt con qué texto se generó. |
curl -X POST https://api.uttera.ai/v1/audio/sfx \
-H "Authorization: Bearer $UTTERA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"descripcion":"waves breaking on a pebble beach","segundos":12}' \
-o sonido.wav
Cabeceras de la respuesta: X-Seed (la semilla usada),
X-Seconds, X-Generations, X-Watermark,
X-Prompt y X-Translated.
El plan de una escena
POST /v1/audio/sfx/plan — recibe descripcion y
segundos (4 a 120) y devuelve la lista de sucesos. No genera
audio: se cobra sólo el trabajo del modelo de lenguaje.
La escena
POST /v1/audio/sfx/scene — recibe el plan, ya corregido si
quieres, y devuelve JSON con la mezcla y las piezas sueltas, todas
en WAV codificado en base64 y todas marcadas.
{"segundos": 20,
"sucesos": [{"inicio": 0.0, "duracion": 20.0, "prompt": "quiet kitchen ambience"},
{"inicio": 4.0, "duracion": 4.0, "prompt": "fridge door opening"}]}
Límites y coste
| Qué | Cuánto |
|---|---|
| Duración de un sonido | 30 s |
| Duración de una escena | 120 s |
| Sucesos por escena | 6, de 2 a 30 s cada uno |
| Cuerpo de la petición | 64 kB (es JSON, no un fichero) |
| Plan | De pago. No está en el gratuito. |
Se cobra por generación, no por segundo
Y no es un redondeo nuestro: es difusión, y el coste lo marcan los pasos del muestreador, no la duración que pidas. Medido en nuestro nodo, un clip de 5 segundos y uno de 30 tardan lo mismo. Cobrar por segundo haría que el corto costara seis veces menos por exactamente el mismo trabajo.
Un sonido son 11,636 créditos fijos, más 0,026 por segundo de audio, que es lo que cuesta marcarlo. Un clip de 10 s sale a 11,90. Una escena son tantas generaciones como sucesos, más los tokens del planificador, que se cobran como los del resumen.
503.