{"openapi":"3.1.0","info":{"title":"bigapi","version":"2026-08-22","summary":"The output layer for AI agents. One US cent ($0.01) per operation. Credits never expire.","description":"[← bigapi.dev](https://bigapi.dev) · [Console](https://console.bigapi.dev)\n\nDeterministic file operations for agents and developers: render, PDF, image. Get a key with POST /v1/keys – no signup. Every response carries X-BigAPI-Cost, X-BigAPI-Balance and X-BigAPI-Free-Ops. Errors are free. Send Idempotency-Key to make retries free.","contact":{"url":"https://bigapi.dev","email":"support@bigapi.dev"}},"servers":[{"url":"https://api.bigapi.dev"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"API key from POST /v1/keys"}},"responses":{"PaymentRequired":{"description":"balance_empty – add credit at upgrade_url","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"upgrade_url":{"type":"string"}}}}}},"TooMany":{"description":"rate_limited | cap_reached | too_many_keys_today"}},"headers":{"X-BigAPI-Cost":{"schema":{"type":"integer"},"description":"US cents charged for this call"},"X-BigAPI-Balance":{"schema":{"type":"integer"},"description":"Remaining balance in US cents"},"X-BigAPI-Free-Ops":{"schema":{"type":"integer"},"description":"Free operations remaining"}}},"tags":[{"name":"output","description":"Render & output"},{"name":"pdf","description":"PDF"},{"name":"image","description":"Image"},{"name":"proof","description":"AI labelling (EU AI Act Art. 50)"},{"name":"docs","description":"Documents"},{"name":"invoice","description":"E-invoicing (DE/EU)"}],"paths":{"/v1/keys":{"post":{"tags":["account"],"security":[],"summary":"Get an API key – no signup","description":"100 free operations for 7 days. Max 3 keys per IP and day.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}}}}}},"responses":{"201":{"description":"Key (shown once), free quota, upgrade_url"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/pricing":{"get":{"tags":["account"],"security":[],"summary":"Price list","responses":{"200":{"description":"Prices in US cents (currency: USD)"}}}},"/v1/balance":{"get":{"tags":["account"],"summary":"Balance, free operations, cap and spend of this key","responses":{"200":{"description":"Balance"}}}},"/v1/usage":{"get":{"tags":["account"],"summary":"Operations and cost this month","responses":{"200":{"description":"Usage summary"}}}},"/v1/keys/new":{"post":{"tags":["account"],"summary":"Add another key to this account","responses":{"201":{"description":"Key (shown once)"}}}},"/v1/keys/{id}":{"patch":{"tags":["account"],"summary":"Rename, change monthly cap or revoke a key","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"monthly_cap_cents":{"type":"integer"},"status":{"type":"string","enum":["revoked"]}}}}}},"responses":{"200":{"description":"Updated key"}}}},"/v1/render":{"post":{"tags":["output"],"operationId":"render","summary":"HTML / Markdown / URL → PDF or PNG","description":"Chromium-rendered PDF or screenshot from HTML, Markdown or a URL. Real fonts, CSS, page breaks – not a text-to-PDF shim. Price: 1 US cent per operation.","x-price-cents":1,"x-unit":"operation","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Optional – identical retries are not charged twice"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"html":{"type":"string","description":"HTML document or fragment. One of html, markdown, url is required."},"markdown":{"type":"string","description":"Markdown source; converted with GitHub-flavoured rules."},"url":{"type":"string","description":"Public URL to render."},"css":{"type":"string","description":"Extra CSS injected into the document."},"format":{"type":"string","enum":["pdf","png"],"default":"pdf"},"pdf":{"type":"object","description":"Chromium PDF options: format (A4, Letter…), landscape, margin, printBackground, scale."},"png":{"type":"object","description":"Viewport options: width, height, fullPage, deviceScaleFactor."},"waitUntil":{"type":"string","enum":["load","domcontentloaded","networkidle0","networkidle2"],"default":"networkidle0"},"timeoutMs":{"type":"integer","default":30000}}}}}},"responses":{"200":{"description":"Result (application/pdf | image/png)","headers":{"X-BigAPI-Cost":{"$ref":"#/components/headers/X-BigAPI-Cost"},"X-BigAPI-Balance":{"$ref":"#/components/headers/X-BigAPI-Balance"},"X-BigAPI-Free-Ops":{"$ref":"#/components/headers/X-BigAPI-Free-Ops"}}},"400":{"description":"Invalid input – not charged"},"401":{"description":"missing or invalid key"},"402":{"$ref":"#/components/responses/PaymentRequired"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/pdf/merge":{"post":{"tags":["pdf"],"operationId":"pdf_merge","summary":"Merge PDFs","description":"Combine two or more PDFs into one, in the order given. Price: 1 US cent per operation.","x-price-cents":1,"x-unit":"operation","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Optional – identical retries are not charged twice"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"files[]":{"type":"array","items":{"type":"string","format":"binary"},"description":"Two or more PDF files, field name files[]."}},"required":["files[]"]}}}},"responses":{"200":{"description":"Result (application/pdf)","headers":{"X-BigAPI-Cost":{"$ref":"#/components/headers/X-BigAPI-Cost"},"X-BigAPI-Balance":{"$ref":"#/components/headers/X-BigAPI-Balance"},"X-BigAPI-Free-Ops":{"$ref":"#/components/headers/X-BigAPI-Free-Ops"}}},"400":{"description":"Invalid input – not charged"},"401":{"description":"missing or invalid key"},"402":{"$ref":"#/components/responses/PaymentRequired"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/pdf/split":{"post":{"tags":["pdf"],"operationId":"pdf_split","summary":"Split / extract pages","description":"Extract a page range into a new PDF. Ranges like 1-3,7,9-z. Price: 1 US cent per operation.","x-price-cents":1,"x-unit":"operation","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Optional – identical retries are not charged twice"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"pages":{"type":"string","description":"Page selection, z = last page.","default":"1-z"}},"required":["file"]}}}},"responses":{"200":{"description":"Result (application/pdf | application/zip)","headers":{"X-BigAPI-Cost":{"$ref":"#/components/headers/X-BigAPI-Cost"},"X-BigAPI-Balance":{"$ref":"#/components/headers/X-BigAPI-Balance"},"X-BigAPI-Free-Ops":{"$ref":"#/components/headers/X-BigAPI-Free-Ops"}}},"400":{"description":"Invalid input – not charged"},"401":{"description":"missing or invalid key"},"402":{"$ref":"#/components/responses/PaymentRequired"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/pdf/rotate":{"post":{"tags":["pdf"],"operationId":"pdf_rotate","summary":"Rotate pages","description":"Rotate all or selected pages by 90, 180 or 270 degrees. Price: 1 US cent per operation.","x-price-cents":1,"x-unit":"operation","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Optional – identical retries are not charged twice"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"angle":{"type":"integer","enum":[90,180,270],"default":90},"pages":{"type":"string","default":"1-z"}},"required":["file"]}}}},"responses":{"200":{"description":"Result (application/pdf)","headers":{"X-BigAPI-Cost":{"$ref":"#/components/headers/X-BigAPI-Cost"},"X-BigAPI-Balance":{"$ref":"#/components/headers/X-BigAPI-Balance"},"X-BigAPI-Free-Ops":{"$ref":"#/components/headers/X-BigAPI-Free-Ops"}}},"400":{"description":"Invalid input – not charged"},"401":{"description":"missing or invalid key"},"402":{"$ref":"#/components/responses/PaymentRequired"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/pdf/compress":{"post":{"tags":["pdf"],"operationId":"pdf_compress","summary":"Compress PDF","description":"Shrink a PDF by downsampling images. Levels screen, ebook, printer, prepress. Price: 1 US cent per operation.","x-price-cents":1,"x-unit":"operation","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Optional – identical retries are not charged twice"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"level":{"type":"string","enum":["screen","ebook","printer","prepress"],"default":"ebook"}},"required":["file"]}}}},"responses":{"200":{"description":"Result (application/pdf)","headers":{"X-BigAPI-Cost":{"$ref":"#/components/headers/X-BigAPI-Cost"},"X-BigAPI-Balance":{"$ref":"#/components/headers/X-BigAPI-Balance"},"X-BigAPI-Free-Ops":{"$ref":"#/components/headers/X-BigAPI-Free-Ops"}}},"400":{"description":"Invalid input – not charged"},"401":{"description":"missing or invalid key"},"402":{"$ref":"#/components/responses/PaymentRequired"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/pdf/pages":{"post":{"tags":["pdf"],"operationId":"pdf_to_images","summary":"PDF → images","description":"Rasterize pages to JPEG or PNG. One image or a ZIP when more than one page. Price: 1 US cent per operation.","x-price-cents":1,"x-unit":"operation","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Optional – identical retries are not charged twice"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"dpi":{"type":"integer","description":"36–600","default":150},"first":{"type":"integer","description":"First page (1-based)."},"last":{"type":"integer","description":"Last page."},"format":{"type":"string","enum":["jpeg","png"],"default":"jpeg"},"quality":{"type":"integer","default":85}},"required":["file"]}}}},"responses":{"200":{"description":"Result (image/jpeg | image/png | application/zip)","headers":{"X-BigAPI-Cost":{"$ref":"#/components/headers/X-BigAPI-Cost"},"X-BigAPI-Balance":{"$ref":"#/components/headers/X-BigAPI-Balance"},"X-BigAPI-Free-Ops":{"$ref":"#/components/headers/X-BigAPI-Free-Ops"}}},"400":{"description":"Invalid input – not charged"},"401":{"description":"missing or invalid key"},"402":{"$ref":"#/components/responses/PaymentRequired"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/image":{"post":{"tags":["image"],"operationId":"image_process","summary":"Resize · crop · convert · watermark","description":"One call, several steps: resize, crop, rotate, convert (jpeg, png, webp, avif), quality, palette, text or image watermark, keep or strip metadata. Price: 1 US cent per operation.","x-price-cents":1,"x-unit":"operation","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Optional – identical retries are not charged twice"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"Source image."},"ops":{"type":"string","description":"Operations object: {resize:{width,height,fit}, crop:{left,top,width,height}, rotate, format, quality, palette, watermark:{text,position,opacity}, keepMetadata} (JSON string)"},"watermark":{"type":"string","format":"binary","description":"Optional second file used as image watermark."}},"required":["file","ops"]}}}},"responses":{"200":{"description":"Result (image/*)","headers":{"X-BigAPI-Cost":{"$ref":"#/components/headers/X-BigAPI-Cost"},"X-BigAPI-Balance":{"$ref":"#/components/headers/X-BigAPI-Balance"},"X-BigAPI-Free-Ops":{"$ref":"#/components/headers/X-BigAPI-Free-Ops"}}},"400":{"description":"Invalid input – not charged"},"401":{"description":"missing or invalid key"},"402":{"$ref":"#/components/responses/PaymentRequired"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/image/info":{"post":{"tags":["image"],"operationId":"image_info","summary":"Image info","description":"Dimensions, format, colour space, EXIF and embedded metadata as JSON. Price: 1 US cent per operation.","x-price-cents":1,"x-unit":"operation","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Optional – identical retries are not charged twice"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}},"required":["file"]}}}},"responses":{"200":{"description":"Result (application/json)","headers":{"X-BigAPI-Cost":{"$ref":"#/components/headers/X-BigAPI-Cost"},"X-BigAPI-Balance":{"$ref":"#/components/headers/X-BigAPI-Balance"},"X-BigAPI-Free-Ops":{"$ref":"#/components/headers/X-BigAPI-Free-Ops"}}},"400":{"description":"Invalid input – not charged"},"401":{"description":"missing or invalid key"},"402":{"$ref":"#/components/responses/PaymentRequired"},"429":{"$ref":"#/components/responses/TooMany"}}}}}}