Descript API (beta)

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:

Descript API overview interface

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.

  1. Go to your Descript account settings and click the API tokens section.
  2. Click Create token.
    Create API token button
  3. Give your token a name and select the Descript drive it should be tied to. When you're ready, click Create token.
    Name and assign API token
  4. 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.
    API token generated modal

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

  1. In the left pane, navigate to Customize β†’ Connectors, and click the + sign to add a custom connector
    Navigate to Customize, Connectors and click the plus sign

    Β 

  2. Type in Descript for the name, and use https://api.descript.com/v2/mcp for the remote MCP server URL.
    Add custom connector with Descript name and MCP URL

    Β 

  3. You should now see Descript added under the "Not connected" list. Click the Connect button to log in
    Descript in the Not connected list with Connect button

    Β 

  4. Sign into Descript, then click "Allow" when prompted
    Sign in to Descript and click Allow

    Β 

  5. Once this process is complete, you'll be redirected back to Claude!
    Redirected back to Claude after connecting

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

  1. Create a Zapier account (it's free!) and use THIS LINK to gain access to the Descript <> Zapier integration.
    Install Descript Zapier app

    Β 

  2. In Zapier, create a new Zap.
    Create Zap

    Β 

  3. After adding a trigger of your choice (the action that will kickstart your workflow), add a new Action step.
    Add Zapier action step

    Β 

  4. Search for and select the Descript API.
    Select Descript app in Zapier

    Β 

  5. Choose the event you want to run. Currently, you can Import Media or Edit with AI(Underlord).
    Choose Zapier event

    Β 

  6. In the Account section, select/connect your Descript account by entering your API token.
    The Account field in Zapier where you enter your Descript API token
    Use your own private, personal API token

    Use 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.

  7. Continue configuring the action fields and test the step.
    Configure Zapier action

    Β 

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.

Set up the CLI

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.

Read the API documentation

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_id parameter 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.