Convert.FAST API
Convert files between 200+ formats with one HTTP request. Built for AI agents and server-side integrations.
Free to start — Sign up and get 500 Pro credits that never expire. No credit card required. Have your API key and first conversion running in under 5 minutes.
Base URL
https://api.tools.fast
Authentication
Pass your key in X-Fast-Api-Key.
X-Fast-Api-Key: fast_prod_...
All endpoints require a valid API key.
The API is designed for server-side integrations. Browser-based requests are restricted to first-party origins — call the API from your backend.
Using an AI agent?
Copy-paste this into Claude Code, ChatGPT, Cursor, or any AI coding assistant:
Download the Convert.FAST skill and reference docs, then use them to complete my task:
curl -fsSL https://convert.fast/SKILL.md -o SKILL.md
mkdir -p reference && curl -fsSL https://convert.fast/api/docs.md -o reference/docs.md
curl -fsSL https://convert.fast/convert.fast.sh -o convert.fast.sh && chmod +x convert.fast.sh
Read SKILL.md to understand how to use the Convert.FAST API.Download the Convert.FAST skill and reference docs, then use them to complete my task:
Invoke-RestMethod "https://convert.fast/SKILL.md" -OutFile SKILL.md
New-Item -ItemType Directory -Force reference | Out-Null
Invoke-RestMethod "https://convert.fast/api/docs.md" -OutFile reference/docs.md
Invoke-RestMethod "https://convert.fast/convert.fast.ps1" -OutFile convert.fast.ps1
Read SKILL.md to understand how to use the Convert.FAST API.Reference doc sizes — the snippets above download
docs.md(~21.7k tokens, core API pages). For every page including per-converter details usedocs-all.md(~101k tokens). See For AI Agents for details.
Your agent downloads a skill guide, the core API reference, and a CLI wrapper, then converts files autonomously. Set TOOLS_FAST_API_KEY as an environment variable, or lock your API key to your IP address and pass it directly to the agent — see For AI Agents for full setup.
Quickstart
Convert.FAST uses an async 3-step flow: submit → poll → download.
The cURL examples use jq for JSON parsing.
API_KEY="fast_prod_your_key_here"
# 1) Submit — returns job ID
JOB_ID=$(curl -sS -X POST "https://api.tools.fast/convert" \
-H "X-Fast-Api-Key: $API_KEY" \
-F "file=@photo.heic" \
-F "targetFormat=jpg" | jq -r '.id')
# 2) Poll — wait for completion
while true; do
RESPONSE=$(curl -sS "https://api.tools.fast/convert/job/${JOB_ID}" \
-H "X-Fast-Api-Key: $API_KEY")
STATUS=$(echo "$RESPONSE" | jq -r '.status')
[ "${STATUS}" = "Succeeded" ] && break
[ "${STATUS}" = "Failed" ] || [ "${STATUS}" = "Canceled" ] && exit 1
sleep 1
done
# 3) Download
FILENAME=$(echo "$RESPONSE" | jq -r '.output.fileName')
curl -sS "https://api.tools.fast/convert/job/${JOB_ID}/download" \
-H "X-Fast-Api-Key: $API_KEY" \
-o "./${FILENAME}"
See Getting Started for the complete walkthrough with cURL, PowerShell, and CLI wrapper examples.
Two ways to integrate
Raw API
Submit, poll, download — the standard integration path. Full control for custom integrations and SDKs.
POST /convertwith multipart form data (file,targetFormat).GET /convert/job/{id}until terminal status.GET /convert/job/{id}/downloadto retrieve output.
CLI wrappers
Lightweight CLI wrappers that handle submit, poll, and download in one command. For scripts, CI/CD, and LLM agents.
curl -fsSL https://convert.fast/convert.fast.sh -o convert.fast.sh && chmod +x convert.fast.sh
./convert.fast.sh photo.heic jpg
Invoke-RestMethod "https://convert.fast/convert.fast.ps1" -OutFile convert.fast.ps1
./convert.fast.ps1 photo.heic jpg
Rate limits
API access requires Pro credits — available pay-as-you-go or via subscription. Signing up free grants 500 Pro credits immediately, enough to get started. Each account can have up to 18 jobs queued + running at a time — submitting beyond this limit returns 429 with a Retry-After header. Up to 6 of those jobs will run concurrently; additional jobs stay queued until a slot opens. See Rate Limits for details.
Response times & storage
Processing times
Most image conversions complete in 1-3 seconds. Document conversions (PDF, DOCX) typically take 3-10 seconds depending on page count. Audio transcription may take longer depending on duration. Poll GET /convert/job/{id} at 1-2 second intervals for images, 3-5 seconds for documents.
File retention
Output files are available for download for 1 hour after job completion, then automatically deleted. After that, GET /convert/job/{id}/download returns 410 Gone. To clean up immediately after downloading, call DELETE /convert/job/{id} — this removes the job and its output files from our servers right away.
Webhooks — receive a POST notification when a job completes instead of polling. Pass webhookUrl and webhookSecret when submitting a job. See Webhooks for the full guide.
Supported Formats
170 converters across 7 categories.
POST /convertwithtargetFormat— the API resolves the correct converter automatically. For live costs, limits, and options, callGET /convert/conversions.
Images (62)
avif→{gif,jpg,png,webp}, bmp→{jpg,png}, cr2→{jpg,png}, cr3→{jpg,png}, gif→{avif,jpg,png,webp}, heic→{avif,jpg,png,webp}, ico→png, jpg→{avif,ico,png,webp}, lottie→{apng,gif,jpg,png,webm,webp}, nef→{jpg,png}, pict→{avif,bmp,jpg,pdf,png,tiff,webp}, png→{avif,ico,jpg,webp}, psd→{jpg,png}, raw→{avif,jpg,png,webp}, svg→{jpg,png}, tgs→{apng,gif,jpg,png,webp}, tiff→{jpg,pdf,png}, webp→{avif,gif,jpg,png}
Documents (26)
bank-statement→excel, doc→{pdf,pdfa}, docx→{epub,md,pdf,pdfa}, jpg→pdf, md→pdf, pdf→{docx,jpg,md,pdfa,png}, png→pdf, pptx→{jpg,pdf,pdfa,png}, rtf→pdf, word→{jpg,pdf,pdfa,png}, xlsx→{pdf,pdfa}
Audio (38)
aac→{mp3,opus}, audio→{epub,markdown,pdf,srt,txt,vtt,word}, flac→{mp3,opus,wav}, m4a→{mp3,opus}, m4b→{m4a,mp3,ogg,wav}, mp3→{aac,m4a,ogg,opus,wav}, ogg→{mp3,opus}, opus→{aac,flac,m4a,mp3,ogg,wav}, paf→{mp3,wav}, wav→{flac,mp3,opus}, wma→{mp3,wav}
Video (10)
avi→{mp3,wav}, mkv→{mp3,wav}, mov→{mp3,wav}, mp4→{mp3,wav}, webm→{mp3,wav}
Ebooks (7)
azw3→epub, epub→{azw3,docx,kepub,mobi}, mobi→epub, pdf→epub
Fonts (13)
otf→{ttf,woff,woff2}, ttc→ttf, ttf→{otf,woff,woff2}, woff→{otf,ttf,woff2}, woff2→{otf,ttf,woff}
Archives (14)
7z→{iso,tar,zip}, rar→{iso,tar,zip}, tar→{iso,zip}, tar-bz2→zip, tar-gz→zip, zip→{iso,tar,tar-bz2,tar-gz}