Vionis Flash
Detection API.
Classify Caller CH0 as synthetic or human using acoustic features and conversational timing from Agent CH1.
The website forwards validated audio to https://flash.vionis.site. Its /explain endpoint provides the verdict and model diagnostics. No simulated results are used by Voice Authenticator.
Send a stereo call recording
Use 16-bit PCM WAV, 8–192 kHz, at least one second long. Caller is channel 0; agent is channel 1. Request bodies may be at most 25 MB, including base64 or multipart overhead. Flash resamples internally to 8 kHz; this website preserves the original bytes and channel order.
curl https://vionis.site/detect \ -H "Content-Type: audio/wav" \ --data-binary @call.wav{ "call_id": "call-001", "audio_base64": "<base64 of the complete stereo PCM WAV>", "sample_rate": 8000, "channels": 2}Replace audio_base64 with the complete WAV bytes, including its RIFF header. If supplied, sample_rate and channels must match the WAV. Multipart uploads use the audio or file field. Metadata does not change channel order. Server clients can call these routes without an API key; browser requests must come from this website.
Verdict and measured evidence
POST /detect returns the model’s boolean classification and confidence for that classification. The following is a schema example, not a result from your recording.
{ "is_synthetic": true, "confidence": 0.87}POST /explain and POST /api/detect return the same verdict plus measured diagnostics:
| Field | Meaning |
|---|---|
is_synthetic / confidence | Caller classification and its confidence, between 0 and 1. |
p_synthetic / threshold | Probability of synthetic speech and the model decision threshold. |
route / model | clean or fallback scoring route and the deployed model version. |
line / features | Line measurements and values used by the model. Missing measurements may be null or imputed. |
replies_measured | Number of caller replies measured against agent turns. |
audio | Duration in seconds, source sample rate, and two channels. |
wall_ms / latency_ms | Flash processing time and server round-trip time, respectively. |
subject_channel / channel_map | Caller 0 is assessed; agent 1 provides context. |
mode / request_id | live and a unique request identifier. |
A human prediction does not verify identity. Flash does not perform semantic verification. Very noisy audio, insufficient turns, or unfamiliar voices can reduce reliability.
Errors never become a verdict
The website calls Flash /explain so decode failures cannot be mistaken for the raw /detect endpoint’s 50% fallback.
INVALID_JSON / INVALID_MULTIPARTMalformed request body.
CROSS_ORIGIN_REQUESTUse this website or a server client.
AUDIO_TOO_LARGEReduce the complete request body to 25 MB or less.
UNSUPPORTED_MEDIA_TYPEUse WAV, JSON, or multipart.
INVALID_AUDIO / INVALID_REQUEST / FLASH_AUDIO_REJECTEDCheck the stereo PCM WAV header, channel mapping, duration, and metadata.
FLASH_UNAVAILABLE / INVALID_FLASH_RESPONSEFlash is unreachable, busy, or returned an invalid result. Retry later.
FLASH_TIMEOUTFlash did not finish within 60 seconds. Retry the recording.
GET /api/flash/health checks the live model service and returns HTTP 503 when unavailable.
Test your audio
Submit a real recording and inspect the exact response from the website’s Flash adapter.
Choose a WAV recording or supply its base64 bytes.