Speech to Text API

Integrate our speech recognition technology into your applications

API Overview

Our Speech to Text API allows developers to integrate audio transcription capabilities into their applications. The API supports both file upload and real-time streaming transcription with low latency.

File Upload

Upload audio files in various formats and receive accurate transcriptions with optional word-level timestamps.

Real-time Streaming

Stream audio in real-time and receive transcriptions with low latency for live captioning or voice commands.

Multiple Languages

Supports over 20 languages and dialects with automatic language detection available.

Secure & Scalable

Enterprise-grade security and scalability to handle from small projects to large-scale deployments.

Get Your API Key

To start using our API, you'll need an API key. Register for a developer account to get your free API key with limited requests per month.

API Documentation

File Upload Endpoint

POST /v1/transcribe
{
  "audio": "base64_encoded_audio_or_url",
  "language": "en", // optional
  "format": "text", // or "json", "srt"
  "timestamps": false // optional
}
Response
{
  "status": "success",
  "data": {
    "transcription": "The transcribed text...",
    "language": "en",
    "duration": 12.5,
    "words": [...] // if timestamps enabled
  }
}

Real-time Streaming

Our real-time streaming API uses WebSockets for low-latency transcription. Here's a basic example in JavaScript:

JavaScript Example
const socket = new WebSocket('wss://api.zmeen.site/v1/stream');

socket.onopen = () => {
  // Send authentication
  socket.send(JSON.stringify({
    token: 'YOUR_API_KEY',
    language: 'en'
  }));
  
  // Start sending audio chunks
  mediaStream.getTracks()[0].onended = () => {
    socket.send(JSON.stringify({eof: 1}));
  };
};

socket.onmessage = (event) => {
  const data = JSON.parse(event.data);
  console.log(data.transcript); // Partial transcript
};

Error Handling

The API may return these common error responses:

401 Unauthorized

Invalid or missing API key.

400 Bad Request

Invalid parameters or unsupported audio format.

429 Too Many Requests

Rate limit exceeded.

500 Internal Server Error

Server-side issue, try again later.

Need Help with Integration?

Check out our complete API documentation with code examples in multiple programming languages, or contact our developer support team for assistance.