The Descript API (application programming interface) is how you connect Descript to your existing tools and workflows without opening the Descript app. With the API, you can trigger media imports, automate editing tasks, batch-process recordings, build custom integrations, and use AI assistants to create and edit projects on your behalf.
Using the API to import media or talk to Underlord will use media minutes and AI credits.
For more info, see Track and understand your media minutes and AI credits.
This article covers:
- What is an API?
- What can I do with the API?
- How to create your API token
- Choose how to use the API (MCP, automation tools, CLI, or direct API)
- Known limitations
What is an API?
Think of the API as a waiter at a Descript restaurant. You place your order, the waiter takes it to the kitchen, and when your food is ready, the waiter brings it back to you. The API works the same way β you send a request, Descript processes it in the background, and then gives it to your waiter, who brings it directly to you.
Before you can order though, the waiter needs to know you're actually a customer. That's what your API token is for β think of it as your access badge. It proves the request is coming from you and tells Descript which drive to work with. Without a valid token, the API won't accept your requests.
New to APIs? We have a glossary of important terms and acronyms
Glossary of key concepts
API token. This is a unique key that authenticates your requests β like a password that lets your tools talk to Descript. Each token is tied to a specific drive. These are super valuable. Donβt share your API token with others! Keep it secret, keep it safe.
Job. Any long-running operation (importing media, running an agent edit). Each job has an ID and a status you can check.
Media minutes and AI credits. Importing and processing media consumes media minutes from your plan. Underlord edits consume AI credits. If you run out of either, requests will return a 402 error.
Projects and compositions. A container for your content in Descript. When you import media through the API, it creates a new project. A project can have multiple compositions β for example, a rough cut and a final version. When importing, you can specify how clips are arranged in a composition. Learn more about projects and compositions.
What can I do with the API?
Import media into a new project. The API can create a project, import media from a URL, transcribe it, and set up a composition β all in one step. Import multiple files at once and arrange them into a timeline.
Edit with Underlord. Anything Underlord can do in the app, it can do through the API β add Studio Sound, remove filler words, create highlight clips, add captions, generate B-roll, translate audio, and more. It can also create an entirely new project from just a prompt, no media needed. If you can describe it, Underlord can do it.
If you're connecting through an AI assistant like Claude, the connector handles this through your Descript login β no token needed. For everything else (the terminal or Zapier), you'll need to create one.
What about exporting?
Publishing and export endpoints aren't available just yet β you'll need to do this manually in Descript for now. Stay tuned!
How to create your API token
Your API key authenticates your requests and connects them to a specific Descript drive. Each token is tied to one drive, so if you work across multiple drives, you'll need a separate key for each.
- Go to your Descript account settings and click the API tokens section.
- Click Create token.
- Give your token a name and select the Descript drive it should be tied to. When you're ready, click Create token.
- A window will appear with your token. Copy and store it in a safe place β you won't be able to view it again. If you lose it, you'll need to generate a new one.
Keep your token private
Anyone with your token can make API requests on your behalf, consuming your media minutes and AI credits. Keep it secret; keep it safe!
Choose how to use the API
The API powers everything below β whether you're writing code, connecting Zapier, or chatting with an AI assistant. These are just different ways to talk to it.
AI assistants can also pull in context from other connected tools (Slack, Notion, Google Drive) to give Underlord richer prompts.
Example requests
- "Create a Descript project from this video URL"
- "Add Studio Sound and captions to my latest project"
- "Make a 30-second highlight reel from my project"
- "Write a script about how to make great coffee and create a video from it"
Claude
Connect the Descript MCP to Claude (or another AI assistant), and you can trigger imports and edits just by asking. Describe what you want in plain English, and connect it to other tools.
Set up with Claude
-
In the left pane, navigate to
Customize β Connectors,
and click the + sign to add a
custom connector
Β
-
Type in Descript for the name, and use
https://api.descript.com/v2/mcpfor the remote MCP server URL.
Β
-
You should now see Descript added under the "Not connected"
list.
Click the
Connect button to log in
Β
-
Sign into Descript, then click "Allow" when prompted
Β
-
Once this process is complete, you'll be redirected back
to Claude!
For more information on setting up or troubleshooting connectors, see Claude's support article.
Claude Code
Connect the Descript MCP to Claude Code (or Codex, or Cursor) to build your own custom integration on top of the API. This gives your vibecoding tool of choice context into the Descript API
Good for: Exploring what's possible, testing workflows conversationally.
Set up in Claude Code
Add Descript as an MCP server:
claude mcp add descript --transport http https://api.descript.com/v2/mcp
Zapier β Connect Descript to your existing workflows
Connect Descript, set your trigger (new file, new recording, new post), and then feed a prompt to Underlord. Best for teams already comfortable with Zapier, anyone who wants to wire this into existing automation workflows without touching code.
Set up with Zapier
-
Create a Zapier account (it's free!) and use
THIS
LINK
to gain access to the Descript
<>
Zapier integration.
Β
-
In Zapier, create a new Zap.
Β
-
After adding a trigger of your choice (the action that will
kickstart
your workflow), add a new
Action
step.
Β
-
Search for and select the Descript API.
Β
-
Choose the event you want to run. Currently, you can
Import Media or Edit with AI(Underlord).
Β
-
In the Account section,
select/connect
your
Descript account by entering your
API token.
Use your own private, personal API tokenUse your own API token. Once connected, it will appear as a Personal connection in Zapier.
Do not share this connection with your Zapier organization. Each team member should create their own.
If your Zap uses multiple Descript steps (e.g., Import Media and Edit with AI), select this same connection for each one. Mismatched connections will cause errors.
-
Continue configuring the action fields and test the step.
Β
Command Line
Install the CLI, drop in your API key, and run imports and edits from your terminal. It handles the polling and shows live progress β useful for testing before you build something real. Good for technical users who want to test things quickly.
Direct API β Full control, for production workflows.
Call the API directly over HTTP. You own the logic β job orchestration, error handling, webhooks, the whole thing. Good for: Engineering teams standing up production workflows.
Known limitations
Here's what's not yet available:
- No publish or export endpoint. Open your project in Descript to export.
-
Google Drive, Dropbox, and Zapier limitations:
- Zapier: When importing media from Google Drive or Dropbox, select the File field in your action config (not Media URL or DownloadURL). Standard share links and download URLs will return errors. Note: imported files are limited to 1GB.
- Direct API: Standard share links won't work because they point to a webpage, not the file itself. Convert them to direct download links before passing them to the API.
- CLI: You can use a Google Drive or Dropbox share link directly β the CLI converts it to a direct download link automatically. Make sure the file is set to "Anyone with the link can view." Very large files may not work due to Google's virus scan blocking the download.
- No uploading from your computer. You can't drag-and-drop or browse for a file on your computer to send it through the API. Your video or audio needs to already be hosted somewhere online (like Google Drive, Dropbox, or another cloud storage service) so the API can pull it in using a link.
-
No composition-level targeting for agent edits yet. The
composition_idparameter is accepted but not yet functional. - Tokens are scoped to a single drive. You'll need separate tokens for each drive. Editing a project on a different drive than your token is scoped to will return a 403 error, even if you have permissions on that project.
- Job history is only available for 30 days. You can look up any import or edit job for up to 30 days after it ran. After that, it's no longer accessible β so if you need to keep records, save your job details as you go.
For updates and discussion, join the Descript API Discord.