Seedance 2.5 Now Live | Try in Video Generator →

mirelo-ai/

Mirelo SFX1.6 Text to Audio is a fast AI audio generation model that creates sound effects and ambient audio directly from text prompts, with optional seamless ambience looping. Ready-to-use REST inference API for sound effect generation, game audio, video production, cinematic sound design, background ambience, loopable audio assets, and professional audio workflows with simple integration, no coldstarts, and affordable pricing.

text-to-audio
Input

Idle

$0.01per run·~100 / $1

Related Models

README

Mirelo AI SFX 1.6 Text-to-Audio

Mirelo AI SFX 1.6 Text-to-Audio generates sound effects, ambience, and short audio clips from natural-language prompts. It supports loop-friendly ambience mode, multiple variations, flexible duration control, and optional doubled loop output for seamless background audio workflows.

Why Choose This?

  • Prompt-based audio generation Generate sound effects or ambient audio directly from a text description.

  • Flexible duration control Choose the target duration for the generated clip, from short effects to longer ambient beds.

  • Loop-friendly ambience mode Enable ambience to generate audio designed for seamless looping.

  • Multiple variations Generate up to 4 different versions in one request with num_samples.

  • Optional doubled loop output When using ambience mode, enable double_output to concatenate the loop with itself for a longer seamless result.

  • Production-ready API Useful for games, film, podcasts, background ambience, sound design, and content production workflows.

Parameters

ParameterRequiredDescription
text_promptYesText prompt describing the sound effect or ambient audio to generate. Minimum length: 4 characters.
durationNoTarget duration in seconds. Range: 0.1–60. Default: 10.
ambienceNoWhen true, generate and stitch the result so the tile loops seamlessly. Default: false.
double_outputNoOnly used when ambience is true: concatenate the loop with itself for a 2x-length output. Default: false.
num_samplesNoNumber of variations to generate. Range: 1–4. Default: 1.

How to Use

  1. Write your prompt — describe the sound, mood, texture, or environment you want.
  2. Set duration — choose how long the generated audio should be.
  3. Enable ambience (optional) — turn this on if you want a seamless loopable result.
  4. Enable double output (optional) — when using ambience, use this to produce a doubled loop.
  5. Set number of samples — choose how many variations you want, from 1 to 4.
  6. Submit — run the model and download the generated audio.

Example Prompt

Dark cinematic ambience with distant thunder, soft low-frequency rumble, subtle wind, and evolving tension

Pricing

Pricing is based on generated duration and number of samples.

Duration1 Sample2 Samples3 Samples4 Samples
1s$0.01$0.02$0.03$0.04
5s$0.05$0.10$0.15$0.20
10s$0.10$0.20$0.30$0.40
20s$0.20$0.40$0.60$0.80
30s$0.30$0.60$0.90$1.20
60s$0.60$1.20$1.80$2.40

Billing Rules

  • Pricing is $0.01 per generated second
  • text_prompt does not affect pricing
  • This pricing assumes ambience and double_output do not change billing unless your backend explicitly makes them billable

Best Use Cases

  • Sound effects — Generate short custom SFX for games, apps, and media.
  • Ambient loops — Create seamless background beds for environments and scenes.
  • Content production — Add generated sound design to videos, podcasts, or social content.
  • Creative prototyping — Explore multiple sound directions quickly with several variations.
  • Game and app audio — Produce loopable background textures and interactive sound assets.

Pro Tips

  • Be specific in your prompt about texture, mood, environment, and intensity.
  • Use ambience when the output needs to loop smoothly.
  • Turn on double_output only when you want a longer looped deliverable.
  • Increase num_samples when you want multiple creative options from the same prompt.
  • Start with shorter durations for testing, then scale up once the direction feels right.

Notes

  • text_prompt is required.
  • duration supports 0.1–60 seconds.
  • num_samples supports 1–4.
  • double_output only applies when ambience is enabled.
  • Pricing is based on requested generation duration and sample count.

Related Models

  • Mirelo AI SFX 1.6 Extend Audio — Extend an existing audio clip with newly generated continuation.
  • Mirelo AI SFX 1.6 Inpaint Audio — Regenerate a selected segment inside an existing audio clip.
  • Other Mirelo AI sound generation workflows — Useful when you need continuation or localized audio editing instead of fresh generation.
Note:This website uses AI models provided by third parties. Documentation prices are for reference and may be outdated. The Generate button shows an estimate; the final task charge prevails.

Sfx 1.6 Text To Audio API — Quick start

Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/mirelo-ai/sfx-1.6/text-to-audio with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Sfx 1.6 Text To Audio below.

HTTP example
set -euo pipefail

: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"

REQUEST_BODY=$(cat <<'JSON'
{
    "text_prompt": "example",
    "duration": 10,
    "ambience": false,
    "double_output": false,
    "num_samples": 1
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/mirelo-ai/sfx-1.6/text-to-audio" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $WAVESPEED_API_KEY" \
  -d "$REQUEST_BODY")

TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL=$(printf '%s' "$TASK" | jq -r '.urls.get // empty')
if [ -z "$RESULT_URL" ]; then
  RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
fi

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
    -H "Authorization: Bearer $WAVESPEED_API_KEY")
  RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
  STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
  case "$STATUS" in
    completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
    failed|cancelled|timeout) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
    created|processing) sleep 2 ;;
    *) printf 'Unexpected status: %s
' "$STATUS" >&2; exit 1 ;;
  esac
done
Node.js example
const submitUrl = "https://api.wavespeed.ai/api/v3/mirelo-ai/sfx-1.6/text-to-audio";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');

async function requestJson(url, options = {}) {
  const response = await fetch(url, options);
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
        "text_prompt": "example",
        "duration": 10,
        "ambience": false,
        "double_output": false,
        "num_samples": 1
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = task.urls?.get ||
  `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;

// 2. Poll until the prediction finishes.
while (true) {
  const resultBody = await requestJson(resultUrl, {
    headers: { "Authorization": `Bearer ${apiKey}` },
  });
  const result = resultBody.data ?? resultBody;
  if (result.status === "completed") {
    console.log(result.outputs);
    break;
  }
  if (["failed", "cancelled", "timeout"].includes(result.status)) throw new Error(JSON.stringify(result));
  if (!["created", "processing"].includes(result.status)) throw new Error("Unexpected status: " + result.status);
  await new Promise(resolve => setTimeout(resolve, 2000));
}
Python example
import json
import os
import time
from urllib.request import Request, urlopen

api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
    "text_prompt": "example",
    "duration": 10,
    "ambience": False,
    "double_output": False,
    "num_samples": 1
}

def request_json(url, data=None):
    request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
    with urlopen(request) as response:
        return json.load(response)

# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/mirelo-ai/sfx-1.6/text-to-audio", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
    raise RuntimeError("Submission response did not contain a prediction id")
result_url = task.get("urls", {}).get("get") or f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"

# 2. Poll until the prediction finishes.
while True:
    result_body = request_json(result_url)
    result = result_body.get("data", result_body)
    status = result.get("status")
    if status == "completed":
        print(result.get("outputs", []))
        break
    if status in {"failed", "cancelled", "timeout"}:
        raise RuntimeError(result)
    if status not in {"created", "processing"}:
        raise RuntimeError(f"Unexpected status: {status}")
    time.sleep(2)

Sfx 1.6 Text To Audio API — Frequently asked questions

What is the Sfx 1.6 Text To Audio API?

Sfx 1.6 Text To Audio is a Mirelo Ai model for audio generation, exposed as a REST API on WaveSpeedAI. Mirelo SFX1.6 Text to Audio is a fast AI audio generation model that creates sound effects and ambient audio directly from text prompts, with optional seamless ambience looping. Ready-to-use REST inference API for sound effect generation, game audio, video production, cinematic sound design, background ambience, loopable audio assets, and professional audio workflows with simple integration, no coldstarts, and affordable pricing. You can call it programmatically or try it from the playground above.

How do I call the Sfx 1.6 Text To Audio API?

POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates production-oriented Python, JavaScript, and cURL examples with timeouts, transient-error handling, and safe GET retries. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/mirelo-ai/mirelo-ai-sfx-1.6-text-to-audio.

How much does Sfx 1.6 Text To Audio cost per run?

Sfx 1.6 Text To Audio starts at $0.010 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.

What inputs does Sfx 1.6 Text To Audio accept?

Key inputs: `duration`, `ambience`, `double_output`, `num_samples`, `text_prompt`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/mirelo-ai/mirelo-ai-sfx-1.6-text-to-audio.

How long does Sfx 1.6 Text To Audio take to generate?

Median end-to-end generation time on WaveSpeedAI is around 7 seconds per request, based on recent successful runs. Queue time varies with global demand; live status is visible in the prediction record.

Can I use Sfx 1.6 Text To Audio outputs commercially?

Commercial usage rights depend on the model's license, set by its provider (Mirelo Ai). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.

Sfx 1.6 Text to Audio | Realistic Voice & TTS API on WaveSpeedAI