Built for OpenClaw

Document ingestion for your OpenClaw agent

Your OpenClaw agent can't reason over raw PDFs. BlazeDocs converts them into clean, structured Markdown before they hit memory — so your agent actually understands what it's reading. Connect in one click, no manual API key setup.

One-click Connect setup
Free tier included
Human-approved, agent-initiated

Why your agent chokes on raw PDFs

Layout ≠ meaning
PDFs store visual layout, not semantic structure
  • Columns read left-to-right across the gutter
  • Tables become whitespace-separated soup
  • Headers and footers pollute the content
Token waste
Raw PDF text burns context window on garbage
  • Duplicate text from hidden layers
  • Encoding artifacts and control characters
  • Scanned PDFs return zero usable text
Markdown fixes it
Clean structure, proper headings, semantic flow
  • Reading order preserved correctly
  • Tables become proper Markdown tables
  • AI-native format, no translation layer

Connect in 3 steps. No dashboard hunting.

Traditional setup: sign up → find dashboard → generate API key → paste into config. BlazeDocs Connect: agent initiates, human approves, done.

1

Agent initiates the connection

Your OpenClaw agent requests a BlazeDocs Connect session. It sends the provider name and a success URL back to itself.

2

Human approves in the browser

A hosted approval page opens. You sign in (or create an account), review what the agent is asking for, and click Approve. The agent does nothing until you say yes.

3

Agent gets an API key automatically

Behind the scenes, BlazeDocs mints a standard API key on your behalf and returns it to the agent. From then on, your agent converts PDFs to Markdown on demand.

BlazeDocs in an OpenClaw workflow

Converting a document before memory

// In your OpenClaw skill or agent script:
const BlazeDocs = require("@blazedocs/js");

const client = new BlazeDocs({
  apiKey: process.env.BLAZEDOCS_API_KEY
});

// Convert a PDF before feeding to memory
const result = await client.convert({
  file: Buffer.from(pdfBuffer),
  fileName: "contract.pdf",
  outputFormat: "markdown"
});

// result.data.markdown is now clean,
// structured, ready for memory ingestion
await saveToMemory({
  source: "contract.pdf",
  content: result.data.markdown
});

Connect flow bootstrap

// No API key? Start a Connect session:
const session = await BlazeDocs.connect
  .createSession({
    provider: "openclaw",
    successUrl: "http://localhost:3000"
  });

// session.approvalUrl opens in browser
// Human approves → exchange for API key:
const { apiKey } = await BlazeDocs.connect
  .exchange(session.sessionId);

// Now use it:
const client = new BlazeDocs({ apiKey });
const result = await client.convert({
  file: pdfBuffer,
  fileName: "report.pdf"
});

What you get back

Clean Markdown, page counts, token estimates — everything your agent needs.

POST /api/v1/convert
{
  "success": true,
  "data": {
    "markdown": "# Contract Agreement\n\n## Parties\n...",
    "page_count": 12,
    "token_count": 8420,
    "processing_time_ms": 2800,
    "file_name": "contract.pdf"
  }
}

Stop feeding raw PDFs to your agent

Connect BlazeDocs in one click. Your OpenClaw agent will thank you.