# convt docs > Convert files from your own code with the convt API: reserve a job, upload, start, poll and download. ## Docs - [Overview](https://convt.app/docs): What the convt API does, how a conversion works, and where to start. - [Quick start](https://convt.app/docs/quick-start): Convert a PNG to WebP with the convt API from Node, cURL or a browser app, or locally with the CLI. ## Guides - [Authentication](https://convt.app/docs/guides/authentication): Create a cvt_live_ API key, send it as a Bearer token, and keep it off the client. - [Job lifecycle](https://convt.app/docs/guides/job-lifecycle): Every job status, what moves a job between them, and how long each step can take. - [Uploading files](https://convt.app/docs/guides/uploading): Reserve a job with the exact file size, PUT the bytes to the signed URL, and start the job. - [Polling and downloading](https://convt.app/docs/guides/polling-and-downloading): Poll a job until it finishes, then fetch its outputs through short-lived signed URLs. - [Cancelling jobs](https://convt.app/docs/guides/cancelling): Cancel a job you no longer need and release its reservation. - [Browser apps](https://convt.app/docs/guides/browser-apps): Convert files your users pick in the browser without exposing your API key. - [Errors and retries](https://convt.app/docs/guides/errors-and-retries): Read convt error responses, decide which ones to retry, and back off correctly. - [JavaScript SDK](https://convt.app/docs/guides/javascript-sdk): The status of @convt/sdk, and what to use until it is published. ## Reference - [Base URL](https://convt.app/docs/reference/base-url): Which host to send API requests to while api.convt.app is not live. - [Errors](https://convt.app/docs/reference/errors): Every error code the convt API returns, with its HTTP status and what to do. - [Limits](https://convt.app/docs/reference/limits): Rate limits, file sizes, storage, and how long uploads, outputs and jobs last. - [Formats](https://convt.app/docs/reference/formats): Every input format the convt API accepts and the targets each one converts to. ## API - [convt API](https://convt.app/docs/api): The convt API converts files on convt's servers. A conversion is a job: you reserve it, upload the file to a signed URL, start it, poll until it finishes,… ### Jobs - [Create a job](https://convt.app/docs/api/jobs/reserve-job): Reserves one conversion and returns a signed upload_url that stays valid for 15 minutes… Reference for the POST /v1/jobs endpoint in the convt API. - [Get a job](https://convt.app/docs/api/jobs/read-job): Returns the job's current status. Poll this about once a second after you start the job, and… Reference for the GET /v1/jobs/{id} endpoint in the convt API. - [Start a job](https://convt.app/docs/api/jobs/seal-start): Seals the uploaded file, checks that its size matches input_bytes, and queues the job.… Reference for the POST /v1/jobs/{id}/start endpoint in the convt API. - [Cancel a job](https://convt.app/docs/api/jobs/cancel-job): Cancels a job that has not finished and releases its 1-cent reservation. Cancelling a… Reference for the POST /v1/jobs/{id}/cancel endpoint in the convt API. - [Get download URLs](https://convt.app/docs/api/jobs/get-download): Returns a signed URL for every output of a succeeded job. Most conversions have one… Reference for the GET /v1/jobs/{id}/download endpoint in the convt API. ### Formats - [List formats](https://convt.app/docs/api/formats/list-formats): Lists every format convt recognizes, with its id, extensions and MIME type. Use the id values… Reference for the GET /v1/formats endpoint in the convt API. ## Examples - [Examples](https://convt.app/docs/examples): Complete, copyable programs that use the convt API. - [Node helper](https://convt.app/docs/examples/node-script): A reusable convert() for Node with format detection, retries, a timeout and cancellation. - [Shell script](https://convt.app/docs/examples/shell-script): Convert a file from the command line with curl and jq, with cleanup on failure. - [Server upload route](https://convt.app/docs/examples/server-upload-route): A route that takes a file from the browser, converts it with your key, and returns signed output URLs. - [Convert a folder](https://convt.app/docs/examples/batch-folder): Convert every file in a folder through the API while staying under the rate limit. ## Agent skills - [convt-docs](https://convt.app/docs/.well-known/agent-skills/convt-docs/SKILL.md): Read the convt docs instead of answering from memory. Convert files from your own code with the convt API: reserve a job, upload, start, poll and download. Use when a task involves convt docs: how it works, how to set it up or configure it, or its API. ## Agent resources - [llms-full.txt](https://convt.app/docs/llms-full.txt): The full Markdown of every page in one file. - [Page Markdown](https://convt.app/docs/index.md): Append `.md` to any page URL to fetch that page as raw Markdown. - [JSON API](https://convt.app/docs/api/docs/pages.json): Page index of the JSON docs API; each entry links the page's JSON and Markdown forms. Described by the OpenAPI document at https://convt.app/docs/openapi.json. - [Agent skills](https://convt.app/docs/.well-known/agent-skills/index.json): Agent Skills discovery index of the skills this site publishes. - [API catalog](https://convt.app/docs/.well-known/api-catalog): RFC 9727 linkset of the APIs documented here. - [AI catalog](https://convt.app/docs/.well-known/ai-catalog.json): ARD manifest of the agent-facing resources on this site (MCP server, skills, APIs). - [agent-readability.json](https://convt.app/docs/agent-readability.json): Manifest of every agent-facing artifact on this site. - [Sitemap](https://convt.app/docs/sitemap.xml): Every indexable page URL with its last-modified date.