POSTProduction Endpoint
https://business.buttercut.ai/api/v1/transliterateTransliterate Video/Audio Content
This endpoint submits a video or audio file for transliteration — converting spoken content into text in a target script or language. Processing is asynchronous; results are delivered via a webhook callback.
Authentication
This endpoint requires an API key passed as a request header:
| Header | Value |
|---|---|
| x-api-key | Your API key (e.g., sk_live_...) |
Request Body
The request body should be sent as JSON. You must provide either an S3 reference (s3_key) or a direct URL (video_url).
| Field | Type | Required | Description |
|---|---|---|---|
| s3_key | string | Conditional | S3 object key for the source file (e.g. user-id/project-id/raw_video/file.mp4). Required only when not using video_url. Also supports HLS .m3u8 when segments are in the same bucket. |
| source_s3_bucket | string | No | Overrides the bucket for s3_key. If omitted, server uses the default source bucket from configuration. |
| video_url | string | Conditional | HTTP(S) URL to the media or HLS playlist. Use this instead of s3_key when the file is not read from your S3 key. |
| presigned_url | string | No (deprecated) | Same meaning as video_url; do not send both fields in the same request. |
| target_language | string | No | Optional (default "Roman"). Target script / language for the transliteration output. |
| webhook_url | string | No | URL that receives a POST callback when the job finishes or fails. If omitted, the dashboard default or environment configured webhook is used. |
Example Request Body
JSON
{
"s3_key": "ce64dd49-9b01-4c4f-88e7-fddf4e7b514f/a567fe5b-b582-4e50-aaef-ccf157824996/raw_video/51363.mp4",
"source_s3_bucket": "buttercutai-dev",
"target_language": "Roman",
"webhook_url": "https://your-server.example.com/api/v1/webhook"
}Example Response
The API will return an immediate response indicating that the job has been accepted.
JSON
{
"job_id": "b2a74f88-9940-4bbf-be92-3b08b3647a8e",
"status": "processing"
}Live API Playground
Test the transliterate endpoint with various input methods.
Response will appear here
Notes
- Asynchronous Processing: This is a long-running operation. The API will accept the request and return immediately. The actual transliteration result will be sent to the provided
webhook_urlonce processing is complete. - S3 Access: Ensure the source file at
s3_keywithinsource_s3_bucketis accessible by the ButterCut AI backend service. - Webhook URL: If provided, the
webhook_urlmust be publicly reachable. If omitted, the system will use the webhook URL configured in your dashboard under "Manage webhooks". - Target Language: Check with the API provider for the full list of supported
target_languagevalues.