API Endpoints
Agent edit
Use a background agent to create and edit projects using a natural language prompt.
- Edit existing project: Provide a project_id to edit an existing project
- Target a specific composition: Provide both project_id and composition_id to direct the agent to a specific composition within the project
- Create new project: Provide a project_name instead of project_id to create a new project
Common use cases
- Create new content: "create a 30-second video about cooking tips"
- Apply audio effects: "add studio sound to every clip"
- Remove filler words: "remove all filler words from the transcript"
- Create highlights: "create a 30-second highlight reel"
- Content editing: "remove the section from 1:30 to 2:15"
Async Operations
Agent edits run in the background and return a job_id. Monitor progress via the GET /jobs/{job_id} endpoint.
Dynamic webhook
If callback_url is provided, Descript will POST the job status to that URL when the job completes or fails. The payload will match the format returned by GET /jobs/{job_id}.
post/jobs/agent
Request body
Example request
{
"project_id": "9f36ee32-5a2c-47e7-b1a3-94991d3e3ddb",
"project_name": "My New Project",
"composition_id": "39677a40-1c43-4c36-8449-46cfbc4de2b5",
"prompt": "add studio sound to every clip",
"callback_url": "https://example.com/webhooks/descript/job_callback"
}Response
Agent edit job created successfully
Example response
{
"job_id": "6dc3f30a-58c2-4174-96a6-dc18cf3c7776",
"drive_id": "c9c5c47e-158a-49f7-846b-4f6ee2a229a2",
"project_id": "9f36ee32-5a2c-47e7-b1a3-94991d3e3ddb",
"project_url": "https://web.descript.com/9f36ee32-5a2c-47e7-b1a3-94991d3e3ddb",
"conversation_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"resolved_model": "claude-opus-4.8"
}