UtteraUttera

Sounds

Describe a sound and you get a clip. Describe a whole scene and you get it split into events placed in time, which you can fix before generating them, and then mixed.

It is built for people editing video: what they lack is not a timeline —they already have one— but the specific sound. That is why this hands back clips, not projects.

Output is 48 kHz stereo WAV, the rate video works at. The model generates at 44.1 kHz and we upsample to 48 before handing it over; upsampling loses nothing of what the model made.

All audio is watermarked. It carries an inaudible watermark identifying it as machine-generated. It is required by Article 50(2) of the EU AI Act and cannot be turned off, neither over the API nor from the Studio. The mark survives compression and a phone call.
Powered by Stability AI. Sound is generated with Stable Audio Open by Stability AI, trained only on public-domain and freely licensed audio, except where expressly stated otherwise. What you generate is yours, to the extent set out in your plan's usage licence.

A scene

A scene takes two steps, and the middle one is editable on purpose:

  1. The plan. You describe the scene in plain language —"a motorcycle stops after eight seconds, the rider gets off and walks to the sea"— and a language model breaks it into events with their start time and length. No audio is generated here.
  2. The generation. With the plan fixed to your liking, each event is generated and all of them are mixed, honouring the timings.

Two steps and not one because six events are six generations: spending them on a plan that was not what you meant is throwing them away. And seeing the plan shows how the tool thinks, which is half of learning to use it.

Events can overlap, and they should: a background ambience running the whole scene with the hits on top sounds like a scene; clips glued end to end sound like a list of clips.

Over the API

Three routes. All of them need a paid plan.

One sound

POST /v1/audio/sfx — JSON body, returns the WAV.

FieldTypeWhat it is
descripciontextRequired. The sound you want. The model understands English far better than other languages.
segundosnumberLength, 1 to 30. Defaults to 10.
seedintegerThe same seed with the same description gives the same sound. If you omit it, the engine picks one and hands it back to you.
traducirbooleantrue translates the description into English before generating, and tells you in X-Prompt which text was actually used.
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 sound.wav

Response headers: X-Seed (the seed actually used), X-Seconds, X-Generations, X-Watermark, X-Prompt and X-Translated.

The plan of a scene

POST /v1/audio/sfx/plan — takes descripcion and segundos (4 to 120) and returns the list of events. It generates no audio: you are only charged for the language model's work.

The scene

POST /v1/audio/sfx/scene — takes the plan, edited if you want, and returns JSON with the mix and the separate pieces, all as base64-encoded WAV and all watermarked.

{"segundos": 20,
 "sucesos": [{"inicio": 0.0, "duracion": 20.0, "prompt": "quiet kitchen ambience"},
             {"inicio": 4.0, "duracion": 4.0,  "prompt": "fridge door opening"}]}

Limits and cost

WhatHow much
Length of one sound30 s
Length of a scene120 s
Events per scene6, 2 to 30 s each
Request body64 kB (it is JSON, not a file)
PlanPaid. Not on the free plan.

Charged per generation, not per second

And that is not a rounding of ours: it is diffusion, and the cost is set by the sampler's steps, not by the length you ask for. Measured on our node, a 5-second clip and a 30-second one take the same time. Charging per second would make the short one cost six times less for exactly the same work.

One sound is 11.636 credits flat, plus 0.026 per second of audio, which is what watermarking costs. A 10 s clip comes to 11.90. A scene is as many generations as it has events, plus the planner's tokens, charged like the summary's.

One generation at a time across the whole system. It is diffusion and two do not fit in the card's memory. There is a short queue: if it is busy you wait a few seconds. If the queue is full, the answer is 503.