Beta
Windows is currently a public beta. The Windows API is already useful for local tooling, but the surrounding product is still in beta.
HTTP API
TypeWhisper includes a local REST API for integration with external tools and scripts.
Note: The API is disabled by default. Enable it in Settings > API and configure the port (default: 9876). The API only accepts connections from localhost.
Check Status
# Check if the API is ready
curl http://localhost:9876/v1/status
{
"status": "ready",
"engine": "parakeet",
"model": "nvidia_parakeet-tdt-0.6b-v2",
"supports_streaming": false,
"supports_translation": true
}Transcribe Audio
# Send an audio file for transcription
curl -X POST http://localhost:9876/v1/transcribe \
-F "file=@recording.wav" \
-F "language=en"
{
"text": "Hello, world!",
"language": "en",
"duration": 2.5,
"processing_time": 0.8,
"engine": "parakeet",
"model": "nvidia_parakeet-tdt-0.6b-v2"
}Optional Parameters
language- ISO 639-1 code (e.g.,en,de). Omit for auto-detection.task-transcribe(default) ortranslate.target_language- ISO 639-1 code for translation target language (e.g.,de,fr). Used with Canary or Marian translation.
List Models
# Get available models (local + cloud)
curl http://localhost:9876/v1/models
{
"models": [
{
"id": "nvidia_parakeet-tdt-0.6b-v2",
"engine": "parakeet",
"downloaded": true,
"active": true
},
{
"id": "nvidia_canary-180m-flash",
"engine": "canary",
"downloaded": true,
"active": false
},
{
"id": "whisper-large-v3",
"engine": "groq",
"downloaded": true,
"active": false
},
{
"id": "gpt-4o-transcribe",
"engine": "openai",
"downloaded": true,
"active": false
}
]
}Cloud models appear once you have configured an API key for the respective provider in Settings.
Error Responses
The API returns standard HTTP status codes with a JSON error body:
{
"error": "No model loaded",
"code": "MODEL_NOT_LOADED"
}Common Error Codes
400- Missing or invalidfilefield, unsupported audio format, or invalid parameter value.503- No model is loaded. Download and activate a model in Settings first.500- Internal error during transcription. Check the app logs for details.