Developer API

Conversion API docs.

Convert files or optimize images from your editor, server, or CLI. One result downloads directly; two or more results return one ZIP archive.

Endpoints

Small surface. Useful output.

Use a Bearer token for conversion requests. The API returns the converted file as the response body.

GET
/healthz

Check service availability without authentication.

GET
/api/convert

List the currently supported source and target formats.

POST
/api/convert

Upload one file with file and select its output with to.

POST
/api/convert/batch

Repeat files and to fields. One file returns directly; two or more return a ZIP with successful results and a manifest.

GET
/api/image/formats

List image formats, limits, and optimization options.

POST
/api/image/optimize

Resize, re-encode, compress, strip metadata, and return an optimized image.

AuthenticationBearer token required
Upload limit50 MB per request
Batch sizeUp to 50 files
ResponseFile, or ZIP for 2+ results
Quickstart

Use it from the command line.

Keep the token in an environment variable and let your shell handle the output file.

Single file · cURL
export GOCOOLS_API_TOKEN="gc_your_token_here"
curl --request POST "https://apiconvert.gocools.com/api/convert"   --header "Authorization: Bearer $GOCOOLS_API_TOKEN"   --form "file=@document.docx"   --form "to=pdf"   --output document.pdf
Batch · cURL
curl --request POST "https://apiconvert.gocools.com/api/convert/batch"   --header "Authorization: Bearer $GOCOOLS_API_TOKEN"   --form "files=@invoice.docx"   --form "to=pdf"   --form "files=@photo.png"   --form "to=jpg"   --output converted-files.zip
Image optimization · cURL
curl --request POST "https://apiconvert.gocools.com/api/image/optimize"   --header "Authorization: Bearer $GOCOOLS_API_TOKEN"   --form "file=@photo.jpg"   --form "format=webp"   --form "quality=82"   --form "max_width=2400"   --output photo.webp
Node.js
const form = new FormData();
form.append("file", await fs.openAsBlob("document.docx"));
form.append("to", "pdf");

const response = await fetch("https://apiconvert.gocools.com/api/convert", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.GOCOOLS_API_TOKEN}` },
  body: form,
});
await fs.writeFile("document.pdf", Buffer.from(await response.arrayBuffer()));