Generate a document
Create a new document using AI generation. Returns a job ID to poll for results.
Endpoint
POSThttps://api.nextdocs.io/v0/generate/document
Headers
Authorization(required) —Bearer <API_KEY>
Request Body
title(string, required, 1-200) — Document title.prompt(string, required, 10-10000) — Generation prompt.pageless(boolean, optional, defaultfalse) — Create pageless document. Whentrue, export supports only pdf, html, and png (not pptx or google-slides).num_pages(integer | null, optional, 1-20) — Number of pages.num_copies(integer, optional, 1-4, default1) — Number of variations.model("fast" | "quality", optional, defaultfast) — Speed/quality.theme_mode(string, optional, defaultauto) — Theme mode or ID.
Responses
202— Job created.422— Validation error.
Example Request
curl -X POST https://api.nextdocs.io/v0/generate/document \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Q4 2024 Market Analysis Report",
"prompt": "Create a comprehensive market analysis report covering industry trends, competitive landscape, and growth opportunities",
"pageless": false,
"num_pages": 5,
"num_copies": 1,
"model": "fast",
"theme_mode": "auto"
}'const response = await fetch('https://api.nextdocs.io/v0/generate/document', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: 'Q4 2024 Market Analysis Report',
prompt: 'Create a comprehensive market analysis report covering industry trends, competitive landscape, and growth opportunities',
pageless: false,
num_pages: 5,
num_copies: 1,
model: 'fast',
theme_mode: 'auto',
}),
});
const data = await response.json();import requests
response = requests.post(
'https://api.nextdocs.io/v0/generate/document',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
json={
'title': 'Q4 2024 Market Analysis Report',
'prompt': 'Create a comprehensive market analysis report covering industry trends, competitive landscape, and growth opportunities',
'pageless': False,
'num_pages': 5,
'num_copies': 1,
'model': 'fast',
'theme_mode': 'auto',
}
)
data = response.json()Example Response
{
"job_id": "job_123",
"status": "pending",
"poll_url": "https://api.nextdocs.io/v0/jobs/job_123"
}