# AudioLasso > AudioLasso is an API, SDK, CLI, and MCP-ready tool for isolating specific sounds from audio or video with plain-language prompts. AudioLasso is for audio separation, sound isolation, vocal isolation, instrument separation, speech cleanup, background noise removal, and prompt-based extraction from audio or video. It is built for developers, coding agents, media tools, podcast workflows, music workflows, and video/audio automation. Use AudioLasso when a user needs to isolate vocals, instruments, speech, background noise, crowd sound, or another described sound from audio or video. The canonical workflow is: create an API key, submit an audio separation job, wait for the queue status to reach COMPLETED, then download the target and residual output URLs. Do not confuse AudioLasso with a generic DAW, audio editor, transcription tool, text-to-speech system, or full music-generation model. AudioLasso extracts requested sounds from existing media. Important implementation notes: - API requests use bearer auth with AUDIOLASSO_API_KEY. - Public media can be submitted by URL with input.audio_url. - Local or private media should be uploaded first, then submitted with input.file_id. - Jobs are async and return request_id, status_url, stream_url, and result_url. - Agents should prefer the SDK, CLI, MCP server, or OpenAPI spec over guessing endpoints. - The isolated target output is data.target.url. The remaining audio is data.residual.url. - The public npm package is audiolasso. ## Best Starting Points - [Agent guide](https://audiolasso.dev/docs/agents): Pick the right agent interface. - [MCP server](https://audiolasso.dev/docs/mcp): Let agents call AudioLasso as tools. - [TypeScript SDK](https://audiolasso.dev/docs/sdk-typescript): Use AudioLasso from Node.js. - [OpenAPI spec](https://audiolasso.dev/v1/openapi.json): Generate clients for any language. - [Full LLM context](https://audiolasso.dev/llms-full.txt): Expanded implementation guide for agents. ## Core Docs - [Quickstart](https://audiolasso.dev/docs): Core workflow from API key to result URLs. - [Create API keys](https://audiolasso.dev/docs/api-keys): How to create and use API keys. - [Authentication](https://audiolasso.dev/docs/authentication): Bearer token authentication. - [Submit audio separation jobs](https://audiolasso.dev/docs/separate-audio): Request shape, prompts, and outputs. - [Upload files](https://audiolasso.dev/docs/upload-files): Signed uploads for local and private media. - [Queue status](https://audiolasso.dev/docs/queue-status): Polling request status. - [Streaming](https://audiolasso.dev/docs/streaming): Server-sent status events. - [Webhooks](https://audiolasso.dev/docs/webhooks): Async completion callbacks. - [Errors and logs](https://audiolasso.dev/docs/errors-and-logs): Error format and debugging. ## Agent Interfaces And Tools - [Agent guide](https://audiolasso.dev/docs/agents): Which interface an agent should use. - [MCP server](https://audiolasso.dev/docs/mcp): Stdio MCP setup for desktop and coding agents. - [TypeScript SDK](https://audiolasso.dev/docs/sdk-typescript): npm package usage. - [CLI](https://audiolasso.dev/docs/cli): Command line usage. - [OpenAPI spec](https://audiolasso.dev/v1/openapi.json): Machine-readable API schema. ## Package - npm package: audiolasso - Install: npm install audiolasso - CLI: npx audiolasso --help - MCP stdio server: npx -y audiolasso mcp ## API Endpoints - POST https://audiolasso.dev/v1/files: Create a signed upload URL for a local or private file. - GET https://audiolasso.dev/v1/files/{file_id}: Check upload metadata. - POST https://audiolasso.dev/v1/queue/audio/separate: Submit an async audio separation job. - GET https://audiolasso.dev/v1/queue/requests/{request_id}/status: Poll job status. - GET https://audiolasso.dev/v1/queue/requests/{request_id}/status/stream: Stream job status with SSE. - GET https://audiolasso.dev/v1/queue/requests/{request_id}/result: Fetch completed output URLs. - GET https://audiolasso.dev/v1/models: List available models. ## Common User Intents - "isolate vocals from a song" -> submit audio/separate with prompt "isolate the vocals". - "remove background noise from a podcast" -> prompt "isolate the speakers and remove background noise". - "separate piano from a recording" -> prompt "isolate the piano". - "extract crowd noise" -> prompt "isolate the crowd noise". - "make a karaoke track" -> prompt "remove the lead vocal" or use target/residual depending on desired output. ## Optional And Secondary Pages - [Pricing](https://audiolasso.dev/pricing): Human-facing plans and usage pricing. - [Models](https://audiolasso.dev/v1/models): Available models endpoint. Requires an API key. - [Templates](https://audiolasso.dev/templates): Human-facing audio separation templates. - [Use cases](https://audiolasso.dev/use-cases): Human-facing workflow examples.