Introduction
Describe the whole audio scene in one prompt: who speaks, how, and their lines in quotes, plus any music, ambience or sound effects. The task returns one audio file of up to about two minutes containing everything you described, including dialogue from more than one speaker: an MP3 unless you set output_format. To reuse a voice, upload up to three reference clips in reference_audio_urls and name them @Audio1 to @Audio3 in the prompt, or give one reference image in image_url instead; speed, pitch and volume fine-tune the delivery. SpicyAPI applies no content filter: every prompt is read as written. Each request costs the same flat price.
| Field | Value |
|---|---|
| Input | Text |
| Output | Audio |
| Required field | prompt — 1 to 2,000 characters |
| Optional fields |
|
| Result | One audio file of up to about two minutes: MP3 by default, or WAV, Ogg Opus, PCM |
| Speakers | Multiple, described in the prompt or drawn from up to three reference clips; no voice list |
| Billed quantity | One flat price per request |
| Retention | Generated audio is kept for 14 days |
Request parameters
| Parameter | Required | Description |
|---|---|---|
prompt | Yes | Describe the whole scene in up to 2,000 characters: each speaker and how they sound, their exact lines in quotes, and any music, ambience or sound effects. at least 1 characters · at most 2000 characters |
reference_audio_urls | No | Up to three MP3 or WAV clips to draw on: upload them or give public URLs. Each clip can be up to 30 seconds long and 10 MB. Cannot be combined with |
image_url | No | Optional reference image to build the audio around: upload one or give a public URL, then describe in prompt what the pictured person says or what the scene sounds like. at least 1 characters |
speed | No | Speaking rate from 0.5 (slower) to 2 (faster); 1 is the voice's normal pace. Does not change the price. |
pitch | No | Pitch shift in semitones, from -12 to 12; 0 keeps the voice's own pitch. Does not change the price. |
volume | No | Loudness multiplier from 0.5 to 2; 1 is the normal level. Does not change the price. |
output_format | No | File format: mp3 (default), wav, opus (Ogg Opus) or pcm, which is raw 16-bit little-endian stereo samples, interleaved, with no header, at the chosen |
sample_rate | No | Sample rate of the audio in Hz: 8000, 16000, 24000, 32000, 44100, 48000. Defaults to 24000. |
Pricing
$0.36 / request
One flat price per request, one clip of up to about two minutes.
Use cases
Multi-character audio dramas
Describe two or more speakers and put their lines in quotes, and the model gives each one a distinct voice in the same clip — no separate voice model needed for each character.
Sound-designed scenes
One prompt can call for dialogue, background music, ambience and sound effects together, so a single request returns a finished scene rather than a bare voice line.
Uncensored audio fiction
Prompts are read as written, with no content filter. In our tests a first-person monologue, narrated fiction and a scene set to rain ambience, all written past what other services accept, came back with every word spoken.
Voice tracks for video
Generate the scene here, then hand the MP3 to a talking-avatar or lip-sync model so a face performs it.
Prompt guide & pro tips
Describe the speakers
Say who is talking and how — a breathless whisper, a warm narrator — and put their exact words in quotes.
Add the soundscape
Mention any music, ambience or sound effects you want playing alongside the dialogue: a rainstorm, a ticking clock, a swelling score.
Keep it within 2,000 characters
One prompt covers one scene of up to about two minutes; longer stories need to be split across more than one request.
What it returns
One audio file per task, up to about two minutes long: an MP3 unless you set output_format. The file is copied to SpicyAPI storage and kept for 14 days.
Writing the prompt
Seed Audio 1.0 takes a single prompt field (up to 2,000 characters) that describes the whole scene:
- Who is speaking and how — a whisper, a warm narrator, a shouted line.
- Their exact words, in quotes.
- Any music, ambience or sound effects you want alongside the dialogue.
This model supports more than one speaker in the same clip: describe each character and their lines, and it gives each a distinct voice.
Reference audio and image
There is no voice list. To reuse a voice or a sound, upload up to three clips in reference_audio_urls and name them in the prompt as @Audio1, @Audio2 and @Audio3, in upload order — for example “Using the voice of @Audio1, a man says …”. Or give one picture in image_url and describe what the person in it says or how the scene sounds; the two inputs cannot be combined. Use only voices and images you have the right to use.
Delivery and format
speed (0.5–2), pitch (-12 to 12 semitones) and volume (0.5–2) fine-tune the delivery. output_format picks mp3 (default), wav, opus (Ogg Opus) or pcm, and sample_rate goes from 8000 to 48000 Hz. pcm is raw 16-bit little-endian stereo samples with no header, so it cannot be previewed in a browser; choose wav for the same samples in a playable file. None of these change the price.
Billing
One flat price per request, whatever the prompt length. Failed requests are not charged.
Content
SpicyAPI adds no content filter. In our tests, three prompts that other services refuse — a first-person monologue, narrated fiction and a scene set to rain ambience — all came back with every word spoken.
SpicyAPI adds no content filter: prompts are read as written, whatever they contain. You are responsible for the scenes you describe and for how you use the resulting audio, including not passing it off as a real person's words.
API quick start
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "bytedance/seed-audio-1.0/text-to-audio",
"input": {
"output_format": "mp3",
"prompt": "Calm ambient pads with a slow rising motif"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
See the API reference for authentication, the complete schema, polling, and error handling.
