Quickstart
Quickstart
Get your first audio transcription in under 5 minutes.
1. Create an API Key
Create an API key in your Nagovori account, then copy the generated key. You can also authenticate with a JWT, but an API key is the fastest way to get started.
Your key looks like: nag_a1b2c3d4e5f6...
Important: Copy the key immediately — it's only shown once.
2. Upload and Transcribe
Using cURL
# Step 1: Get a presigned upload URL
curl -X POST https://api.nagovori.ru/v1/uploads/presign \
-H "Authorization: Bearer nag_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filename": "meeting.mp3",
"content_type": "audio/mpeg",
"size_bytes": 5242880
}'
# Response: { "upload_url": "https://...", "object_key": "uploads/..." }
# Step 2: Upload the file to the presigned URL
curl -X PUT "UPLOAD_URL_FROM_STEP_1" \
-H "Content-Type: audio/mpeg" \
--data-binary @meeting.mp3
# Step 3: Create the transcription
curl -X POST https://api.nagovori.ru/v1/transcriptions \
-H "Authorization: Bearer nag_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"object_key": "OBJECT_KEY_FROM_STEP_1",
"filename": "meeting.mp3",
"content_type": "audio/mpeg",
"size_bytes": 5242880,
"language": "auto"
}'
# Response: { "id": "uuid", "status": "queued", ... }
Using Python
import requests
API_KEY = "nag_YOUR_API_KEY"
BASE = "https://api.nagovori.ru/v1"
headers = {"Authorization": f"Bearer {API_KEY}"}
# Presign upload
presign = requests.post(f"{BASE}/uploads/presign", headers=headers, json={
"filename": "meeting.mp3",
"content_type": "audio/mpeg",
"size_bytes": 5_242_880,
}).json()
# Upload file
with open("meeting.mp3", "rb") as f:
requests.put(presign["upload_url"], data=f, headers={"Content-Type": "audio/mpeg"})
# Create transcription
result = requests.post(f"{BASE}/transcriptions", headers=headers, json={
"object_key": presign["object_key"],
"filename": "meeting.mp3",
"content_type": "audio/mpeg",
"size_bytes": 5_242_880,
"language": "auto",
}).json()
print(f"Transcription ID: {result['id']}, Status: {result['status']}")
3. Check Status
Poll the transcription status until it's completed:
curl https://api.nagovori.ru/v1/transcriptions/YOUR_TRANSCRIPTION_ID \
-H "Authorization: Bearer nag_YOUR_API_KEY"
The response includes transcript_text when status is completed.
Next Steps
- Authentication — API keys and JWT tokens
- Transcription — Speech-to-text endpoint reference
- Text-to-Speech — Generate speech, stream audio, and download results