Skip to main content
The VoiceDub API provides programmatic access to AI voice dubbing and custom voice training capabilities. Transform any audio with 10,000+ voices or train your own voice models.

Base URL

All API requests should be made to:

Authentication

The API uses API key authentication. Include your API key in the Authorization header:
Get your API key from the API Keys Dashboard.

Request Format

  • Content-Type: application/json for all POST/PATCH requests
  • Accept: application/json for all responses
  • Encoding: UTF-8

Query Parameters

For array query parameters, the API supports multiple syntax formats:
Example usage:

Response Format

All API responses return JSON with consistent structure:

Success Responses

Error Response Examples

400 Bad Request:
401 Unauthorized:
403 Insufficient Credits:
404 Not Found:
429 Rate Limited:

HTTP Status Codes

Endpoints Overview

User Management

  • GET /v1/me - Get account information and credit balance

Voice Dubbing

  • GET /v1/me/dubs/{dubId} - Get dub details and status
  • POST /v1/me/dubs - Create a new voice dub
  • POST /v1/me/dubs/{dubId}/preprocess - Start dub preprocessing
  • POST /v1/me/dubs/{dubId}/generate - Start dub generation

Voice Models

  • GET /v1/voices - List public voices with filtering
  • GET /v1/me/voices/{voiceId} - Get custom voice details
  • POST /v1/me/voices - Create a custom voice for training
  • POST /v1/me/voices/{voiceId}/clone - Start voice training

Pagination

List endpoints support cursor-based pagination:
integer
default:50
Number of items to return (8-50)
string
Pagination cursor for next page (from previous response)
Paginated Response:

Webhooks

Webhooks are not currently supported. Use polling to check job status:
  • Dubs: Poll /v1/me/dubs/{dubId} maximum once every 3 seconds
  • Voices: Poll /v1/me/voices/{voiceId} maximum once every 3 seconds

Rate Limits

The API enforces different rate limits based on the type of operation:

Read Operations (GET requests)

  • 10,000 requests per minute
  • Includes polling endpoints like checking dub/voice status

Write Operations (POST, PATCH, DELETE requests)

  • 500 requests per minute
  • 20,000 requests per hour
  • Includes creating dubs, starting processing, voice training, etc.

Global Limit

  • 15,000 requests per minute (across all endpoints)
When you exceed rate limits, you’ll receive a 429 Too Many Requests response with retry information in the headers.
For detailed rate limiting behavior and best practices, see our Rate Limits Guide.

SDKs and Libraries

Official SDKs are not yet available. For now, use standard HTTP libraries:

Node.js

Use fetch() or axios for HTTP requests

Python

Use requests, aiohttp, or httpx libraries for HTTP requests

cURL

Use cURL for command-line testing

Postman

Import our OpenAPI spec for testing

Custom SDK

Generate your own SDK using our OpenAPI spec

Testing

Use these test resources for development:

Test Audio URLs

  • Moments: https://www.youtube.com/watch?v=14CjyUYO8lE

Test Voice IDs

Search for these popular voices:
  • Character voices: Search “plankton”, “spongebob”
  • Music voices: Search by genre ?genres=pop,rap
  • Language-specific: Search by language ?languages=english,spanish

Support

Ready to start building? Check out our Quick Start Guide or dive into the endpoint documentation below.