Developer Portal
Manage your API access, check usage, and view documentation.
MeowTXT API provides developers with a powerful, enterprise-grade transcription engine. Whether you're building a podcast platform, a video editing tool, or an automated meeting logger, our API scales with your needs. Get high-quality, timestamped transcripts with multi-language support in seconds.
Scalable Infrastructure
Built for high-volume workloads with 99.9% uptime and processing speeds up to 20x faster than real-time.
Secure & Private
Your data is encrypted in transit and at rest. We never use your content to train our models without permission.
Easy Integration
Restful API with simple Bearer token auth and flexible webhook notifications for seamless developer experience.
Documentation
Simple, powerful endpoints to transcribe your media.
https://www.meowtxt.comAuthentication
Include your API Key in the Authorization header using the Bearer scheme.
Authorization: Bearer sk_meow_...POST/api/v1/transcribe
Submit a file URL for transcription. The process is asynchronous.
file_url(required): Direct URL to audio/video file. Must be publicly accessible.• Supported formats:
mp3, mp4, wav, m4a, flac, aac, avi, mov, mkvand more.• Max file size: 4 GB
• Max duration: 4 hours
webhook_url(optional): URL to receive POST callback.language(optional): 'en', 'es', etc. Default: auto.
{
"id": "task_123...",
"status": "pending",
"created_at": "..."
}curl -X POST https://www.meowtxt.com/api/v1/transcribe \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"file_url": "https://example.com/audio.mp3",
"webhook_url": "https://your-site.com/webhook"
}'GET/api/v1/tasks/:id
Retrieve the status and results of a specific task.
curl https://www.meowtxt.com/api/v1/tasks/task_123... \ -H "Authorization: Bearer YOUR_KEY"
Webhook Payloads
If you provide a webhook_url, we'll POST the result to your server as soon as the processing is complete.
{
"id": "task_123...",
"status": "completed", // or "failed"
"file_url": "...",
"duration_seconds": 120,
"output": {
"text": "Full transcription...",
"segments": [
{ "start": 0, "end": 2.5, "text": "Hello world" }
]
},
"error": null
}