Generate API
Generate new documents from templates and extracted data. See Generation for concepts and dashboard usage.
Run Generation
POST /api/generate/runGenerate a document from a template and data.
Request
{
"template_prompt": "Create a summary report for the following invoice data...",
"output_format": "pdf",
"source_extraction_id": "extraction-uuid",
"source_document_ids": ["doc1", "doc2"],
"template_id": "template-uuid",
"settings": {
"model": "gpt-4o",
"style": "professional"
},
"document_name": "Invoice Summary Report"
}| Field | Type | Required | Description |
|---|---|---|---|
template_prompt | string | Yes | Generation instructions |
output_format | string | Yes | Output format |
source_extraction_id | string | No | Use extraction data |
source_document_ids | array | No | Use document content |
template_id | string | No | Use saved template |
settings | object | No | Generation settings |
document_name | string | No | Output file name |
Output Formats
| Format | Description |
|---|---|
pdf | PDF document |
docx | Word document |
markdown | Markdown file |
html | HTML document |
Response
{
"success": true,
"job_id": "gen-job-uuid",
"generated_document_id": "doc-uuid",
"output_file_url": "https://signed-url...",
"format": "pdf",
"created_at": "2024-01-15T10:00:00Z"
}Get Job Status
GET /api/generate/jobs/{id}Get generation job status.
Response
{
"id": "gen-job-uuid",
"status": "completed",
"progress": 100,
"result": {
"document_id": "doc-uuid",
"file_url": "https://signed-url...",
"file_size": 125000
},
"created_at": "2024-01-15T10:00:00Z",
"completed_at": "2024-01-15T10:00:30Z"
}Statuses
| Status | Description |
|---|---|
pending | Job queued |
generating | Creating content |
formatting | Converting to output format |
uploading | Uploading file |
completed | Done |
failed | Error occurred |
Generate Reports
POST /api/generate/reportsGenerate structured reports from extractions.
Request
{
"source_extraction_ids": ["ext1", "ext2"],
"source_document_ids": ["doc1"],
"config": {
"title": "Monthly Invoice Report",
"outputFormat": "pdf",
"sections": ["summary", "details", "totals"]
}
}Response
{
"job_id": "report-job-uuid",
"status": "processing"
}Generate Summaries
POST /api/generate/summariesGenerate text summaries from documents or extractions.
Request
{
"source_extraction_id": "extraction-uuid",
"source_document_ids": ["doc1", "doc2"],
"config": {
"outputFormat": "markdown",
"length": "medium",
"style": "executive"
}
}Summary Lengths
| Length | Description |
|---|---|
short | 1-2 paragraphs |
medium | 3-5 paragraphs |
long | Comprehensive |
Templates
List Templates
GET /api/generate/templatesGet saved generation templates.
Response
{
"templates": [
{
"id": "template-uuid",
"name": "Invoice Summary",
"description": "Summary report for invoices",
"template_prompt": "Create a summary...",
"output_format": "pdf",
"settings": {},
"is_shared": false,
"created_at": "2024-01-01T00:00:00Z"
}
]
}Create Template
POST /api/generate/templatesSave a reusable generation template.
{
"name": "Invoice Summary",
"description": "Generate invoice summary reports",
"template_prompt": "Create a professional summary report from the invoice data. Include:\n- Invoice details\n- Line items\n- Total amounts\n- Payment terms",
"output_format": "pdf",
"settings": {
"model": "gpt-4o",
"style": "professional"
},
"is_shared": false
}Get Template
GET /api/generate/templates/{id}Update Template
PUT /api/generate/templates/{id}Delete Template
DELETE /api/generate/templates/{id}Example: Invoice Report
# Step 1: Extract invoice data
curl -X POST "https://your-domain.com/api/extract/run" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"document_id": "invoice-doc-uuid",
"schema_id": "invoice-schema"
}'
# Step 2: Generate report from extraction
curl -X POST "https://your-domain.com/api/generate/run" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"template_prompt": "Create a professional invoice summary report",
"output_format": "pdf",
"source_extraction_id": "extraction-uuid",
"document_name": "Invoice Summary.pdf"
}'See also: Generation.
Last updated on