# Descript Integration via LowCodeAPI

## Overview

Audio and video editing platform with AI-powered transcription and editing tools

## Base Endpoint

```
https://api.lowcodeapi.com/descript/
```

## Authentication

LowCodeAPI handles authentication automatically. You only need to:

1. **Sign up** at [https://www.descript.com/](https://www.descript.com/)
2. **Get your credentials** from [https://app.squadcast.fm/account/developers](https://app.squadcast.fm/account/developers)
3. **Connect your account** in LowCodeAPI dashboard
4. **Use your `api_token`** in all requests

The `api_token` is your LowCodeAPI authentication token. LowCodeAPI will automatically:
- Fetch your Descript API key
- Apply it to each request with `Authorization` header

**Auth Type**: API Key (Authorization header)

## API Categories

- Speech to Text AI

## Common Endpoints

### Category: Edit in Descript

#### Create Import URL

**Method**: `POST` | **LowCodeAPI Path**: `/v1/edit_in_descript/schema`

**Full URL**:
```
https://api.lowcodeapi.com/descript/v1/edit_in_descript/schema&api_token={api_token}
```


**Body Parameters**:

| `partner_drive_id` | string | Yes | The drive id associated with the auth token. |
| `project_schema` | object | Yes | The Project schema |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/descript/v1/edit_in_descript/schema?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"partner_drive_id":"value","project_schema":"value"}'
```

**Official Documentation**: [https://docs.descriptapi.com/#operation/postEditInDescriptSchema](https://docs.descriptapi.com/#operation/postEditInDescriptSchema)

---

### Category: Overdub

#### Generate a new Overdub

**Method**: `POST` | **LowCodeAPI Path**: `/v1/overdub/generate_async`

**Full URL**:
```
https://api.lowcodeapi.com/descript/v1/overdub/generate_async&api_token={api_token}
```


**Body Parameters**:

| `text` | string | Yes | The text you want to generate. |
| `voice_id` | string | Yes | The voice id |
| `voice_style_id` | string | No | The ID of the desired style associated with the voice. If not provided, the default voice style is used. This parameter is ignored if prefix_audio_url or suffix_audio_url is provided. |
| `prefix_text` | string | No | The transcript of the prefix audio. |
| `prefix_audio_url` | string | No | The prefix audio url. |
| `suffix_text` | string | No | The transcript of the suffix audio. |
| `suffix_audio_url` | string | No | The suffix audio url. |
| `callback_url` | string | No | when the overdub is ready, we do a post on that endpoint with a json object: {state, id}. Then user will have to get the result as usual |


**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/descript/v1/overdub/generate_async?&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text":"value","voice_id":"value","voice_style_id":"value"}'
```

**Official Documentation**: [https://docs.descriptapi.com/#operation/createOverdubAsync](https://docs.descriptapi.com/#operation/createOverdubAsync)

---

#### Get an Overdub result

**Method**: `GET` | **LowCodeAPI Path**: `/v1/overdub/generate_async/overdubid`

**Full URL**:
```
https://api.lowcodeapi.com/descript/v1/overdub/generate_async/overdubid?overdubId={overdubId}&api_token={api_token}
```


**Path Parameters**:

| `overdubId` | string | ID of the Overdub to return. |

**Note**: Path parameters are passed in the URL path. The LowCodeAPI path uses static parameter names, and the actual values are passed as query parameters with the same names.


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/descript/v1/overdub/generate_async/overdubid?overdubId=VALUE&&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.descriptapi.com/#operation/getOverdubAsync](https://docs.descriptapi.com/#operation/getOverdubAsync)

---

#### Get voices

**Method**: `GET` | **LowCodeAPI Path**: `/v1/overdub/voices`

**Full URL**:
```
https://api.lowcodeapi.com/descript/v1/overdub/voices&api_token={api_token}
```


**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/descript/v1/overdub/voices&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json"
```

**Official Documentation**: [https://docs.descriptapi.com/#operation/getVoice](https://docs.descriptapi.com/#operation/getVoice)

---

## Usage Examples

### Example 1: Basic Usage

Get started with Descript API by making your first request.

```bash
# Your example code here
# This demonstrates basic usage
curl -X GET "https://api.lowcodeapi.com/descript/?api_token=YOUR_API_TOKEN"
```

### Example 2: Advanced Usage

Explore more advanced features and parameters.

```bash
# Your example code here
# This demonstrates advanced usage
curl -X GET "https://api.lowcodeapi.com/descript/?api_token=YOUR_API_TOKEN"
```

## Complete Endpoint Reference

For a complete list of all endpoints and their parameters, refer to:
- **OpenAPI Definition**: `https://backend.lowcodeapi.com/descript/definition`
- **Official Provider Documentation**: [https://docs.descriptapi.com/#section/Authentication](https://docs.descriptapi.com/#section/Authentication)

## Rate Limits & Best Practices

- Check your Descript account for specific rate limits
- Use appropriate error handling and retry logic
- Cache responses when appropriate to reduce API calls

## Error Handling

Standard HTTP status codes apply:
- `400` - Invalid request parameters
- `401` - Unauthorized (check your API key)
- `429` - Rate limit exceeded
- `500` - Internal server error