{"items":[{"accepts":[{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"image-processing","metadata":{"bodyType":"multipart/form-data","description":"Compress or convert an image (JPEG, PNG, or WebP) using the same encoders as pixo.tools (mozjpeg, libimagequant, libwebp). $0.005 per call.","inputSchema":{"properties":{"colors":{"description":"PNG palette size, default 256","maximum":256,"minimum":2,"type":"integer"},"file":{"description":"JPEG, PNG, or WebP; max 50 MB, 40 MP","format":"binary","type":"string"},"format":{"description":"Optional target format for conversion","enum":["jpeg","png","webp"],"type":"string"},"quality":{"description":"JPEG/WebP, default 90","maximum":100,"minimum":1,"type":"integer"}},"required":["file"],"type":"object"},"output":{"description":"The compressed/converted image bytes (image/jpeg, image/png, or image/webp)"},"priceUsd":"0.005","pricingModel":"flat"},"method":"POST","resource":"https://api.pixo.tools/v1/image/compress","type":"http","x402Version":1},{"accepts":[{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"image-processing","metadata":{"bodyType":"multipart/form-data","description":"Resize an image (JPEG, PNG, or WebP) with contain/cover/fill fit modes — optionally convert format and set quality in the same call (one lossy encode instead of a second call through /compress). $0.005 per call.","inputSchema":{"properties":{"colors":{"description":"PNG palette size, default 256","maximum":256,"minimum":2,"type":"integer"},"file":{"format":"binary","type":"string"},"fit":{"default":"contain","enum":["contain","cover","fill"],"type":"string"},"format":{"description":"Optional target format for conversion","enum":["jpeg","png","webp"],"type":"string"},"height":{"type":"integer"},"quality":{"description":"JPEG/WebP, default 90","maximum":100,"minimum":1,"type":"integer"},"width":{"type":"integer"}},"required":["file"],"type":"object"},"output":{"description":"The resized image bytes"},"priceUsd":"0.005","pricingModel":"flat"},"method":"POST","resource":"https://api.pixo.tools/v1/image/resize","type":"http","x402Version":1},{"accepts":[{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"image-processing","metadata":{"bodyType":"multipart/form-data","description":"Crop an image to an exact rectangle; optional format/quality conversion in the same call. $0.005 per call.","inputSchema":{"properties":{"colors":{"description":"PNG palette size, default 256","maximum":256,"minimum":2,"type":"integer"},"file":{"format":"binary","type":"string"},"format":{"enum":["jpeg","png","webp"],"type":"string"},"height":{"type":"integer"},"quality":{"description":"JPEG/WebP, default 90","maximum":100,"minimum":1,"type":"integer"},"width":{"type":"integer"},"x":{"default":0,"type":"integer"},"y":{"default":0,"type":"integer"}},"required":["file"],"type":"object"},"output":{"description":"The cropped image bytes"},"priceUsd":"0.005","pricingModel":"flat"},"method":"POST","resource":"https://api.pixo.tools/v1/image/crop","type":"http","x402Version":1},{"accepts":[{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"image-processing","metadata":{"bodyType":"multipart/form-data","description":"Rotate an image clockwise by 90, 180, or 270 degrees (lossless pixel move, no resampling). $0.005 per call.","inputSchema":{"properties":{"angle":{"enum":[90,180,270],"type":"integer"},"colors":{"description":"PNG palette size, default 256","maximum":256,"minimum":2,"type":"integer"},"file":{"format":"binary","type":"string"},"format":{"enum":["jpeg","png","webp"],"type":"string"},"quality":{"description":"JPEG/WebP, default 90","maximum":100,"minimum":1,"type":"integer"}},"required":["file"],"type":"object"},"output":{"description":"The rotated image bytes"},"priceUsd":"0.005","pricingModel":"flat"},"method":"POST","resource":"https://api.pixo.tools/v1/image/rotate","type":"http","x402Version":1},{"accepts":[{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"image-processing","metadata":{"bodyType":"multipart/form-data","description":"Mirror an image horizontally or vertically. $0.005 per call.","inputSchema":{"properties":{"colors":{"description":"PNG palette size, default 256","maximum":256,"minimum":2,"type":"integer"},"direction":{"enum":["horizontal","vertical"],"type":"string"},"file":{"format":"binary","type":"string"},"format":{"enum":["jpeg","png","webp"],"type":"string"},"quality":{"description":"JPEG/WebP, default 90","maximum":100,"minimum":1,"type":"integer"}},"required":["file"],"type":"object"},"output":{"description":"The flipped image bytes"},"priceUsd":"0.005","pricingModel":"flat"},"method":"POST","resource":"https://api.pixo.tools/v1/image/flip","type":"http","x402Version":1},{"accepts":[{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"pdf-processing","metadata":{"bodyType":"multipart/form-data","description":"Compress a PDF (Ghostscript) with lossless/balanced/max levels. $0.005 per page.","inputSchema":{"properties":{"file":{"description":"PDF, max 50 MB","format":"binary","type":"string"},"level":{"default":"balanced","enum":["lossless","balanced","max"],"type":"string"}},"required":["file"],"type":"object"},"output":{"description":"The compressed PDF bytes (application/pdf)"},"priceUsd":"0.005","pricingModel":"per-page","pricingNote":"The `accepts` amount is the per-page rate; the live 402 charges this × the PDF's page count."},"method":"POST","resource":"https://api.pixo.tools/v1/pdf/compress","type":"http","x402Version":1},{"accepts":[{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"pdf-processing","metadata":{"bodyType":"multipart/form-data","description":"Merge 2–20 PDFs into one, in the order provided. $0.005 per page.","inputSchema":{"properties":{"file":{"description":"2–20 PDFs; 95 MB total","items":{"format":"binary","type":"string"},"maxItems":20,"minItems":2,"type":"array"}},"required":["file"],"type":"object"},"output":{"description":"The merged PDF bytes (application/pdf)"},"priceUsd":"0.005","pricingModel":"per-page","pricingNote":"The `accepts` amount is the per-page rate; the live 402 charges this × the PDF's page count."},"method":"POST","resource":"https://api.pixo.tools/v1/pdf/merge","type":"http","x402Version":1},{"accepts":[{"amount":"8000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"8000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"pdf-processing","metadata":{"bodyType":"multipart/form-data","description":"Merge 2–20 PDFs AND compress the result in one call — one upload, one payment, at a bundle rate below merging and compressing separately. $0.008 per page.","inputSchema":{"properties":{"file":{"description":"2–20 PDFs; 95 MB total","items":{"format":"binary","type":"string"},"maxItems":20,"minItems":2,"type":"array"},"level":{"default":"balanced","enum":["lossless","balanced","max"],"type":"string"}},"required":["file"],"type":"object"},"output":{"description":"The merged and compressed PDF bytes (application/pdf)"},"priceUsd":"0.008","pricingModel":"per-page","pricingNote":"The `accepts` amount is the per-page rate; the live 402 charges this × the PDF's page count."},"method":"POST","resource":"https://api.pixo.tools/v1/pdf/merge-compress","type":"http","x402Version":1},{"accepts":[{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"pdf-processing","metadata":{"bodyType":"multipart/form-data","description":"Select, reorder, or delete PDF pages (qpdf range syntax, e.g. \"1,3-5,z\") and/or rotate them clockwise — recompose a PDF in one call. $0.005 per page.","inputSchema":{"properties":{"file":{"description":"PDF, max 50 MB","format":"binary","type":"string"},"pages":{"description":"qpdf page range, e.g. \"1,3-5,z\" (z = last page); at least one of pages/rotate is required","type":"string"},"rotate":{"description":"Clockwise rotation applied to the output pages","enum":[90,180,270],"type":"integer"}},"required":["file"],"type":"object"},"output":{"description":"The recomposed PDF bytes (application/pdf)"},"priceUsd":"0.005","pricingModel":"per-page","pricingNote":"The `accepts` amount is the per-page rate; the live 402 charges this × the PDF's page count."},"method":"POST","resource":"https://api.pixo.tools/v1/pdf/pages","type":"http","x402Version":1},{"accepts":[{"amount":"10000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"10000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"pdf-processing","metadata":{"bodyType":"multipart/form-data","description":"Rasterize every PDF page to a PNG image (Ghostscript), returned as a ZIP — feed PDF pages to a vision model, make thumbnails, or preview a document. $0.01 per page.","inputSchema":{"properties":{"dpi":{"default":150,"description":"Render resolution","maximum":300,"minimum":36,"type":"integer"},"file":{"description":"PDF, max 50 MB, max 50 pages","format":"binary","type":"string"}},"required":["file"],"type":"object"},"output":{"description":"A ZIP of one PNG per page, page-NNNN.png, in page order (application/zip)"},"priceUsd":"0.01","pricingModel":"per-page","pricingNote":"The `accepts` amount is the per-page rate; the live 402 charges this × the PDF's page count."},"method":"POST","resource":"https://api.pixo.tools/v1/pdf/render","type":"http","x402Version":1},{"accepts":[{"amount":"10000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"10000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"pdf-processing","metadata":{"bodyType":"multipart/form-data","description":"Convert a Markdown file to a typeset PDF (A4, embedded fonts). Supports headings, lists, code blocks, blockquotes, links, and simple tables; images are skipped. Flat-priced per call (input size capped). $0.01 per call.","inputSchema":{"properties":{"file":{"description":"UTF-8 Markdown, max 1024 KB","format":"binary","type":"string"},"title":{"description":"Optional PDF document title (metadata)","type":"string"}},"required":["file"],"type":"object"},"output":{"description":"The typeset PDF bytes (application/pdf)"},"priceUsd":"0.01","pricingModel":"flat"},"method":"POST","resource":"https://api.pixo.tools/v1/pdf/from-markdown","type":"http","x402Version":1},{"accepts":[{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"pdf-processing","metadata":{"bodyType":"multipart/form-data","description":"Password-protect a PDF with AES-256 encryption. $0.005 per page.","inputSchema":{"properties":{"file":{"description":"PDF, max 50 MB","format":"binary","type":"string"},"password":{"description":"1-256 chars; used as both user and owner password","type":"string"}},"required":["file"],"type":"object"},"output":{"description":"The encrypted PDF bytes (application/pdf)"},"priceUsd":"0.005","pricingModel":"per-page","pricingNote":"The `accepts` amount is the per-page rate; the live 402 charges this × the PDF's page count."},"method":"POST","resource":"https://api.pixo.tools/v1/pdf/protect","type":"http","x402Version":1},{"accepts":[{"amount":"20000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"20000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"pdf-processing","metadata":{"bodyType":"multipart/form-data","description":"Remove a PDF's password protection (requires the current password). Flat-priced per call — the one PDF endpoint not priced per page, since an encrypted PDF can't be page-counted before payment. $0.02 per call.","inputSchema":{"properties":{"file":{"description":"Encrypted PDF, max 50 MB","format":"binary","type":"string"},"password":{"description":"The PDF's current password","type":"string"}},"required":["file"],"type":"object"},"output":{"description":"The decrypted PDF bytes (application/pdf)"},"priceUsd":"0.02","pricingModel":"flat"},"method":"POST","resource":"https://api.pixo.tools/v1/pdf/unlock","type":"http","x402Version":1},{"accepts":[{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"5000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"pdf-processing","metadata":{"bodyType":"multipart/form-data","description":"Split a PDF into page ranges, returned as a ZIP of one PDF per range. $0.005 per page.","inputSchema":{"properties":{"file":{"format":"binary","type":"string"},"ranges":{"description":"Comma-separated page ranges, e.g. \"1-3,4-6,7-z\"; max 50","type":"string"}},"required":["file"],"type":"object"},"output":{"description":"A ZIP archive of one PDF per range (application/zip)"},"priceUsd":"0.005","pricingModel":"per-page","pricingNote":"The `accepts` amount is the per-page rate; the live 402 charges this × the PDF's page count."},"method":"POST","resource":"https://api.pixo.tools/v1/pdf/split","type":"http","x402Version":1},{"accepts":[{"amount":"10000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"10000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"pdf-extraction","metadata":{"bodyType":"multipart/form-data","description":"Extract plain text from a PDF (pdf_oxide) — fully in-process and private, bytes never leave the server. Returns JSON with a `likelyScanned` flag when the PDF has no text layer (needs OCR). $0.01 per page.","inputSchema":{"properties":{"file":{"description":"PDF, max 50 MB","format":"binary","type":"string"}},"required":["file"],"type":"object"},"output":{"description":"JSON: { text, pageCount, likelyScanned }"},"priceUsd":"0.01","pricingModel":"per-page","pricingNote":"The `accepts` amount is the per-page rate; the live 402 charges this × the PDF's page count."},"method":"POST","resource":"https://api.pixo.tools/v1/pdf/extract","type":"http","x402Version":1},{"accepts":[{"amount":"20000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"20000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"pdf-extraction","metadata":{"bodyType":"multipart/form-data","description":"Convert a PDF to Markdown for LLM/RAG ingestion (pdf_oxide) — private, in-process. Strong on prose/headings; complex tables are approximate. $0.02 per page.","inputSchema":{"properties":{"file":{"description":"PDF, max 50 MB","format":"binary","type":"string"}},"required":["file"],"type":"object"},"output":{"description":"Markdown text (text/markdown)"},"priceUsd":"0.02","pricingModel":"per-page","pricingNote":"The `accepts` amount is the per-page rate; the live 402 charges this × the PDF's page count."},"method":"POST","resource":"https://api.pixo.tools/v1/pdf/markdown","type":"http","x402Version":1},{"accepts":[{"amount":"10000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"10000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"pdf-extraction","metadata":{"bodyType":"multipart/form-data","description":"Extract every embedded raster image from a PDF as a ZIP of PNGs (pdf_oxide) — private, in-process. $0.01 per page.","inputSchema":{"properties":{"file":{"description":"PDF, max 50 MB","format":"binary","type":"string"}},"required":["file"],"type":"object"},"output":{"description":"A ZIP of PNG images (application/zip)"},"priceUsd":"0.01","pricingModel":"per-page","pricingNote":"The `accepts` amount is the per-page rate; the live 402 charges this × the PDF's page count."},"method":"POST","resource":"https://api.pixo.tools/v1/pdf/images","type":"http","x402Version":1},{"accepts":[{"amount":"20000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"20000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"ocr","metadata":{"bodyType":"multipart/form-data","description":"Extract text from an image via OCR (Google Gemini). $0.02 per call.","inputSchema":{"properties":{"file":{"description":"JPEG/PNG/WebP image","format":"binary","type":"string"}},"required":["file"],"type":"object"},"output":{"description":"JSON: { text }"},"priceUsd":"0.02","pricingModel":"flat","thirdParty":"This endpoint sends file content to Google Gemini — it does NOT stay in-process like the other endpoints."},"method":"POST","resource":"https://api.pixo.tools/v1/image/ocr","type":"http","x402Version":1},{"accepts":[{"amount":"30000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"30000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"ocr","metadata":{"bodyType":"multipart/form-data","description":"Extract text from a scanned PDF via OCR (Google Gemini). Use /v1/pdf/extract first; fall back here when its likelyScanned flag is true. $0.03 per page.","inputSchema":{"properties":{"file":{"description":"PDF, max 50 MB","format":"binary","type":"string"}},"required":["file"],"type":"object"},"output":{"description":"JSON: { text }"},"priceUsd":"0.03","pricingModel":"per-page","pricingNote":"The `accepts` amount is the per-page rate; the live 402 charges this × the PDF's page count.","thirdParty":"This endpoint sends file content to Google Gemini — it does NOT stay in-process like the other endpoints."},"method":"POST","resource":"https://api.pixo.tools/v1/pdf/ocr","type":"http","x402Version":1},{"accepts":[{"amount":"30000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"30000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"pdf-extraction","metadata":{"bodyType":"multipart/form-data","description":"Extract every table from a PDF as structured JSON ({page, title, headers, rows}) via Google Gemini. $0.03 per page.","inputSchema":{"properties":{"file":{"description":"PDF, max 50 MB","format":"binary","type":"string"}},"required":["file"],"type":"object"},"output":{"description":"JSON: { tables: [{ page, title, headers, rows }] }"},"priceUsd":"0.03","pricingModel":"per-page","pricingNote":"The `accepts` amount is the per-page rate; the live 402 charges this × the PDF's page count.","thirdParty":"This endpoint sends file content to Google Gemini — it does NOT stay in-process like the other endpoints."},"method":"POST","resource":"https://api.pixo.tools/v1/pdf/tables","type":"http","x402Version":1},{"accepts":[{"amount":"40000","asset":"USDC","maxTimeoutSeconds":300,"network":"base","payTo":"0xC3E835C247fb8dFD83088E1B865B2D79dC709A60","scheme":"exact"},{"amount":"40000","asset":"USDC","maxTimeoutSeconds":300,"network":"solana","payTo":"piXo4jjpyk6JErS7GS5oGa5Snd5MjeRyYCJTacsMuXE","scheme":"exact"}],"category":"pdf-extraction","metadata":{"bodyType":"multipart/form-data","description":"Structured data extraction: supply a JSON Schema describing the fields you want (invoice number, line items, totals, …) and get back a JSON object shaped by it, extracted from the PDF via Google Gemini. $0.04 per page.","inputSchema":{"properties":{"file":{"description":"PDF, max 50 MB","format":"binary","type":"string"},"schema":{"description":"A JSON Schema (as a string, max 16 KB) describing the object to extract","type":"string"}},"required":["file"],"type":"object"},"output":{"description":"JSON: { data: <object matching your schema> }"},"priceUsd":"0.04","pricingModel":"per-page","pricingNote":"The `accepts` amount is the per-page rate; the live 402 charges this × the PDF's page count.","thirdParty":"This endpoint sends file content to Google Gemini — it does NOT stay in-process like the other endpoints."},"method":"POST","resource":"https://api.pixo.tools/v1/pdf/structured","type":"http","x402Version":1}],"service":{"description":"Pay-per-call image and PDF processing for AI agents — compress, resize, crop, rotate, flip, and convert images; compress, merge, split, recompose, password-protect, and unlock PDFs; render PDF pages to PNG images; generate PDFs from Markdown; extract text, Markdown, tables, and schema-shaped JSON. Files processed in-memory and never stored.","documentation":"https://pixo.tools/api","name":"Pixo Agent API","network":"mainnet"},"x402Version":1}