Mirelo AI
Mirelo SFX 2.0
mirelo-sfx-2.0
An audio output model for sound effect generation scenarios, suitable for producing and batch-iterating sound effect assets for content such as videos and games
Try mirelo-sfx-2.0
Input
Showcases
View all showcasesOutput
Pricing
mirelo-sfx-2.0 per second
| Unit Price | $0.0215 |
|---|
Overview
mirelo-sfx-2.0 is a sound effect generation model accessed through the unified HiAPI.ai interface. It takes a text prompt and outputs audio. Callers describe the sound source, material, action, distance, and environment in the prompt, and specify a duration of 1 to 30 seconds (5 seconds by default). It is suited to video, game, and interactive content developers who need to produce sound effect assets in bulk, as well as teams that want to integrate sound effect generation into automated production pipelines.
Key Highlights
- Generate sound effects directly from text descriptions — describe the sound source, material, action, distance, and environment in a prompt to get the corresponding audio, with no need to record or sample assets.
- Specify generation duration in seconds — a single generation supports 1 to 30 seconds, with a default of 5 seconds, so sound effects can match the actual length of a shot or interaction event.
- Unified billing by output seconds — cost is directly tied to the duration of the generated audio, making the cost of short and long sound effects predictable.
Capabilities
Prompt-driven sound effect generation: describe the desired sound in up to 2000 characters of text, and the model outputs the corresponding audio, eliminating asset search and recording.
Controllable audio duration: use the duration parameter to specify an output length of 1 to 30 seconds, making it easy to align with the rhythm of video clips, animated shots, or interaction feedback.
Structured sound description: prompts support combinations of sound source, material, action, distance, and environment, making it easy to portray the spatial sense and texture of sound effects for specific scenes.
Unified interface access: called through a single HiAPI.ai interface, the output audio can be fed directly into existing audio or content pipelines.
Use Cases
- Video editors adding ambient sound to shots — enter a sound description corresponding to the shot content and set the duration to get ambient sound effect assets that can be laid directly onto the timeline.
- Game developers creating interaction sound effects — generate short sound effects based on action and material descriptions for event-triggered playback such as button feedback, collisions, or item pickup.
- Content teams iterating on sound effect options in bulk — adjust the description wording in the same prompt and generate multiple times to quickly compare different options, then use the chosen one in the final cut.
Limitations and Selection Advice
Currently only text prompts are supported as input; reference audio cannot be uploaded for timbre transfer or style matching. The output duration limit is 30 seconds, and longer continuous sounds need to be generated in segments and stitched together manually. If the task requires human voice, music, or songs with lyrics, choose the corresponding speech synthesis or music generation model. For situations with strict requirements on details such as the spectrum and dynamics of sound effects, it is recommended to generate candidate assets first and then manually screen and post-process them.
What's new
View changelog →- New model New model: mirelo-sfx-2.0
Create a generation task
https://api.hiapi.ai/v1/tasks Headers
AuthorizationstringRequiredAccount API key. Required on every request. Example: Bearer YOUR_HIAPI_API_KEY. Get your API key
Content-TypestringOptionalThe request body is always parsed as JSON; when sent, only application/json (optionally with charset) is accepted — any other value returns 415. Example: application/json.
Idempotency-KeystringOptionalIdempotency key, up to 255 bytes. Retries with the same key from the same account create the task only once; replays return the original taskId.
On network timeouts or client retries, the same key creates the task only once — no double charges (scope: the API key's account). Use a business-unique identifier as the key (e.g. "order-42"); replays return the original taskId, and keys expire 24 hours after the first request. See the Unified Async API overview for the full scenario matrix.
Body
modelstringRequiredCurrent fixed value: mirelo-sfx-2.0
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for mirelo-sfx-2.0 and route default — see the parameter table below.
promptstringRequiredminLength 1maxLength 2000pattern \SUsed to describe the sound effect you want to generate; it is recommended to cover elements such as sound source, material, action, distance, and environment; string, up to 2,000 characters.
durationintegerOptionalDefault: 5min 1max 30Controls the duration of the generated sound effect, in seconds, as an integer between 1 and 30; defaults to 5 seconds.
callbackobjectOptional
Terminal-state notification config. When omitted, no callback is delivered — poll the task yourself. See the callback note below.
Provide callback.url when creating a task and HiAPI POSTs to your service once the task reaches a terminal state — no polling needed. The callback payload mirrors the task detail structure; signature verification, delivery retries and idempotency are documented on the Unified Async API overview page.
urlstringRequiredRequired when callback is present. A POST is sent to this URL once the task reaches a terminal state; must be a valid http(s) URL.
whenstringOptionalDefault: "final"Only final is supported today — notified on both success and fail.
finalstoragestringOptionalDefault: "temp"Artifact storage tier: temp (default, retained about 7 days) or persistent (long-term, billed by size). Insufficient balance or exceeding the storage cap silently downgrades to temp; the effective tier is shown in the task detail response.
temppersistentRequest examples
# Submit an async task; returns a taskId immediately (no waiting for generation)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "mirelo-sfx-2.0",
"input": {
"prompt": "…",
"duration": 5
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "mirelo-sfx-2.0",
input: {
"prompt": "…",
"duration": 5
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "mirelo-sfx-2.0",
"input": {
"prompt": "…",
"duration": 5
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Get task detail
https://api.hiapi.ai/v1/tasks/:id Response fields
taskIdstringRequiredTask ID, always prefixed with tk-hiapi-.
modelstringRequiredResolved full model name. Tasks submitted with the route parameter return base@route (e.g. gpt-image-2/text-to-image@ext); otherwise identical to the name passed at creation.
routestringOptionalPresent only when the task was submitted with an explicit route parameter; echoes the submitted value.
statusstringRequiredTask status.
queued Queued, not started yet.
handling Being processed.
archiving Processing finished, artifacts being prepared.
success Terminal: completed, artifacts available (output returned).
fail Terminal: failed (error returned).
After submission, check status: success and fail are terminal, everything else is non-terminal. Poll every 1–3 seconds until terminal. On success, download artifacts from output[].url and transfer them before expireAt; pass storage: "persistent" at creation time when long-term retention is needed.
creatednumberRequiredTask creation time (Unix seconds).
completednumberRequiredUnix seconds when the task reached a terminal state; fixed to 0 while not terminal.
outputarrayOptional
Present only when status == success. Artifact list — always an array; a single task may return multiple types at once (e.g. video + first_frame).
Array [ object ]
Array items
urlstringRequiredArtifact URL, directly downloadable.
typestringRequiredCurrent possible values: video, image, audio, first_frame, last_frame, thumbnail; more may be added later.
expireAtnumberRequiredUnix seconds until which the artifact remains accessible; download or transfer before it expires.
errorobjectOptional
Present only when status == fail.
codestringRequiredBusiness error code.
messagestringRequiredError description.
Response examples
Success
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Processing (non-terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Failed
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
View all articles →Related Models
View all models →Same Type
-
MiniMax Music 3 MiniMax $0.0026 /second -
MiniMax Music 2.6 MiniMax $0.210 /song -
Gemini 3.1 Flash TTS Google -- -
Mureka 9.5 Mureka $0.322 per request -
MiniMax Music 1.5 MiniMax $0.070 /song -
Qwen Audio 3.0 TTS Alibaba $0.030 /1,000 characters -
Lyria 3.5 Google $0.090 /song -
ElevenLabs ElevenLabs $0.0029 /second -
Lyria 3 Pro Google $0.140 /song



