Portfolio · AI Tools
Document Intelligence
Upload any document and define natural-language extraction prompts. A configurable AI vision model returns structured JSON with confidence scores. Integrates with Salesforce — provision a custom object and have documents processed automatically on upload. Inspired by Dan's work on MuleSoft IDP.
3 free runs per day per visitor · PDFs, Word docs, and any image format up to 10 MB
ℹ️ How it works
Document
Drop file here or click to browse
PDF, DOCX, ZIP, or any image format · max 10 MB
Sample documents
—
No samples for this template yet.
Extraction Prompts
—
Template:
Vision model:
Field Name
Extraction Instruction
Example output
Results
— your extracted fields will appear here
JSON
[
{
"field": "documentType",
"prompt": "What type of identity document is this?",
"value": "Passport",
"confidence": 0.99
},
{
"field": "expiryDate",
"prompt": "What is the expiry or expiration date?",
"value": "2029-04-15",
"confidence": 0.98
},
{
"field": "country",
"prompt": "Which country issued this document?",
"value": "Australia",
"confidence": 0.97
},
{
"field": "idData",
"prompt": "Extract the primary identification number.",
"value": "PA1234567",
"confidence": 0.95
}
]
CSV
field,prompt,value,confidence documentType,"What type of identity document?",Passport,0.99 expiryDate,"What is the expiry date?",2029-04-15,0.98 country,"Which country issued this?",Australia,0.97 idData,"Extract the ID number.",PA1234567,0.95
API
Example
Programmatic Access
Endpoint
POST
https://danscodellaro.com/api/idp/submit/your-token
cURL Example
curl -X POST \
https://danscodellaro.com/api/idp/submit/your-token \
-F "[email protected]"
Python Example
import requests
with open("document.pdf", "rb") as f:
r = requests.post(
"https://danscodellaro.com/api/idp/submit/your-token",
files={"file": f}
)
print(r.json())
Response (JSON)
{
"template": "Identity Document",
"token": "your-token",
"file": "passport.pdf",
"processed_at": "2025-01-01T12:00:00Z",
"summary": "Australian passport issued to J. Smith, expires 2029.",
"verbatim_text": "AUSTRALIA\nPASSPORT\nSurname: SMITH…",
"fields": [
{
"field": "documentType",
"prompt": "What type of identity document?",
"value": "Passport",
"confidence": 0.99
},
{
"field": "country",
"prompt": "Which country issued this?",
"value": "Australia",
"confidence": 0.97
}
],
"remaining_runs_today": 2
}
Accepts: multipart/form-data · field name:
file
Max file size: 10 MB
Rate limit: 3 requests / IP / day
Results
JSON
Copied!
CSV
Copied!
API
Programmatic Access
Endpoint
POST
cURL Example
Python Example
Submit (returns immediately)
POST
Poll for result
GET
/api/idp/jobs/{job_id}
Python Example
Response (JSON)
Accepts: multipart/form-data · field name:
file
Max file size: 10 MB
Supported: PDF, DOCX, JPG, PNG, WEBP, TIFF, BMP, GIF, HEIC
Rate limit: 3 requests / IP / day · Jobs expire after 1 hour