SchemaExtractSchemaExtract home

Warehouse · outbound documents

Packing list to JSON API — images and PDFs

Read shipper, consignee, marks, and package rows (description, qty, weight_kg) from a packing-list PNG or PDF.

Why this page exists

Outbound teams need structured package rows, not another scan sitting in email. The packing-list preset maps the document onto a stable JSON shape.

Default packing list schema

  • shipper
  • consignee
  • marks
  • packages
{
  "type": "object",
  "properties": {
    "shipper": {
      "type": "string"
    },
    "consignee": {
      "type": "string"
    },
    "marks": {
      "type": "string"
    },
    "packages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "qty": {
            "type": "number"
          },
          "weight_kg": {
            "type": "number"
          }
        }
      }
    }
  }
}

Call the API

curl -sS -X POST https://schemaextract.shop/v1/extract \
  -F "preset=packing_list" \
  -F "file=@packing-list-northwind.png"

Self-serve. No sales call. Same path as the playground. Slow models: POST /v1/extract/jobs.

Questions

Does packing-list extraction work on images?
Yes. PNGs go through a vision model (OpenRouter free vision models, or local llava). An all-empty result is a failure, not a silent success.
What is in the packing list JSON?
shipper, consignee, marks, and packages[{description, qty, weight_kg}]. Extra keys are never invented.
How long does an image extract take?
Local Ollama can take a few minutes. Use POST /v1/extract/jobs and poll so a proxy timeout cannot drop the run.