API ஆவணமாக்கல்

ஒலி மற்றும் வீடியோ கோப்புகளை நிரலாக்க முறையில் மாற்றவும். உண்மையான நேர ஒலி, ஒலிப்பேச்சாளர் தினசரி, AI சுருக்கம், 100+ மொழிகள்.

பொதுவான

STT.ai API பேசுதல்-உரை மாற்றம், உண்மையான நேர ஒளிபரப்பு மற்றும் AI-ஆற்றல் கொண்ட சுருக்கம் ஆகியவற்றை வழங்குகிறது. அனைத்து கோரிக்கைகளும் எங்கள் GPU-ஆற்றல் கொண்ட API சேவையகத்திற்கு நேரடியாக செல்கிறது.

அடிப்படை URL
https://api.stt.ai
100+
மொழிகள்
4 மாதிரிகள்
விஸ்பர் டார்ப், பெரிய V3, நடுத்தர, சிறிய
உண்மையான நேரம்
வலைசாக்கெட் ஒலிபரப்பு

ஆதரவு உள்ளீட்டு வடிவங்கள்: MP3, WAV, FLAC, OGG, M4A, AAC, OPUS, WMA, MP4, WebM, MKV, AVI, MOV, WMV, MPG, MPEG. அதிகபட்ச கோப்பு அளவு: 2GB.

உரிமம்

உங்களின் API விசை உரிம தலைப்பில் ஒரு பையர் டாக்கனாக அனுப்பவும்:

Authorization: Bearer YOUR_API_KEY

உங்கள் API விசை உங்கள் கணக்கு அமைப்புகள். ஒரு IP முகவரிக்கு ஒரு நாளைக்கு3முறை மாற்றம் செய்யும் வரையறைகளுடன் பெயரிடப்படாத கோரிக்கைகள் அனுமதிக்கப்படுகின்றன.

விகித எல்லைகள்

மிருகம்எழுத்துருக்கள்அதிகபட்ச கோப்பு அளவுஒரே நேரத்தில்
& பெயர் தெரியாத3/day per IP100 MB1
இலவச (பதிவுசெய்யப்பட்ட)600 min/month500 MB2
கட்டணம் செலுத்தும் திட்டங்கள்கடன்கள் அடிப்படையிலான2 GB5

ஒலி நீளத்தை அடிப்படையாகக் கொண்டு கிரெடிட்கள் குறைக்கப்படுகின்றன: 1 கிரெடிட் = 1 நிமிட ஒலி, வட்டமாக உயர்த்தப்பட்டது.


முடிவுப் புள்ளிகள்

POST https://api.stt.ai/v1/transcribe

Upload an audio or video file for transcription with speaker diarization, language detection, and word-level timestamps.

கோரிக்கை அளவுருக்கள்

& இப்படி அனுப்பு multipart/form-data

அளவுருவகைதேவைஇயல்புநிலைவிளக்கம்
filefileYesAudio or video file
modelstringNolarge-v3-turboModel: large-v3-turbo, large-v3, medium, small
languagestringNoautoISO 639-1 code or auto
diarizebooleanNotrueEnable speaker diarization
speakersintegerNo0Expected speakers (0 = auto)
response_formatstringNojsonjson, txt, srt, vtt
பதில் (JSON)
{
  "text": "Hello, welcome to the meeting...",
  "language": "en",
  "duration": 125.4,
  "segments": [
    {
      "start": 0.0,
      "end": 3.2,
      "text": "Hello, welcome to the meeting.",
      "speaker": "Speaker 1",
      "confidence": 0.95,
      "words": [
        {"word": "Hello", "start": 0.0, "end": 0.4},
        {"word": "welcome", "start": 0.5, "end": 0.9}
      ]
    }
  ],
  "speakers": ["Speaker 1", "Speaker 2"]
}
POST https://api.stt.ai/v1/summarize

Summarize transcript text using an on-device LLM. No data leaves our servers.

கோரிக்கை உடல் (JSON)
அளவுருவகைதேவைவிளக்கம்
textstringYesTranscript text to summarize
stylestringNobrief (default), detailed, action_items, bullet_points
பதில்
{
  "summary": "The team discussed Q3 revenue growth of 15%...",
  "style": "brief",
  "model": "qwen2.5-1.5b-instruct"
}
WS wss://api.stt.ai/v1/stream

Real-time speech-to-text via WebSocket. Send raw PCM audio (16-bit, 16kHz, mono) and receive transcription updates instantly.

நெறிமுறை
  1. Connect to wss://api.stt.ai/v1/stream
  2. Send JSON config: {"language": "en", "model": "large-v3-turbo"}
  3. Wait for {"status": "ready"}
  4. Stream raw PCM Int16 audio chunks (binary frames)
  5. Receive JSON updates: {"text": "...", "partial": "..."}
  6. Send {"action": "stop"} to finalize
சர்வரிலிருந்து செய்திகள்
புலம்விளக்கம்
status"ready" — connection established, ready for audio
partialPartial/interim transcript (updates as you speak)
textFinalized transcript segment
is_finaltrue when stream is complete
GET https://api.stt.ai/v1/models

List all available transcription models. No authentication required.

{
  "models": [
    {"id": "large-v3-turbo", "name": "Whisper Large V3 Turbo", "languages": 99, "speed": "fast"},
    {"id": "large-v3", "name": "Whisper Large V3", "languages": 99, "speed": "standard"},
    {"id": "medium", "name": "Whisper Medium", "languages": 99, "speed": "fast"},
    {"id": "small", "name": "Whisper Small", "languages": 99, "speed": "very_fast"}
  ]
}
GET https://api.stt.ai/v1/languages

List all supported languages with ISO codes. No authentication required.

{
  "languages": [
    {"code": "en", "name": "english"},
    {"code": "es", "name": "spanish"},
    {"code": "fr", "name": "french"},
    ...
  ]
}
GET https://api.stt.ai/health

Check GPU and API health. No authentication required.

{
  "status": "ok",
  "gpu_available": true,
  "gpu_name": "NVIDIA A100",
  "gpu_memory_mb": 8188
}

குறியீட்டு உதாரணங்கள்

cURL
# Transcribe a file
curl -X POST https://api.stt.ai/v1/transcribe \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@meeting.mp3" \
  -F "model=large-v3-turbo" \
  -F "language=auto" \
  -F "diarize=true"

# Get SRT subtitles
curl -X POST https://api.stt.ai/v1/transcribe \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@video.mp4" \
  -F "response_format=srt" \
  -o subtitles.srt

# Summarize text
curl -X POST https://api.stt.ai/v1/summarize \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Full transcript text here...", "style": "brief"}'

# List models (no auth needed)
curl https://api.stt.ai/v1/models

# Health check
curl https://api.stt.ai/health
Python
import requests

API_KEY = "YOUR_API_KEY"
BASE = "https://api.stt.ai"

# Transcribe a file
with open("meeting.mp3", "rb") as f:
    resp = requests.post(
        f"{BASE}/v1/transcribe",
        headers={"Authorization": f"Bearer {API_KEY}"},
        files={"file": ("meeting.mp3", f, "audio/mpeg")},
        data={"model": "large-v3-turbo", "language": "auto", "diarize": "true"},
    )

result = resp.json()
print(f"Language: {result['language']}, Duration: {result['duration']:.1f}s")

for seg in result["segments"]:
    print(f"[{seg['start']:.1f}s] {seg.get('speaker', '')}: {seg['text']}")

# Summarize the transcript
summary = requests.post(
    f"{BASE}/v1/summarize",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={"text": result["text"], "style": "bullet_points"},
).json()
print(summary["summary"])
Node.js
const fs = require("fs");
const FormData = require("form-data");

const API_KEY = "YOUR_API_KEY";
const BASE = "https://api.stt.ai";

async function transcribe(filePath) {
  const form = new FormData();
  form.append("file", fs.createReadStream(filePath));
  form.append("model", "large-v3-turbo");
  form.append("language", "auto");
  form.append("diarize", "true");

  const resp = await fetch(`${BASE}/v1/transcribe`, {
    method: "POST",
    headers: { Authorization: `Bearer ${API_KEY}`, ...form.getHeaders() },
    body: form,
  });

  const result = await resp.json();
  console.log(`Duration: ${result.duration.toFixed(1)}s`);

  for (const seg of result.segments) {
    console.log(`[${seg.start.toFixed(1)}s] ${seg.speaker}: ${seg.text}`);
  }
  return result;
}

transcribe("meeting.mp3");
WebSocket (Browser)
// Real-time transcription from microphone
const ws = new WebSocket("wss://api.stt.ai/v1/stream");
ws.binaryType = "arraybuffer";

ws.onopen = () => {
  ws.send(JSON.stringify({ language: "auto", model: "large-v3-turbo" }));
};

ws.onmessage = (event) => {
  const data = JSON.parse(event.data);
  if (data.status === "ready") {
    startStreaming(); // Begin sending audio
  }
  if (data.text) console.log("Final:", data.text);
  if (data.partial) console.log("Partial:", data.partial);
};

async function startStreaming() {
  const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
  const ctx = new AudioContext({ sampleRate: 16000 });
  const source = ctx.createMediaStreamSource(stream);
  const processor = ctx.createScriptProcessor(4096, 1, 1);

  processor.onaudioprocess = (e) => {
    const float32 = e.inputBuffer.getChannelData(0);
    const int16 = new Int16Array(float32.length);
    for (let i = 0; i < float32.length; i++) {
      int16[i] = Math.max(-32768, Math.min(32767, float32[i] * 32767));
    }
    if (ws.readyState === 1) ws.send(int16.buffer);
  };

  source.connect(processor);
  processor.connect(ctx.destination);
}

// Stop: ws.send(JSON.stringify({ action: "stop" }));

பிழை கையாளுதல்

The API returns standard HTTP status codes with JSON error bodies.

நிலைபொருள்எப்போது
200OKRequest succeeded
400Bad RequestMissing file, unsupported format
401UnauthorizedInvalid or missing API key
402Payment RequiredNo credits remaining
429Too Many RequestsRate limit exceeded (free tier)
503Service UnavailableGPU temporarily unavailable
// Error response format
{"error": "No credits remaining. Upgrade your plan."}

SDKகள் & நிரலகங்கள்

Official SDKs for Python and Node.js. Install and start transcribing in minutes.

REST API
எந்த HTTP கிளையண்டுடனும் செயல்படும்

தொடங்கத் தயாரா?

இலவசமாகப் பதிவு செய்து உங்கள் API விசையை நொடிகளில் பெறுங்கள். மாதம் 600 நிமிடங்கள் இலவசம்.

இலவசமாகப் பதிவு செய்யுங்கள் விலைகளைக் காண