Patentfig skill

Generate patent-office-compliant figures via the PatentFig AI API — patent line art from text (PNG or SVG), vectorize drawings to SVG/DXF/vector PDF, AI-upscale images, and convert to filing-ready TIFF/PDF/PNG.

by davila7·MIT license·★ 32,299 Stars on the repo·GitHub ↗

Use now

Files of Patentfig

davila7/main1 file shown
SKILL.md
Show the full text93 lines

PatentFig AI API

Generate and convert patent figures through the PatentFig AI REST API.

  • Base URL: https://patentfig.ai/api/v1
  • Auth: Authorization: Bearer $PATENTFIG_API_KEY
  • All endpoints are synchronous and return JSON: { "success": true, "data": {...} } on success, { "success": false, "error": { "code", "message" } } on failure.
  • Generated files are returned as URLs on https://cdn.patentfig.ai — pass them to the user or feed them into follow-up calls.

Setup

The key comes from the PATENTFIG_API_KEY environment variable. Never hardcode it, print it, or write it into files or logs.

If the variable is not set, tell the user to create a key at https://patentfig.ai/settings/api-keys (requires a PatentFig AI account; keys start with pfig_) and export it:

export PATENTFIG_API_KEY="pfig_..."

Verify connectivity and credit balance (free call):

curl -s https://patentfig.ai/api/v1/credits \
  -H "Authorization: Bearer $PATENTFIG_API_KEY"
# → { "success": true, "data": { "balance": 500 } }

Generate a patent figure (10 credits)

POST /figures — the core endpoint. One prompt → one figure. Views, diagram type, and composition are all controlled through the prompt; for a multi-view set (front/side/top), make one call per view.

curl -s -X POST https://patentfig.ai/api/v1/figures \
  -H "Authorization: Bearer $PATENTFIG_API_KEY" \
  -H "Content-Type: application/json" \
  --max-time 300 \
  -d '{
    "prompt": "Exploded view of a wireless earbud charging case showing lid, hinge, charging coil, and battery",
    "output": "svg",
    "labeled": true
  }'
  • output: "png" (raster figure) or "svg" (stroke-based line art, CAD-friendly). Default "png".
  • labeled: true adds patent-style numeric reference callouts (100, 102, …).
  • referenceImageUrls: up to 4 public image URLs (sketch/photo/prior figure) used as the structural baseline.
  • Response data.url is the figure; with output: "svg" the full SVG source is also in data.svg.

Prompting tips: name the parts to draw (names tell the model WHAT to draw, not what to label); for flowcharts/block diagrams, name every node explicitly.

Convert an existing image

All three endpoints accept either JSON with imageUrl (public URL) or multipart/form-data with a file field (PNG/JPEG/WebP/TIFF, ≤10 MB).

Vectorize (20 credits) — raster → SVG / DXF / vector PDF:

curl -s -X POST https://patentfig.ai/api/v1/vectorize \
  -H "Authorization: Bearer $PATENTFIG_API_KEY" \
  -H "Content-Type: application/json" \
  --max-time 300 \
  -d '{ "imageUrl": "https://example.com/drawing.png", "format": "dxf", "engine": "lineart" }'

engine: "lineart" (default) redraws as clean single-stroke patent line art — use for CAD/DXF. engine: "trace" reproduces the input pixels faithfully, preserving fills — use when output must match the original.

Enhance (20 credits) — AI super-resolution: POST /enhance with scale (2 or 4, controls pixels) and dpi (300 or 600, metadata stamp only).

Convert (20 credits) — filing-ready raster: POST /convert with format (png/tiff/pdf) and dpi (300 or 600).

Full parameter tables for every endpoint: see references/endpoints.md. Machine-readable spec: https://patentfig.ai/api/openapi.yaml

Operational rules

  • Set a client timeout of at least 300 seconds — generation and vectorization take from ~20s up to a few minutes.
  • Credits are charged only on success; retrying a failed call never double-bills.
  • Rate limit: 60 requests/minute per key. On 429 back off (start at 5s) and retry.
  • On 402 INSUFFICIENT_CREDITS, stop and tell the user to top up at https://patentfig.ai/pricing.
  • On 500 GENERATION_FAILED, one retry is reasonable; persistent failures usually mean the input doesn't suit the pipeline (e.g., a photo sent for line-art vectorization — suggest POST /figures with the photo as referenceImageUrls instead).
  • Before a batch of billable calls, check GET /credits and confirm the balance covers it.
1---
2name: patentfig
3description: Generate patent-office-compliant figures via the PatentFig AI API — patent line art from text (PNG or SVG), vectorize drawings to SVG/DXF/vector PDF, AI-upscale images, and convert to filing-ready TIFF/PDF/PNG. Use when the user asks for patent drawings, patent figures, invention diagrams, USPTO/EPO-compliant line art, vectorizing a drawing for CAD, or preparing figures for a patent filing. Requires a PATENTFIG_API_KEY environment variable.
4version: 1.0.0
5author: TopLocalAI
6license: MIT
7tags: [Patent, Patent Drawings, Line Art, SVG, Vectorize, DXF, USPTO, Image Generation, API]
8metadata:
9 homepage: https://patentfig.ai
10 docs: https://patentfig.ai/docs
11---
12 
13# PatentFig AI API
14 
15Generate and convert patent figures through the PatentFig AI REST API.
16 
17- **Base URL**: `https://patentfig.ai/api/v1`
18- **Auth**: `Authorization: Bearer $PATENTFIG_API_KEY`
19- **All endpoints are synchronous** and return JSON: `{ "success": true, "data": {...} }` on success, `{ "success": false, "error": { "code", "message" } }` on failure.
20- Generated files are returned as URLs on `https://cdn.patentfig.ai` — pass them to the user or feed them into follow-up calls.
21 
22## Setup
23 
24The key comes from the `PATENTFIG_API_KEY` environment variable. Never hardcode it, print it, or write it into files or logs.
25 
26If the variable is not set, tell the user to create a key at https://patentfig.ai/settings/api-keys (requires a PatentFig AI account; keys start with `pfig_`) and export it:
27 
28```bash
29export PATENTFIG_API_KEY="pfig_..."
30```
31 
32Verify connectivity and credit balance (free call):
33 
34```bash
35curl -s https://patentfig.ai/api/v1/credits \
36 -H "Authorization: Bearer $PATENTFIG_API_KEY"
37# → { "success": true, "data": { "balance": 500 } }
38```
39 
40## Generate a patent figure (10 credits)
41 
42`POST /figures` — the core endpoint. One prompt → one figure. Views, diagram type, and composition are all controlled through the prompt; for a multi-view set (front/side/top), make one call per view.
43 
44```bash
45curl -s -X POST https://patentfig.ai/api/v1/figures \
46 -H "Authorization: Bearer $PATENTFIG_API_KEY" \
47 -H "Content-Type: application/json" \
48 --max-time 300 \
49 -d '{
50 "prompt": "Exploded view of a wireless earbud charging case showing lid, hinge, charging coil, and battery",
51 "output": "svg",
52 "labeled": true
53 }'
54```
55 
56- `output`: `"png"` (raster figure) or `"svg"` (stroke-based line art, CAD-friendly). Default `"png"`.
57- `labeled: true` adds patent-style numeric reference callouts (100, 102, …).
58- `referenceImageUrls`: up to 4 public image URLs (sketch/photo/prior figure) used as the structural baseline.
59- Response `data.url` is the figure; with `output: "svg"` the full SVG source is also in `data.svg`.
60 
61Prompting tips: name the parts to draw (names tell the model WHAT to draw, not what to label); for flowcharts/block diagrams, name every node explicitly.
62 
63## Convert an existing image
64 
65All three endpoints accept either JSON with `imageUrl` (public URL) or `multipart/form-data` with a `file` field (PNG/JPEG/WebP/TIFF, ≤10 MB).
66 
67**Vectorize (20 credits)** — raster → SVG / DXF / vector PDF:
68 
69```bash
70curl -s -X POST https://patentfig.ai/api/v1/vectorize \
71 -H "Authorization: Bearer $PATENTFIG_API_KEY" \
72 -H "Content-Type: application/json" \
73 --max-time 300 \
74 -d '{ "imageUrl": "https://example.com/drawing.png", "format": "dxf", "engine": "lineart" }'
75```
76 
77`engine: "lineart"` (default) redraws as clean single-stroke patent line art — use for CAD/DXF. `engine: "trace"` reproduces the input pixels faithfully, preserving fills — use when output must match the original.
78 
79**Enhance (20 credits)** — AI super-resolution: `POST /enhance` with `scale` (2 or 4, controls pixels) and `dpi` (300 or 600, metadata stamp only).
80 
81**Convert (20 credits)** — filing-ready raster: `POST /convert` with `format` (`png`/`tiff`/`pdf`) and `dpi` (300 or 600).
82 
83Full parameter tables for every endpoint: see [references/endpoints.md](references/endpoints.md). Machine-readable spec: https://patentfig.ai/api/openapi.yaml
84 
85## Operational rules
86 
87- **Set a client timeout of at least 300 seconds** — generation and vectorization take from ~20s up to a few minutes.
88- Credits are charged **only on success**; retrying a failed call never double-bills.
89- Rate limit: 60 requests/minute per key. On `429` back off (start at 5s) and retry.
90- On `402 INSUFFICIENT_CREDITS`, stop and tell the user to top up at https://patentfig.ai/pricing.
91- On `500 GENERATION_FAILED`, one retry is reasonable; persistent failures usually mean the input doesn't suit the pipeline (e.g., a photo sent for line-art vectorization — suggest `POST /figures` with the photo as `referenceImageUrls` instead).
92- Before a batch of billable calls, check `GET /credits` and confirm the balance covers it.
93 

Discussion

Alternatives