{"slug": "show-hn-inkspan-one-api-for-the-pdf-doc-plumbing-i-kept-rebuilding", "title": "Show HN: Inkspan – one API for the PDF/doc plumbing I kept rebuilding", "summary": "Inkspan launches a unified API for PDF and document infrastructure, offering endpoints to generate, translate, transform, and extract structured data from documents with usage-based pricing and a free tier of 100 documents per month.", "body_md": "DOCUMENT INFRASTRUCTURE\n\nGenerate, translate, transform, and extract structured data from PDFs and documents — one clean API. Test an endpoint, integrate it, ship. No sales calls, no infrastructure to maintain.\n\nFree tier · usage-based pricing · SDKs for every language\n\n```\ncurl -X POST https://api.inkspan.dev/v1/generate/html \\\n  -H \"X-API-Key: ink_live_...\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"html\": \"<h1>Invoice #1024</h1>\"}' \\\n  --output invoice.pdf\n```\n\nTurn HTML, templates, or Markdown into pixel-faithful PDFs.\n\nMerge, split, compress, watermark, rasterize, and fill forms.\n\nPull text and tables into clean JSON — with confidence scores, not false certainty.\n\nTranslate a document or text into any language — LLM-powered.\n\nEvery endpoint is a single authenticated POST. Pick your language:\n\n```\ncurl -X POST https://api.inkspan.dev/v1/generate/template \\\n  -H \"X-API-Key: ink_live_...\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"template\":\"<h1>Hi {{name}}</h1>\",\"data\":{\"name\":\"Ada\"}}' \\\n  --output out.pdf\npython\nimport requests\n\nr = requests.post(\n    \"https://api.inkspan.dev/v1/generate/template\",\n    headers={\"X-API-Key\": \"ink_live_...\"},\n    json={\"template\": \"<h1>Hi {{name}}</h1>\", \"data\": {\"name\": \"Ada\"}},\n)\nopen(\"out.pdf\", \"wb\").write(r.content)\njs\nconst res = await fetch(\"https://api.inkspan.dev/v1/generate/template\", {\n  method: \"POST\",\n  headers: { \"X-API-Key\": \"ink_live_...\", \"Content-Type\": \"application/json\" },\n  body: JSON.stringify({ template: \"<h1>Hi {{name}}</h1>\", data: { name: \"Ada\" } }),\n});\nfs.writeFileSync(\"out.pdf\", Buffer.from(await res.arrayBuffer()));\n```\n\n| Method | Endpoint | Does |\n|---|\n\nUsage-based. Start free, scale as your product grows — no seats, no contracts.\n\nFree tier — 100 documents/month. No card required.\n\nUpgrade your plan:", "url": "https://wpnews.pro/news/show-hn-inkspan-one-api-for-the-pdf-doc-plumbing-i-kept-rebuilding", "canonical_source": "https://inkspan.dev", "published_at": "2026-07-29 15:40:50+00:00", "updated_at": "2026-07-29 15:52:41.121400+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools"], "entities": ["Inkspan"], "alternates": {"html": "https://wpnews.pro/news/show-hn-inkspan-one-api-for-the-pdf-doc-plumbing-i-kept-rebuilding", "markdown": "https://wpnews.pro/news/show-hn-inkspan-one-api-for-the-pdf-doc-plumbing-i-kept-rebuilding.md", "text": "https://wpnews.pro/news/show-hn-inkspan-one-api-for-the-pdf-doc-plumbing-i-kept-rebuilding.txt", "jsonld": "https://wpnews.pro/news/show-hn-inkspan-one-api-for-the-pdf-doc-plumbing-i-kept-rebuilding.jsonld"}}