Mirelo AI Sfx 1.6 Inpaint Audio API Documentation

Mirelo AI Sfx 1.6 Inpaint Audio API Documentation

Playground

Try it on WaveSpeedAI!

Mirelo SFX1.6 Inpaint Audio is a fast AI audio inpainting model that regenerates a selected segment of a short audio clip while preserving the audio outside that region. Ready-to-use REST inference API for sound effect repair, audio cleanup, segment regeneration, game audio, video production, cinematic sound design, and professional audio editing workflows with simple integration, no coldstarts, and affordable pricing.

Features

Mirelo AI SFX 1.6 Inpaint Audio regenerates a selected segment inside an existing audio clip while preserving the audio before and after that region. It is designed for audio repair, sound replacement, creative audio editing, and localized sound redesign workflows where you want to rewrite only part of a clip instead of regenerating the whole file.


Why Choose This?

  • Segment-level audio editing Regenerate only a selected section of an audio clip while keeping the rest unchanged.

  • Prompt-guided inpainting Add an optional text prompt to guide how the selected region should be regenerated.

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

  • Preserves surrounding audio Audio outside the selected inpaint segment remains intact.

  • Production-ready workflow Useful for sound repair, effect replacement, music cleanup, and creative segment editing.


Parameters

ParameterRequiredDescription
audioYesSource audio clip. Maximum duration is 10 seconds. Audio outside the selected segment is preserved.
start_sYesStart of the inpaint region in seconds. Must leave a 1 second left gap. Default: 2.
end_sYesEnd of the inpaint region in seconds. The segment span must be 1–8 seconds. Default: 6.
promptNoOptional text prompt guiding the regenerated segment.
num_samplesNoNumber of variations to generate. Range: 1–4. Default: 1.

How to Use

  1. Upload your audio — provide the source audio clip you want to edit.
  2. Set the inpaint region — choose start_s and end_s to define the segment you want to regenerate.
  3. Add a prompt (optional) — describe the sound, mood, or style you want for the regenerated segment.
  4. Set number of samples — choose how many variations you want, from 1 to 4.
  5. Submit — run the model and download the inpainted audio results.

Example Prompt

Replace this section with a darker cinematic ambience, soft low rumble, subtle tension, and cleaner transition into the following audio.


Pricing

Pricing is based on the inpainted segment length and number of samples.

Inpaint Length1 Sample2 Samples3 Samples4 Samples
1s$0.01$0.02$0.03$0.04
2s$0.02$0.04$0.06$0.08
4s$0.04$0.08$0.12$0.16
6s$0.06$0.12$0.18$0.24
8s$0.08$0.16$0.24$0.32

Billing Rules

  • Pricing is $0.01 per generated second
  • prompt does not affect pricing
  • Pricing is based on the regenerated segment only, not the full uploaded audio duration

Best Use Cases

  • Audio repair — Replace damaged or unwanted sections inside a clip.
  • Sound redesign — Change one localized segment without touching the rest of the recording.
  • Music cleanup — Rewrite small regions in intros, drops, transitions, or effects.
  • Creative editing — Test alternate versions of a section with multiple generated samples.
  • Loop and transition refinement — Improve a specific transition area inside a short clip.

Pro Tips

  • Choose the smallest region that needs replacement for more controllable results.
  • Use a clear prompt only when you need stronger direction for the regenerated section.
  • Keep the source audio clean so the transition into and out of the edited region feels smoother.
  • Increase num_samples when you want to compare multiple replacement options.
  • Double-check the start and end boundaries so the model edits exactly the intended segment.

Notes

  • audio, start_s, and end_s are required.
  • Source audio duration must not exceed 10 seconds.
  • The inpaint segment span must be between 1 and 8 seconds.
  • start_s must leave at least 1 second of audio before the edited region.
  • Audio outside the selected inpaint region is preserved.
  • Pricing depends on the regenerated segment length and sample count.

  • Mirelo AI SFX 1.6 Extend Audio — Extend an existing audio clip with newly generated continuation.
  • Other Mirelo AI sound generation workflows — Useful when you need full audio generation instead of localized editing.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result

set -euo pipefail

export WAVESPEED_API_KEY="your-api-key"

REQUEST_BODY=$(cat <<'JSON'
{
  "audio": "https://interactive-examples.mdn.mozilla.net/media/cc0-audio/t-rex-roar.mp3",
  "start_s": 2,
  "end_s": 6,
  "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/inpaint-audio" \
  -H "Authorization: Bearer ${WAVESPEED_API_KEY}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}")

TASK=$(printf '%s' "${SUBMIT_RESPONSE}" | jq 'if type == "object" and has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "${TASK}" | jq -r '.id // empty')
if [ -z "${PREDICTION_ID}" ]; 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 type == "object" and has("data") then .data else . end')
  STATUS=$(printf '%s' "${RESULT}" | jq -r '.status // empty')

  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

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
audiostringYes--Source audio. Maximum duration is 10 seconds. Audio outside the selected segment is preserved.
start_snumberYes21 ~ 9Start of the inpaint region in seconds. Must leave a 1 second left gap.
end_snumberYes62 ~ 10End of the inpaint region in seconds. The segment span must be 1 to 8 seconds.
promptstringNo-Optional text prompt guiding the regenerated segment.
num_samplesintegerNo11 ~ 4Number of variations to generate.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayOutput values, usually URL strings; some models return text strings or structured result objects (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction
data.modelstringModel ID used for the prediction
data.outputsarray<string | object>Array of generated outputs (empty when status is not completed). Items are usually URL strings, but may be text strings or structured result objects, depending on the model.
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to poll for the prediction result
data.statusstringStatus: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2026 WaveSpeedAI. All rights reserved.