Skip to main content
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.