Skip to main content
Pulse logo

Overview

Add Pulse to any ModuleX agent or workflow. Extract text and structured content from PDFs, images, and Office files using Pulse OCR, against the Pulse REST API (api.runpulse.com).
Categories: AI & Machine Learning · Document Processing · Ocr · Auth: API Key · Actions: 1

Authentication

API Key Authentication

Authenticate using your Pulse API key
1

Step 1

Go to https://www.runpulse.com and sign up or log in
2

Step 2

Open your dashboard and navigate to the API keys section
3

Step 3

Create a new API key or copy your existing one
4

Step 4

Paste the API key below

Required Credentials

FieldDescriptionRequiredFormat
Pulse API KeyYour Pulse API key from the runpulse.com dashboardYes-

Available Actions

Parameters

file_url
string
required
Public HTTP(S) URL to a document to process (PDF, image, or Office file)
pages
string
Page range to process, 1-indexed (e.g. “1-2,5”). Omit for all pages.
chunking
string
Chunking strategies (comma-separated: semantic, header, page, recursive)
chunk_size
integer
Maximum characters per chunk when chunking is enabled
return_html
boolean
Whether to include HTML in the response
extract_figure
boolean
Whether to extract figures from the document
figure_description
boolean
Whether to generate descriptions/captions for extracted figures

Response

{
  "$defs": {
    "PlanInfo": {
      "additionalProperties": false,
      "description": "Plan usage information returned with each extraction.",
      "properties": {
        "pages_used": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Pages Used"
        },
        "tier": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Tier"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        }
      },
      "title": "PlanInfo",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "description": "Result of parsing a document with Pulse OCR.",
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "markdown": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Markdown"
    },
    "page_count": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Page Count"
    },
    "job_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Job Id"
    },
    "plan_info": {
      "anyOf": [
        {
          "$ref": "#/$defs/PlanInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "bounding_boxes": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bounding Boxes"
    },
    "extraction_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Extraction Url"
    },
    "html": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Html"
    },
    "structured_output": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Structured Output"
    },
    "chunks": {
      "items": {},
      "title": "Chunks",
      "type": "array"
    },
    "figures": {
      "items": {},
      "title": "Figures",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "ParserOutput",
  "type": "object"
}

Limits & Quotas

  • Billing: Pulse bills in credits; each extraction is billed by the number of pages (or tables) processed. API keys can carry per-key credit caps.
  • Large documents: documents above ~70 pages return an extraction_url pointing at the full results instead of inlining the markdown.
  • Error model: non-2xx responses and timeouts are caught and returned as success=False + error rather than raising. Plan for retries on the agent side based on the error string.

Amazon Alexa

Browser Use

ElevenLabs