Browse Docs
On This Page

For AI Agents

This page provides machine-readable information about the Tools.FAST API network for AI agents, coding assistants, and automated systems.

What is Tools.FAST?

Tools.FAST is a network of file-processing APIs. Each tool handles one category of file operations. All tools share the same API key, credit wallet, and authentication model.

Available tools

Base URL: https://api.tools.fast

Tool Path prefix Purpose
Convert.FAST /convert File format conversion (200+ pairs: images, documents, audio, video, fonts, ebooks, archives)
Compress.FAST /compress File compression (images, PDFs, Word, PowerPoint)

Authentication

All requests use the X-Fast-Api-Key header:

X-Fast-Api-Key: fast_prod_your_key_here

Get a key at https://accounts.tools.fast/account/login under API Keys.

Common workflow: submit, poll, download

Every tool follows the same 3-step async pattern:

Bash

# 1. Submit a file -- returns a job ID
JOB_ID=$(curl -sS -X POST "https://api.tools.fast/convert" \
  -H "X-Fast-Api-Key: $API_KEY" \
  -F "file=@input.heic" \
  -F "targetFormat=jpg" | jq -r '.id')

# 2. Poll until status is "Succeeded", "Failed", or "Canceled"
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 the result (output.fileName has the correct filename)
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}"

PowerShell

# 1. Submit a file -- returns a job ID
$job = Invoke-RestMethod -Method Post "https://api.tools.fast/convert" `
  -Headers @{ "X-Fast-Api-Key" = $env:API_KEY } `
  -Form @{ file = Get-Item "input.heic"; targetFormat = "jpg" }

# 2. Poll until status is "Succeeded", "Failed", or "Canceled"
do {
  $status = Invoke-RestMethod "https://api.tools.fast/convert/job/$($job.id)" `
    -Headers @{ "X-Fast-Api-Key" = $env:API_KEY }
  if ($status.status -in "Failed", "Canceled") { throw "Job $($job.id) $($status.status)" }
  Start-Sleep -Seconds 1
} while ($status.status -ne "Succeeded")

# 3. Download the result (output.fileName has the correct filename)
Invoke-RestMethod "https://api.tools.fast/convert/job/$($job.id)/download" `
  -Headers @{ "X-Fast-Api-Key" = $env:API_KEY } -OutFile "./$($status.output.fileName)"

Job status values

Status Meaning
Queued Job is waiting to be processed
Processing Job is actively being processed
Succeeded Job completed successfully; output ready for download
Failed Job failed; credits are refunded automatically
Canceled Job was canceled by the user

Convert.FAST quick reference

Endpoints

Method Path Description
POST /convert Submit a file for conversion Requires file (multipart) and targetFormat
GET /convert/job/{id} Get job status Returns status, progress, error details
GET /convert/job/{id}/download Download converted file Only available when status is Succeeded
GET /convert/conversions List all supported format pairs Requires API key
GET /convert/schema Get options schema for a format pair Requires API key
GET /convert/estimate/{from}/{to} Estimate credit cost Returns estimated credit cost for a conversion pair
GET /convert/entitlements/me Check credit balance Requires API key

CLI wrapper

Convert.FAST provides wrapper scripts that handle submit + poll + download in one command:

Bash

curl -fsSL https://convert.fast/convert.fast.sh -o convert.fast.sh && chmod +x convert.fast.sh
export TOOLS_FAST_API_KEY="fast_prod_your_key_here"

./convert.fast.sh photo.heic jpg              # basic conversion
./convert.fast.sh document.pdf docx            # PDF to Word
./convert.fast.sh scan.pdf docx out.docx '{"ocr":{"enabled":true}}'  # with options

PowerShell

Invoke-RestMethod "https://convert.fast/convert.fast.ps1" -OutFile convert.fast.ps1
$env:TOOLS_FAST_API_KEY = "fast_prod_your_key_here"

./convert.fast.ps1 photo.heic jpg              # basic conversion
./convert.fast.ps1 document.pdf docx            # PDF to Word
./convert.fast.ps1 scan.pdf docx out.docx '{"ocr":{"enabled":true}}'  # with options

Skill file for AI agents

For a comprehensive guide designed specifically for AI agents, download the Convert.FAST skill file:

Bash

curl -fsSL https://convert.fast/SKILL.md -o SKILL.md
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

PowerShell

Invoke-RestMethod "https://convert.fast/SKILL.md" -OutFile SKILL.md
Invoke-RestMethod "https://convert.fast/api/docs.md" -OutFile reference/docs.md
Invoke-RestMethod "https://convert.fast/convert.fast.ps1" -OutFile convert.fast.ps1

SKILL.md contains setup instructions, API flow, discovery, options, and error handling -- everything an AI agent needs to use Convert.FAST autonomously.

Compress.FAST quick reference

Endpoints

Method Path Description
POST /compress/{format} Submit a file for compression Requires file (multipart); format is jpg, png, gif, pdf, etc.
GET /compress/job/{id} Get job status Returns status, progress, compression ratio
GET /compress/job/{id}/download Download compressed file Only available when status is Succeeded
GET /compress List supported compression types Requires API key
GET /compress/entitlements/me Check credit balance Requires API key

Error handling

All errors return JSON with error and detail fields:

{
  "error": "entitlements.insufficient_credits",
  "detail": "Insufficient credits. Required: 5, Available: 2"
}

Key error codes:

Code Status Meaning
request.invalid_content_type 400 Use multipart/form-data
request.no_files 400 No file attached
request.file_too_large 413 File exceeds size limit
api_key.invalid_or_ip_not_allowed 401 Bad API key
entitlements.insufficient_credits 402 Not enough credits
usage.daily_limit_exceeded 402 Free/guest daily cap hit
jobs.not_found 404 Invalid job ID
jobs.not_ready 409 Job still processing
jobs.expired 410 Output cleaned up
rate_limited 429 Too many requests
queue.limit_exceeded 429 Too many queued jobs

Credit costs

Most operations cost 1 credit. Multi-page documents cost 1 credit per page. Check specific costs with the estimation endpoint or each tool's documentation.

Tier limits

Tier Max file Max batch Parallel jobs Credits
Guest 50 MB 50 files 3 100/day
Free 50 MB 50 files 3 100/day + 500 signup bonus
Pro 1 GB 1,000 files 6 12,000/month
Copied.