API Documentation
Integrate AI detectioninto your pipeline
Production-grade REST API for AI music detection with exact 5, 7, and 12-model product tiers, bounded temporal evidence, and approved platform attribution.
API Testing Console
Production endpoint testing with real-time validation
Test mode
Analysis depth
Drop your audio file here
MP3, WAV, FLAC, M4A, AIFF · max 100MB
Endpoints
Public REST API
All requests except /health require authentication via the X-API-Key header.
/analyzeAnalyze audio with ensemble detection
X-API-Key header
/modelsList available analysis levels
X-API-Key header
/healthSystem health status check
No authentication required
Result contract
How to read an Authio result
Every surface speaks the same forensic language: dashboard, PDF report, Excel export and API. These are the terms a result can contain and exactly what each one means.
Classification
Every completed analysis resolves to exactly one canonical verdict: Human, Hybrid, or AI. Hybrid is issued only by the full-mix resolver; source-level evidence explains but never replaces that verdict.
AI Origin / Human Origin
For Hybrid results the headline reads on a single 0-100 axis: the canonical full-mix origin signal and its exact complement. The larger side leads, e.g. 77.5% Human Origin with AI Origin at 22.5%. This is the detector's origin signal for the full mix. It is not a composition or contribution percentage.
Source evidence
Forensic review separates the recording and verifies each source against calibrated gates. When evidence is confirmed, the result names it, e.g. “AI-generated vocal source confirmed” or “AI-generated instrumental bed source confirmed”, with per-window evidence behind it.
Platform attribution
When a known AI music platform signature is established (e.g. Suno), the result names it and states where it was identified (full mix or a specific source). When it is not established, the result says “Generator not established”. Authio never guesses a platform.
Source verification cleared
Indicates that full source-level verification ran and every mandatory source, including the aggregated instrumental bed, cleared. This is diagnostic evidence about the analysis, not an origin verdict: the authoritative full-mix verdict (Human, Hybrid or AI) is unchanged by it.
Origin label and evidence scope
Authio separates the track-level origin verdict from the evidence scope of each analysis level. Standard and Benchmark report full-mix origin signals; Forensic adds source-level evidence and platform attribution. Each response preserves exactly what that run observed directly.
What Authio does not report
Authio is a neutral forensic measurement product. Results never include distribution recommendations, review or eligibility decisions, or client policy. Origin signals and source evidence are not legal authorship, royalty or copyright determinations. An AI/Human contribution percentage is not reported: a composition-share estimate is only exposed once its measurement is calibrated and approved, never invented from the origin signal.
Response examples
One response per product state
Exactly what /analyze returns for each of the three product states. The response is the product result, with no internal engine fields.
Hybrid
Human vocal over an AI instrumental bed. Source-level review localized the evidence and established the platform.
{
"status": "completed",
"success": true,
"request_id": "req_1781126996_78bf44e7",
"filename": "master_24bit.wav",
"analysis_level": "forensic",
"result": {
"status": "completed",
"verdict": "HYBRID",
"label": "Hybrid",
"ai_probability": 0.52,
"confidence": 0.75,
"platform": {
"name": "suno",
"confidence": 0.9999,
"scope": "source",
"source": "instrumental_bed"
},
"origin_signal": {
"primary": { "label": "AI Origin", "value": 52 },
"secondary": { "label": "Human Origin", "value": 48 },
"ai": 52,
"human": 48
},
"source_evidence": {
"status": "localized",
"source": "instrumental_bed",
"label": "Instrumental bed",
"summary": "AI-like evidence was localized in the instrumental bed."
},
"evidence_scope": {
"analysis_level": "forensic",
"direct_signal": "full_mix_hybrid_signal",
"canonical_origin": "HYBRID",
"source_evidence": "localized_by_this_analysis"
},
"forensic_evidence": {
"version": "forensic_evidence.v1",
"status": "complete",
"coverage": { "seconds": 180.0, "ratio": 1.0 },
"artifact_summary": {
"detected": true,
"density_per_second": 2.34,
"total_events": 421,
"scan_confidence": 0.83
},
"regions": [{
"start_seconds": 80.0,
"end_seconds": 90.0,
"basis": "source_verification_window",
"type": "source_ai_signal",
"severity": "high",
"confidence": 0.91,
"scope": "source",
"source": "instrumental_bed"
}]
}
},
"metadata": {
"processing_time": 19.7,
"models_used": 12,
"requested_level": "forensic",
"executed_level": "forensic",
"degraded": false,
"cache": { "hit": false }
}
}AI
Fully AI-generated track with an established platform signature. Source-level review is not required for a clear AI result.
{
"status": "completed",
"success": true,
"request_id": "req_1781127201_3a91cc04",
"filename": "generated_track.mp3",
"analysis_level": "forensic",
"result": {
"status": "completed",
"verdict": "AI",
"label": "AI",
"ai_probability": 0.9264,
"confidence": 0.9264,
"platform": {
"name": "suno",
"confidence": 0.97,
"scope": "full_mix",
"source": null
},
"origin_signal": {
"primary": { "label": "AI Origin", "value": 92.64 },
"secondary": { "label": "Human Origin", "value": 7.36 },
"ai": 92.64,
"human": 7.36
},
"source_evidence": {
"status": "not_required",
"source": null,
"label": null,
"summary": "AI generation signatures detected."
},
"evidence_scope": {
"analysis_level": "forensic",
"direct_signal": "full_mix_ai_signal",
"canonical_origin": "AI",
"source_evidence": "not_required"
},
"forensic_evidence": {
"version": "forensic_evidence.v1",
"status": "complete",
"coverage": { "seconds": 173.5, "ratio": 1.0 },
"artifact_summary": {
"detected": true,
"density_per_second": 1.88,
"total_events": 326,
"scan_confidence": 0.81
},
"regions": [{
"start_seconds": 20.0,
"end_seconds": 30.0,
"basis": "full_mix_posterior_window",
"type": "full_mix_ai_signal",
"severity": "high",
"confidence": 0.94,
"scope": "full_mix",
"source": null
}]
}
},
"metadata": {
"processing_time": 3.1,
"models_used": 12,
"requested_level": "forensic",
"executed_level": "forensic",
"degraded": false,
"cache": { "hit": false }
}
}Human
A completed Human verdict with no platform attribution. Source evidence remains a separate diagnostic field.
{
"status": "completed",
"success": true,
"request_id": "req_1781127544_b2e07f19",
"filename": "studio_master.wav",
"analysis_level": "forensic",
"result": {
"status": "completed",
"verdict": "HUMAN",
"label": "Human",
"ai_probability": 0.0115,
"confidence": 0.9885,
"platform": {
"name": null,
"confidence": null,
"scope": null,
"source": null
},
"origin_signal": {
"primary": { "label": "Human Origin", "value": 98.85 },
"secondary": { "label": "AI Origin", "value": 1.15 },
"ai": 1.15,
"human": 98.85
},
"source_evidence": {
"status": "not_required",
"source": null,
"label": null,
"summary": "No AI generation artifacts detected."
},
"evidence_scope": {
"analysis_level": "forensic",
"direct_signal": "full_mix_human_signal",
"canonical_origin": "HUMAN",
"source_evidence": "not_required"
},
"forensic_evidence": {
"version": "forensic_evidence.v1",
"status": "complete",
"coverage": { "seconds": 205.0, "ratio": 1.0 },
"artifact_summary": {
"detected": false,
"density_per_second": 0.0,
"total_events": 0,
"scan_confidence": 0.86
},
"regions": []
}
},
"metadata": {
"processing_time": 5.1,
"models_used": 12,
"requested_level": "forensic",
"executed_level": "forensic",
"degraded": false,
"cache": { "hit": false }
}
}Response reference
Every field, defined
statuscompleted for a successful response. A technical failure uses status failed and has no result object.
successTrue when the analysis completed. Failed requests return the error shape documented below.
request_idUnique request identifier. Include it when contacting support.
filenameThe uploaded filename, echoed back.
analysis_levelThe analysis level you requested: standard, benchmark, or forensic.
result.statuscompleted for a successful result.
result.verdictCanonical machine-readable verdict: HUMAN, HYBRID, or AI.
result.labelFrozen public verdict label: Human, Hybrid, or AI.
result.ai_probabilityCanonical full-mix AI probability on a 0–1 scale. Never inferred from confidence.
result.confidenceConfidence in the issued verdict; semantically distinct from ai_probability.
result.platformPlatform attribution when a known generator signature was established: name, confidence, scope (full_mix or source) and the source it was identified from. All null when not established. Authio never guesses.
result.origin_signalThe headline pair on one 0–100 axis: the full-mix origin signal and its complement. primary is the larger side. This is a detection signal, not a composition or contribution percentage.
result.source_evidenceSource-level outcome: localized (evidence pinned to a named source), not_required (nothing reportable, or clear AI), or not_available. summary is a client-safe sentence.
result.evidence_scopeDescribes what this run observed directly. It never overrides result.verdict.
result.forensic_evidenceForensic-only bounded evidence bundle. Standard and Benchmark omit this field.
result.forensic_evidence.statuscomplete when the scan finished, degraded when temporal evidence could not be completed. A degraded scan does not alter the origin verdict.
result.forensic_evidence.regionsAt most 10 rounded temporal regions with an explicit evidence basis. Raw detector timestamps are never returned.
metadata.processing_timeSeconds spent on the real analysis path for this request. Processing time varies by file length, cache status, and whether source-level forensic escalation is required.
metadata.models_usedNumber of detection models used at the requested level.
metadata.requested_levelProduct level requested by the client.
metadata.executed_levelProduct level actually executed. Missing engines return an error instead of silently falling back.
metadata.degradedTrue when execution or the Forensic evidence scan explicitly degraded.
metadata.cache.hitTrue when the response was served from cache. Never benchmark latency from cached responses.
Errors
Error model
Failed requests return a consistent error shape. Include the request_id when contacting support. Retry 429 and 503 with backoff; do not retry 4xx errors without changing the request. Rate-limit headers may be added depending on plan and deployment configuration.
400Invalid request
Fix the request before retrying.
401Invalid or missing API key
Check the X-API-Key header. Do not retry unchanged.
413File exceeds your plan's size limit (100MB Starter, 200MB Professional, 500MB Business/Enterprise)
Reduce the file size or upgrade the plan. Do not retry unchanged.
415Unsupported media type
Use MP3, WAV, FLAC, M4A or AIFF. Do not retry unchanged.
422Analysis could not produce a reliable verdict
Follow user_message.action; retry only when retryable is true.
429Rate limit exceeded
Back off and retry; respect your plan's rate limit.
500Internal error
Retry with backoff. Include request_id when contacting support.
503Service temporarily unavailable
Retry with backoff.
{
"status": "failed",
"success": false,
"failure_code": "UNSUPPORTED_AUDIO_FORMAT",
"failure_class": "unsupported_audio",
"user_message": {
"headline": "This audio format is not supported",
"reason": "Authio could not process the uploaded file format.",
"action": "Upload one of the formats supported by the current product."
},
"retryable": false,
"request_id": "req_1781127544_b2e07f19",
"analysis_level": "forensic"
}Tiers
Rate limits
Every plan can request every analysis level; each level runs 5, 7 or 12 models. Rate limits and concurrent GPU slots scale with the plan. GPU slots are concurrent scheduler admission positions per account on our GPU fleet, not reserved physical hardware; higher tiers also receive priority in the queue.
Starter
10 req/min
2 concurrent GPU slots
Professional
60 req/min
4 concurrent GPU slots
Business
200 req/min
6 concurrent GPU slots
Enterprise
500 req/min
10 concurrent GPU slots
Custom
1000 req/min
12 concurrent GPU slots
Detection
Analysis levels
Choose Standard, Benchmark or Forensic according to the model count, depth, and evidence your workflow requires. Advanced is a separate asynchronous product.
Authio's validated system reaches 99.42% detection accuracy. The figure describes the validated detection system as a whole, not an individual analysis level.
Standard
5models
Real-time applications & high-volume screening
Measured per request processing
Fast full-mix screening. The temporal forensic evidence bundle is omitted.
Benchmark
7models
Production workloads & professional tier
Measured per request processing
Robust full-mix analysis. The temporal forensic evidence bundle is omitted.
Forensic
12models
12-model analysis with safe temporal regions, scan coverage, an artifact summary, and established source or platform evidence
Measured per request processing
Forensic analysis may internally trigger Advanced Source Verification. Source separation and source-level verification require additional processing time.
Integration
Quick start
Send your first detection request in under a minute.
# Standard analysis
curl -X POST "https://authio.io/api/v1/analyze" \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@audio.mp3" \
-F "level=standard"
# Forensic analysis (12-model ensemble,
# platform attribution + source-level evidence)
curl -X POST "https://authio.io/api/v1/analyze" \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@audio.mp3" \
-F "level=forensic"
# Read the product result with jq
# .result.verdict -> "HYBRID"
# .result.label -> "Hybrid"
# .result.ai_probability -> 0.52
# .result.origin_signal.primary -> {"label":"AI Origin","value":52}