# Resemble AI Integration via LowCodeAPI
## Overview
Resemble AI is a powerful voice cloning and text-to-speech platform for creating custom AI voices. The Resemble AI API provides comprehensive functionality for:
- **Voices** - Create, clone, and manage custom AI voices
- **Recordings** - Upload and manage voice recordings for cloning
- **Audio Generation** - Generate speech from text using custom voices
- **Projects** - Organize voice assets into projects
- **Account Management** - Manage credits and account settings
## Base Endpoint
```
https://api.lowcodeapi.com/resembleai/
```
## Authentication
LowCodeAPI handles authentication automatically using Bearer token authentication. You only need to:
1. **Sign up** at [Resemble AI](https://www.resemble.ai/) to get your API Key
2. **Connect your account** in the LowCodeAPI dashboard
3. **Use your `api_token`** in all requests
The `api_token` is your LowCodeAPI authentication token. LowCodeAPI will automatically:
- Fetch your Resemble AI API key
- Apply it to each request as a Bearer token
**Auth Type**: Bearer Token
## API Categories
- **Text to Speech AI** - Voice cloning and speech synthesis
## Common Endpoints
### Category: Voices
#### Get All Voices
**Method**: `GET` | **LowCodeAPI Path**: `/v2/voices`
**Full URL**:
```
https://api.lowcodeapi.com/resembleai/v2/voices?api_token={api_token}
```
**Description**: Retrieve all voices in your account.
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | Yes | Page number to fetch |
| `page_size` | integer | Yes | Number of items per page |
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/resembleai/v2/voices?page=1&page_size=50&api_token=YOUR_API_TOKEN"
```
**Official Documentation**: [Get Voices](https://docs.app.resemble.ai/docs/create_voices)
---
#### Create Voice
**Method**: `POST` | **LowCodeAPI Path**: `/v2/voices`
**Full URL**:
```
https://api.lowcodeapi.com/resembleai/v2/voices?api_token={api_token}
```
**Description**: Create a new voice in your account.
**Request Body**:
```json
{
"name": "Custom Voice",
"is_public": false,
"is_archived": false
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | Yes | Name for the voice |
| `is_public` | boolean | No | Whether the voice is public (default: false) |
| `is_archived` | boolean | No | Whether the voice is archived (default: false) |
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/resembleai/v2/voices?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Custom Voice",
"is_public": false
}'
```
**Official Documentation**: [Create Voice](https://docs.app.resemble.ai/docs/create_voices)
---
### Category: Recordings
#### Get All Recordings
**Method**: `GET` | **LowCodeAPI Path**: `/v2/voices/voice_uuid/recordings`
**Full URL**:
```
https://api.lowcodeapi.com/resembleai/v2/voices/voice_uuid/recordings?voice_uuid={voice_uuid}&page={page}&page_size={page_size}&api_token={api_token}
```
**Description**: Retrieve all recordings for a specific voice.
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `voice_uuid` | string | Yes | UUID of the voice |
| `page` | integer | Yes | Page number to fetch |
| `page_size` | integer | Yes | Number of items per page |
**Example Request**:
```bash
# Replace VOICE_UUID with actual voice UUID
curl -X GET "https://api.lowcodeapi.com/resembleai/v2/voices/voice_uuid/recordings?voice_uuid=VOICE_UUID&page=1&page_size=20&api_token=YOUR_API_TOKEN"
```
**Official Documentation**: [Get Recordings](https://docs.app.resemble.ai/docs/create_voices/resource_recording/all)
---
#### Create Recording
**Method**: `POST` | **LowCodeAPI Path**: `/v2/voices/voice_uuid/recordings`
**Full URL**:
```
https://api.lowcodeapi.com/resembleai/v2/voices/voice_uuid/recordings?voice_uuid={voice_uuid}&api_token={api_token}
```
**Description**: Upload a recording to a voice for cloning.
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `voice_uuid` | string | Yes | UUID of the voice |
**Request Body**:
```json
{
"audio_url": "https://example.com/audio.wav",
"text": "This is the transcript of the audio"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `audio_url` | string | Yes | URL to the audio file |
| `text` | string | Yes | Transcript of the audio content |
**Example Request**:
```bash
# Replace VOICE_UUID with actual voice UUID
curl -X POST "https://api.lowcodeapi.com/resembleai/v2/voices/voice_uuid/recordings?voice_uuid=VOICE_UUID&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"audio_url": "https://example.com/audio.wav",
"text": "This is the transcript of the audio"
}'
```
**Official Documentation**: [Create Recording](https://docs.app.resemble.ai/docs/create_voices/resource_recording/all)
---
### Category: Audio Generation
#### Generate Speech
**Method**: `POST` | **LowCodeAPI Path**: `/v2/projects/project_uuid/generate`
**Full URL**:
```
https://api.lowcodeapi.com/resembleai/v2/projects/project_uuid/generate?project_uuid={project_uuid}&api_token={api_token}
```
**Description**: Generate speech from text using a voice.
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_uuid` | string | Yes | UUID of the project |
**Request Body**:
```json
{
"voice_uuid": "voice-uuid",
"text": "Hello, this is a generated speech.",
"title": "Generated Audio"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `voice_uuid` | string | Yes | UUID of the voice to use |
| `text` | string | Yes | Text to convert to speech |
| `title` | string | No | Title for the generated clip |
**Example Request**:
```bash
# Replace PROJECT_UUID and VOICE_UUID with actual UUIDs
curl -X POST "https://api.lowcodeapi.com/resembleai/v2/projects/project_uuid/generate?project_uuid=PROJECT_UUID&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"voice_uuid": "VOICE_UUID",
"text": "Hello, this is a generated speech.",
"title": "Generated Audio"
}'
```
**Official Documentation**: [Generate Speech](https://docs.app.resemble.ai/docs/generate_speech)
---
### Category: Projects
#### Get All Projects
**Method**: `GET` | **LowCodeAPI Path**: `/v2/projects`
**Full URL**:
```
https://api.lowcodeapi.com/resembleai/v2/projects?api_token={api_token}
```
**Description**: Retrieve all projects in your account.
**Query Parameters**:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | Yes | Page number to fetch |
| `page_size` | integer | Yes | Number of items per page |
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/resembleai/v2/projects?page=1&page_size=50&api_token=YOUR_API_TOKEN"
```
**Official Documentation**: [Get Projects](https://docs.app.resemble.ai/docs/projects)
---
#### Create Project
**Method**: `POST` | **LowCodeAPI Path**: `/v2/projects`
**Full URL**:
```
https://api.lowcodeapi.com/resembleai/v2/projects?api_token={api_token}
```
**Description**: Create a new project to organize your voice assets.
**Request Body**:
```json
{
"name": "My Voice Project",
"description": "Project for custom voiceovers"
}
```
**Request Body Fields**:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | Yes | Project name |
| `description` | string | No | Project description |
**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/resembleai/v2/projects?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "My Voice Project",
"description": "Project for custom voiceovers"
}'
```
**Official Documentation**: [Create Project](https://docs.app.resemble.ai/docs/projects)
---
### Category: Account
#### Get Account Details
**Method**: `GET` | **LowCodeAPI Path**: `/v2/account`
**Full URL**:
```
https://api.lowcodeapi.com/resembleai/v2/account?api_token={api_token}
```
**Description**: Get your account details including credit balance.
**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/resembleai/v2/account?api_token=YOUR_API_TOKEN"
```
**Official Documentation**: [Account Details](https://docs.app.resemble.ai/docs/getting_started/quick_start)
---
## Usage Examples
### Example 1: Create Custom Voice
Create a new voice and upload recordings:
```bash
# Step 1: Create a new voice
# No ID needed - creates new voice
curl -X POST "https://api.lowcodeapi.com/resembleai/v2/voices?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Custom Voice",
"is_public": false
}'
# Step 2: Upload recordings for cloning
# Replace VOICE_UUID with actual voice UUID from step 1
curl -X POST "https://api.lowcodeapi.com/resembleai/v2/voices/voice_uuid/recordings?voice_uuid=VOICE_UUID&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"audio_url": "https://example.com/sample.wav",
"text": "This is a sample transcript for voice cloning."
}'
```
### Example 2: Generate Speech
Create a project and generate speech:
```bash
# Step 1: Create a project
# No ID needed - creates new project
curl -X POST "https://api.lowcodeapi.com/resembleai/v2/projects?api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "My Voice Project"
}'
# Step 2: Generate speech from text
# Replace PROJECT_UUID and VOICE_UUID with actual UUIDs
curl -X POST "https://api.lowcodeapi.com/resembleai/v2/projects/project_uuid/generate?project_uuid=PROJECT_UUID&api_token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"voice_uuid": "VOICE_UUID",
"text": "Welcome to our service. We are excited to have you here.",
"title": "Welcome Message"
}'
```
### Example 3: List Voices and Recordings
Browse your voice library:
```bash
# Step 1: Get all voices
# No ID needed - lists all voices
curl -X GET "https://api.lowcodeapi.com/resembleai/v2/voices?page=1&page_size=50&api_token=YOUR_API_TOKEN"
# Step 2: Get recordings for a specific voice
# Replace VOICE_UUID with actual voice UUID
curl -X GET "https://api.lowcodeapi.com/resembleai/v2/voices/voice_uuid/recordings?voice_uuid=VOICE_UUID&page=1&page_size=20&api_token=YOUR_API_TOKEN"
```
## Complete Endpoint Reference
For a complete list of all 39 endpoints and their parameters, refer to:
- **OpenAPI Definition**: https://backend.lowcodeapi.com/resembleai/definition
- **Official Resemble AI Documentation**: https://docs.app.resemble.ai/docs/getting_started/quick_start
## Rate Limits & Best Practices
- **Rate Limit**: Refer to your Resemble AI plan for rate limits
- **Best Practices**:
- Store voice and project UUIDs for efficient updates
- Upload high-quality audio recordings for better voice cloning
- Keep recordings between 10-60 seconds for optimal results
- Use descriptive names and titles for easy organization
- Monitor your credit balance to avoid service interruptions
- Group related assets in projects for better organization
- Test generated speech before using in production
## Error Handling
All responses are wrapped in a `data` key:
```json
{
"data": {
// Actual response from Resemble AI
}
}
```
Common errors:
- **400**: Invalid request parameters
- **401**: Invalid API key
- **404**: Voice or project not found
- **429**: Rate limit exceeded or insufficient credits