Introduction
Culaly API is a platform that delivers cutting-edge AI capabilities as a RESTful API. Integrate AI features such as speech recognition and natural language processing into your applications and workflows with simple API calls.
What You Can Do with Culaly API
| Feature | Description |
|---|---|
| ASR (Speech-to-Text) | Upload audio files for high-accuracy transcription, speaker diarization, and VTT subtitle generation |
More AI features will be added in the future.
Authentication
All API requests require an API key.
Include your key in the X-API-Key header with every request.
X-API-Key: YOUR_API_KEYYou can create and manage API keys from the dashboard. Keep your keys secure and never expose them to unauthorized parties.
Base URL
https://culaly.comAll endpoints are relative paths from the base URL above.
Quick Start
1. Get Your API Key
Log in to the dashboard and generate an API key. Store the key securely, for example as an environment variable.
2. Send Your First Request
Here is an example of creating an ASR (speech-to-text) job using cURL:
curl -X POST https://culaly.com/api/v1/asr \
-H "X-API-Key: YOUR_API_KEY" \
-F "audio=@sample.mp3" \
-F "language=ja"Use the job_id from the response to check job status and retrieve results.
3. Retrieve Results
curl https://culaly.com/api/v1/asr/jobs/{job_id}/result \
-H "X-API-Key: YOUR_API_KEY"Permissions
API keys are assigned scoped permissions. Grant the appropriate permissions for the features you use.
| Scope | Description |
|---|---|
asr:transcription:create |
Create transcription jobs |
asr:transcription:read |
Read job information and status |
asr:storage:download |
Download result files, audio, and VTT subtitles |
Response Format
API responses are returned in JSON format, except for binary download endpoints.
Error Responses
Errors include an HTTP status code along with error details.
| Status Code | Description |
|---|---|
400 |
Bad request |
401 |
Authentication failed (invalid or missing API key) |
403 |
Insufficient permissions |
404 |
Resource not found |
429 |
Rate limit exceeded |
500 |
Internal server error |
Rate Limiting
The API enforces rate limits. When exceeded, a 429 Too Many Requests response is returned.
Check the Retry-After response header and retry after the specified number of seconds.
Next Steps
- ASR (Speech-to-Text) Feature — Full API reference and usage workflow