Skip to main content
POST
Detect AI-generated music in an audio file

Authorizations

X-API-Key
string
header
required

API key used for authentication and usage tracking.

Body

multipart/form-data
upload_file
file
required

Audio file to analyse. Must be non-empty. Supported formats: .3g2, .3ga, .3gp, .3gpp, .8svx, .aa3, .aac, .ac3, .act, .adts, .aif, .aifc, .aiff, .alac, .amb, .amr, .ape, .asf, .at3, .au, .avi, .avr, .awb, .bwf, .c2, .caf, .dss, .dts, .dtshd, .eac3, .ec3, .f4a, .f4b, .flac, .flv, .gsm, .iff, .m2a, .m2ts, .m4a, .m4b, .m4r, .m4v, .mka, .mkv, .mlp, .mmf, .mov, .mp+, .mp1, .mp2, .mp3, .mp4, .mpa, .mpc, .mpeg, .mpg, .mpga, .mpp, .mts, .mxf, .nist, .oga, .ogg, .ogx, .oma, .omg, .opus, .paf, .pvf, .qcp, .ra, .rf64, .rka, .rm, .rmvb, .sf, .shn, .snd, .sph, .svx, .tak, .thd, .ts, .tta, .vob, .voc, .vqf, .w64, .wav, .wave, .weba, .webm, .wma, .wmv, .wv. Maximum file size: 100 MB.

Response

Detection completed successfully.

filename
string
required

Name of the submitted audio file. Empty string if no filename was provided in the upload.

Example:

"my_audio.mp3"

duration_s
number<double>
required

Total duration of the analysed audio in seconds.

Required range: x >= 0
Example:

89.28

primary_verdict
enum<string>
required

Clip-level classification:

  • ai-vocal-music - AI-generated music with a detected synthetic voice (covers AI songs and AI synthetic vocal tracks).
  • ai-instrumental - AI-generated instrumental music with no detectable synthetic voice.
  • not-ai-music - the clip does not appear to contain AI-generated music.
Available options:
ai-vocal-music,
ai-instrumental,
not-ai-music
Example:

"ai-vocal-music"

vocal_percentage
number<double>
required

Clip-level average percentage of the audio that contains vocal content, averaged across all windows.

Required range: 0 <= x <= 100
Example:

87.5

vocal_ai_percentage
number<double>
required

Clip-level AI-vocal score, on a 0-100 scale: each scored window's probability-weighted duration as a percentage of the full clip duration. Windows without enough vocal content to score contribute zero to the numerator but their duration still counts toward the total, so a clip that is mostly instrumental with only a brief, confidently-synthetic vocal patch does not read as overwhelmingly AI-vocal.

Required range: 0 <= x <= 100
Example:

56.5

vocal_ai_confidence
number<double>
required

Average confidence across all windows that were scored for AI-generated vocals. Not diluted by windows without enough vocal content to score.

Required range: 0 <= x <= 1
Example:

0.89

instrumental_percentage
number<double>
required

Clip-level average percentage of the audio that contains instrumental music content, averaged across all windows.

Required range: 0 <= x <= 100
Example:

64.3

instrumental_ai_percentage
number<double>
required

Clip-level AI-instrumental score, on a 0-100 scale: the duration-weighted average of each scored window's AI-instrumental probability. Windows that are mostly silence do not contribute.

Required range: 0 <= x <= 100
Example:

10.5

instrumental_ai_confidence
number<double>
required

Average confidence across all windows that were scored for AI-generated instrumental content. Zero if no window was scored.

Required range: 0 <= x <= 1
Example:

0.95

silence_percentage
number<double>
required

Clip-level average percentage of the audio that contains neither vocal nor instrumental content, averaged across all windows.

Required range: 0 <= x <= 100
Example:

3.51

windows
object[]
required

Per-window breakdown of detection results.

latency_ms
number<double>
required

End-to-end inference time in milliseconds.

Required range: x >= 0
Example:

1333