canonical: https://jentic.com/apis/descriptapi.com/descriptapi

# Descript API

The Descript API drives Descript's audio and video editing from code: you import project media, start editing jobs, and track them to completion. You submit an edit-in-Descript job and read back its schema, kick off an agent job that edits a project, list jobs, and read or delete a single job by its id. A published-projects endpoint returns a finished project by slug, and a status endpoint reports service health, so an integration can run a full import-edit-retrieve loop.

## For AI agents

Import media into Descript, start audio and video editing jobs, and track them to completion. Reads and deletes jobs by id and fetches published projects by slug.

## Scope

Does not host or stream finished video, transcribe standalone audio, or manage billing. Use for importing media and running Descript editing jobs only.

## Capabilities

- Submit an edit-in-Descript job and read back its schema
- Import project media into a Descript project
- Start an agent job that edits a project programmatically
- List editing jobs and read or delete a single job by its id
- Fetch a published project by its slug
- Check the service status

## Use cases

### Agent-Driven Video Editing Pipeline

An AI agent turns raw footage into an edited Descript project by importing the project media, starting an agent job that applies the edits, and polling the job until it finishes. Because jobs are addressable by id, the agent can check progress and react when the edit completes, so a content pipeline runs without a person in the editor.

Example prompt: Import project media, start an agent edit job, and poll the job by id until it reports complete

### Published Project Retrieval

Fetch a finished Descript project by its published slug so a downstream app can embed or distribute it. This lets a publishing workflow pull the completed output once editing is done rather than tracking files by hand.

Example prompt: Retrieve a published project by its slug and return its output details

### Job Lifecycle Management

Keep an editing queue tidy by listing jobs, reading the state of a specific job, and deleting jobs once their output has been collected. This gives an automation clear control over the editing backlog it created.

Example prompt: List all jobs, read the status of each, and delete the ones that have already been retrieved

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/edit_in_descript/schema` | Submit an edit-in-Descript job and read its schema |
| POST | `/jobs/import/project_media` | Import project media |
| POST | `/jobs/agent` | Start an agent edit job |
| GET | `/jobs` | List editing jobs |
| GET | `/jobs/{job_id}` | Read a job by id |
| DELETE | `/jobs/{job_id}` | Delete a job by id |
| GET | `/published_projects/{publishedProjectSlug}` | Fetch a published project by slug |
| GET | `/status` | Service status |

## Key resources

- **Jobs** — Editing jobs: created via edit, import, and agent endpoints, then listed, read, or deleted by id
- **Project Media** — Media imported into a Descript project
- **Published Projects** — Finished projects fetched by their published slug
- **Status** — Service health status

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 76 / 100
- **Maturity:** AI-Ready
- **Dimensions:**
  - Foundational Compliance: 93 / 100
  - Developer Experience & Jentic Compatibility: 77 / 100
  - AI-Readiness & Agent Experience: 64 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 80 / 100
- **View full report:** https://jentic.com/apis/descriptapi.com/descriptapi/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** By hand you provision a bearer token, set the Authorization header, learn the job model across the edit, import, and agent endpoints, and build your own polling loop before an edit completes. Through Jentic you connect once from the API Directory and your agent calls the operations by intent.
- **Permission scoping:** There are eight operations, so you decide exactly which your agent may call, such as importing media and reading jobs while withholding delete. The job id travels in the URL path, so a rule can bind the agent to specific job operations.
- **Credential handling:** Your bearer token is stored encrypted on your own Jentic One instance and injected into the Authorization header at execution time, never placed in the agent's prompt, logs, or context. You rotate or revoke it in one place.
- **Discovery method:** Agents search Jentic by intent such as 'start an edit job' or 'import project media', and Jentic returns the matching Descript operation with its input schema so the agent calls the right endpoint without reading the reference docs.

## Related APIs

- **AssemblyAI** — Transcribe audio before or alongside a transcript-based Descript edit.
- **Shotstack** — A programmatic video editing and rendering API as an alternative editing backend.
- **Mux** — Host and stream the finished video once Descript has edited it.
- **ElevenLabs** — Generate or replace voice tracks to drop into a Descript project.

## FAQ

### What authentication does the Descript API use?

It uses an HTTP bearer token: every operation requires a bearer credential in the Authorization header. Through Jentic, your own Jentic One instance stores that token encrypted and attaches it to each request rather than exposing it to the agent.

### Can I edit a video programmatically with the Descript API?

Yes. You import the project media, then start an agent job that applies the edits, and track the job by its id until it completes. The edit-in-Descript endpoint also returns a schema describing the edit so an integration knows what to send.

### What are the rate limits for the Descript API?

The OpenAPI spec does not state rate limits. Check the official Descript API documentation at https://docs.descriptapi.com/ for current limits before submitting many jobs at once.

### How do I automate Descript editing through Jentic?

Add the Descript API from the Jentic API Directory and connect your bearer token once. Your agent then searches by intent such as 'start an edit job' and calls the matching operation. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I control which Descript operations my agent is allowed to call?

Yes. There are eight operations, so you grant your agent only the ones it needs, such as importing media and reading jobs while withholding delete. The job id sits in the URL path, so a rule can also pin the agent to specific job operations, and every call is logged.

### Is there a Descript API MCP server?

You don't need an MCP server to use the Descript API with your agent. Jentic connects it directly from the API Directory: import it, connect your token once, and your agent can import media and run editing jobs without another server loading tool definitions into its context.
