Beta

Simple API. Superpower capabilities.

Security and intelligence for every voice interaction. Deepfake detection, speaker profiling, intent analysis - all in one call.

Pro Plan

Unlock full voice intelligence.

World-leading deepfake detection to protect your voice agents. Built as a security-first service with audio intelligence capabilities that cut costs and boost results. Pay only for what you use.

We'd love your feedback. For any question, reach us at support@vocos.io

Capabilities

Beyond deepfake detection - full voice intelligence from a single API.

Liveness Verification

Confirm the speaker is a live human in real time

Live

Deepfake Detection

Identify AI-generated and synthetic speech with confidence scoring

Voice Cloning Detection

Catch cloned voices using formant and prosody analysis

Forensics Traceability

Full audit trail with model version, raw scores, and analytics

Intelligence

Speaker Age Estimation

Beta

Estimate speaker age range from vocal characteristics

Gender Classification

Beta

Classify speaker gender from audio signal

Intent Analysis

Early Access

Detect conversational intent - urgency, deception cues, emotional state

Malicious Intent Detection

Early Access

Flag social engineering, phishing attempts, and coercion patterns

Emotion Recognition

Early Access

Identify anger, stress, fear, and other emotional markers in speech

Speaker Verification

Enterprise

Verify if two audio samples belong to the same speaker

API Reference

Getting Started

The Vocos API lets you add voice security and audio intelligence to any application. Get up and running in under 5 minutes.

1

Create an account

Sign up at vocos.io and get 100 free credits to start.

2

Get your API key

Generate a key from your dashboard. Keep it secret

3

Make your first call

Send an audio file to /v1/detect and get an instant verdict.

Base URL

https://api.vocos.io

Authentication

All API requests require an API key passed via the X-API-Key header.

Header
X-API-Key: your-api-key

Keep your API key secret

Never expose your API key in client-side code, public repositories, or browser requestsGo.

Quick Start

Send an audio file and get a deepfake detection verdict in seconds. Choose your language:

curl -X POST https://api.vocos.io/v1/detect \
  -H "X-API-Key: your-api-key" \
  -F "file=@audio.wav"

# Response:
# {
#   "status": "ok",
#   "request_id": "e2d94e04-...",
#   "data": {
#     "security": {
#       "prediction": "real",
#       "confidence": 0.9484
#     },
#     "intelligence": {
#       "age_range": "25-34",
#       "gender": "male"
#     },
#     "model_version": "forensics 0.3B",
#     "credits_used": 1,
#     "credits_remaining": 99
#   }
# }

Tip - reuse your HTTP client. Persistent clients (requests.Session, httpx.AsyncClient, axios.create, Go's default http.Client) keep one connection open across all your calls, so every request after the first runs noticeably faster.

Production Usage

Accelerate API access by defining the Vocos client once at startup and reusing it for the lifetime of the process. Every request after the first runs significantly faster, and the connection pool absorbs traffic spikes.

# Define the client once at module scope and reuse it for the lifetime of the process.

import os, requests

vocos = requests.Session()
vocos.headers["X-API-Key"] = os.environ["VOCOS_API_KEY"]

# Optional: tune the connection pool for high-concurrency apps
adapter = requests.adapters.HTTPAdapter(pool_connections=20, pool_maxsize=50)
vocos.mount("https://", adapter)

def detect(audio_bytes: bytes):
    r = vocos.post(
        "https://api.vocos.io/v1/detect",
        files={"file": ("call.wav", audio_bytes, "audio/wav")},
        timeout=30,
    )
    r.raise_for_status()
    return r.json()["data"]

Endpoints

Complete reference for every available endpoint.

POST/v1/detect

Upload an audio file and receive a real/fake verdict with confidence score.

Parameters

fileaudio filerequiredWAV, MP3, FLAC, OGG, WebM, or M4A. Max 50 MB.
session_idstringGroup multiple segments for sliding-window analysis.

Example

curl -X POST https://api.vocos.io/v1/detect \
  -H "X-API-Key: your-api-key" \
  -F "file=@audio.wav"

Response

{
  "status": "ok",
  "request_id": "e2d94e04-0236-4ba1-b3b9-4f4bdcab03b0",
  "data": {
    "security": {
      "prediction": "real",
      "confidence": 0.9484
    },
    "intelligence": {
      "age_range": "25-34",
      "gender": "male"
    },
    "model_version": "forensics 0.3B",
    "credits_used": 1,
    "credits_remaining": 99
  }
}

Error Codes

All errors follow a consistent format with a machine-readable code and human-readable message.

Error Format
{
  "status": "error",
  "request_id": "e2d94e04-...",
  "error": {
    "code": "INSUFFICIENT_CREDITS",
    "message": "You're out of credits. Pro is in early access - request an invite at https://vocos.io/pricing"
  }
}

Reference

INVALID_API_KEY401

API key is invalid, expired, or revoked.

Check your key or generate a new one in your dashboard.

MISSING_API_KEY401

No X-API-Key header was provided.

Add the X-API-Key header to your request.

INSUFFICIENT_CREDITS403

Your account has no remaining credits.

join the waitlist at vocos.io/pricing.

RATE_LIMIT_EXCEEDED429

Too many requests in the current window.

Wait for the duration in the Retry-After header, then retry.

INVALID_AUDIO_FORMAT422

The uploaded file is not a supported audio format.

Use WAV, MP3, FLAC, OGG, WebM, or M4A.

AUDIO_DECODE_ERROR422

The audio file is corrupted or could not be decoded.

Ensure the file is a valid, non-corrupted audio file.

FILE_TOO_LARGE413

The uploaded file exceeds the 50 MB limit.

Compress or trim the audio before uploading.

EMPTY_FILE400

The uploaded file has zero bytes.

Ensure the file has content before uploading.

Server errors (500) return a generic message and never expose internal details. If you receive a 500, retry your request. If it persists, contact support@vocos.io with the request_id from the response.

Rate Limits

Free

10 req / min

Great for testing and prototyping

Pro

300 req / min

For production workloads

Enterprise

Custom SLA

Dedicated capacity and support

When rate limited, the response includes a Retry-After header indicating how many seconds to wait.

SDKs & Libraries

py

Python

Early Access

js

JavaScript / Node.js

Early Access

Official SDKs are on the way. In the meantime, the REST API works with any HTTP client. Need help integrating? Reach out

Ready to build with voice intelligence?

Get 100 free credits today. Pro is in early access - request an invite.

We'd love your feedback. For any question, reach us at support@vocos.io