API Reference
The VoiceCheap API uses standard HTTP methods and status codes. Most endpoints return JSON; transcript exports can also return SRT or VTT. For account settings, team management, media tools, and other workflows, use the action catalog. These workflows are also available through the account MCP server, except webhook signing-secret creation and rotation, which require REST. Manage credentials in Integrations and check usage limits.Base URL
All API requests should be made to:Authentication
Authenticate private REST calls with an API key inx-api-key or Authorization: Bearer. The OpenAPI document is public. See Authentication for scoped credentials and OAuth for MCP.
JSON action API
The account, team, project, voice and media-tool sections document each JSON action separately. These routes all usePOST, including read and delete actions; send the arguments in the JSON body. The file-upload and existing project routes below retain their own HTTP methods.
Create an API key with account:read, set the VOICECHEAP_API_KEY environment variable, and try this read-only request:
data. A long-running action returns HTTP 202 and a requestId; use request status to recover the result. A media job can continue after the action request completes.
Browse all action pages by area, or discover the actions and schemas permitted for your key. Each page lists its exact permissions, parameters, examples and errors.
Content Types
- Request: Use
multipart/form-datafor file uploads,application/jsonfor other requests - Response: JSON endpoints return
application/json. Transcript exports can also return SRT or VTT text.
File uploads and existing project routes
Transcribe Media
POST /v1/transcribeTranscribe an uploaded file as JSON, SRT, or VTT.Export Project Transcript
POST /v1/projects/{projectId}/transcriptRetrieve original or translated project transcripts.Create Project
POST /v1/projectsUpload a video or audio file and start transcription without translation.Start Translation
POST /v1/translateUpload a video or audio file and start a translation project.Dub Project
POST /v1/projects/{projectId}/dubDub an existing transcribed project from your translated SRT.Get Translation Status
GET /v1/translate/{projectId}/statusCheck the status of a translation project and retrieve results.Get Project Details
GET /v1/projects/{projectId}Retrieve translated version history, lip-sync history, and project state.Delete Project
DELETE /v1/translate/{projectId}Permanently delete a translation project and its assets.Translation Workflow
The typical workflow for translating a video is:Response Format
The existing file-upload and project routes below keep their endpoint-specific response formats. Successful response fields depend on the endpoint. Project creation and dubbing start requests returnsuccess, message and projectId. Status and project-detail requests return project state; transcript requests return JSON, SRT or VTT. See the endpoint page for its exact response.
Errors return a JSON object with code and message, sometimes with details. See Error Codes.

