> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs-beta-7agmae.voicedub.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenAPI Spec

> Download our complete OpenAPI specification to generate custom SDKs, import into API tools, and integrate with your development workflow

Our OpenAPI specification provides a complete, machine-readable description of the VoiceDub API. Use it to generate custom SDKs in your preferred programming language, import into API testing tools, or integrate with your existing development workflow.

## Download the OpenAPI Spec

<CodeGroup>
  ```bash cURL with authentication wrap theme={null}
  curl -H "Authorization: Api-Key your-api-key" https://api.voicedub.ai/v1/openapi.json -o openapi.json
  ```

  ```bash Wget with authentication wrap theme={null}
  wget --header="Authorization: Api-Key your-api-key" https://api.voicedub.ai/v1/openapi.json -O openapi.json
  ```
</CodeGroup>

The OpenAPI spec is automatically updated whenever we release new API features or changes, ensuring you always have access to the latest interface definitions.

## Generate Custom SDKs

Use the OpenAPI spec with popular code generation tools to create SDKs in your preferred language:

### Popular SDK Generators

**OpenAPI Generator**

```bash theme={null}
# Install OpenAPI Generator
npm install @openapitools/openapi-generator-cli -g

# Generate Python SDK (with authentication)
openapi-generator-cli generate \
  -i https://api.voicedub.ai/v1/openapi.json \
  -g python \
  -o ./voicedub-sdk-python \
  --auth "Authorization: Api-Key your-api-key"

# Generate JavaScript/TypeScript SDK (with authentication)
openapi-generator-cli generate \
  -i https://api.voicedub.ai/v1/openapi.json \
  -g typescript-fetch \
  -o ./voicedub-sdk-typescript \
  --auth "Authorization: Api-Key your-api-key"
```

**Swagger Codegen**

```bash theme={null}
# Generate Java SDK (with authentication)
swagger-codegen generate \
  -i https://api.voicedub.ai/v1/openapi.json \
  -l java \
  -o ./voicedub-sdk-java \
  -a "Authorization: Api-Key your-api-key"

# Generate C# SDK (with authentication)
swagger-codegen generate \
  -i https://api.voicedub.ai/v1/openapi.json \
  -l csharp \
  -o ./voicedub-sdk-csharp \
  -a "Authorization: Api-Key your-api-key"
```

### Supported Languages

Generate SDKs for 50+ programming languages including:

* **JavaScript/TypeScript** - Perfect for web and Node.js applications
* **Python** - Great for AI/ML workflows and automation scripts
* **Java** - Enterprise applications and Android development
* **C#** - .NET applications and Unity projects
* **PHP** - Web development and WordPress plugins
* **Ruby** - Rails applications and automation tools
* **Go** - Microservices and system programming
* **Swift** - iOS and macOS applications
* **Kotlin** - Android and server-side development

## Import into API Tools

### Postman

1. Open Postman
2. Click "Import"
3. Paste the [OpenAPI spec downloaded above](#download-the-openapi-spec)
4. Postman will automatically create a collection with all endpoints

### Insomnia

1. Open Insomnia
2. Create new workspace → Import from URL
3. Paste the [OpenAPI spec downloaded above](#download-the-openapi-spec)

### Thunder Client (VS Code)

1. Install Thunder Client extension
2. Import → OpenAPI/Swagger
3. Paste the [OpenAPI spec downloaded above](#download-the-openapi-spec)

## What's Included

The OpenAPI spec contains complete definitions for:

* **All API endpoints** with request/response schemas
* **Authentication requirements** for API key usage
* **Parameter validation** including types and constraints
* **Error response formats** for proper error handling
* **Example requests and responses** for each endpoint
* **Data models** for all request and response objects

## Integration Examples

### Using Generated SDKs

Once you've generated an SDK, integration becomes straightforward:

```python theme={null}
# Python SDK example
from voicedub_client import VoiceDubApi, Configuration

config = Configuration()
config.api_key['Authorization'] = 'Api-Key your-api-key-here'
api = VoiceDubApi(config)

# Create a dub
dub = api.create_dub({
    "voiceId": "123e4567-e89b-12d3-a456-426614174001",
    "link": "https://example.com/audio.mp3"
})
```

```typescript theme={null}
// TypeScript SDK example
import { VoiceDubApi, Configuration } from './voicedub-sdk-typescript';

const config = new Configuration({
    apiKey: 'Api-Key your-api-key-here'
});
const api = new VoiceDubApi(config);

// Create a dub
const dub = await api.createDub({
    voiceId: '123e4567-e89b-12d3-a456-426614174001',
    link: 'https://example.com/audio.mp3'
});
```

## Keep Your SDK Updated

To ensure compatibility with new features:

1. **Monitor our changelog** for API updates
2. **Regenerate your SDK** when we release new versions
3. **Update your dependencies** to use the latest generated code

<Info>
  Need help with SDK generation or have questions about the OpenAPI spec? Join our [Discord community](https://discord.gg/p7nFCn6EtM) or email us at [help@voicedub.ai](mailto:help@voicedub.ai).
</Info>
