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, default false) — Create pageless document. When true, 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, default 1) — Number of variations.
  • model ("fast" | "quality", optional, default fast) — Speed/quality.
  • theme_mode (string, optional, default auto) — 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"
}