# Saylor Innovations Markdown to HTML Converter

> Saylor Innovations Markdown to HTML Converter is a paid API for AI agents from saylorinnovations.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-11-05).

Converts Markdown text to safe, escaped HTML with heading anchors, plus extracts heading outline, links, images, word count, and reading time

## Facts

- Endpoint: GET https://saylorinnovations.com/api/convert/markdown-to-html?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-05
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/saylor-innovations-markdown-to-html-converter-674d1fa3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_K11Rmf5xsudxPaihIWSbS

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability saylor-innovations-markdown-to-html-converter-674d1fa3
```

Example prompt: Can you convert this markdown text to safe HTML for me and also tell me how long it would take to read? Here's the markdown: '# Hello World\n\nThis is a **test** paragraph with a [link](https://example.com).'

## When to prefer this

Choose this endpoint when you need server-side, safe Markdown-to-HTML rendering with guaranteed HTML escaping (no XSS risk), heading anchor generation, and automatic metadata extraction (outline, links, images, word count, reading time) in a single call. Prefer it over client-side renderers when security and content metadata are both required without additional parsing steps.

## Known failure modes

- Markdown exceeding 12,000 characters may be rejected or truncated
- Missing required 'markdown' query parameter returns an error
- Malformed GET request without query parameters fails
- Extremely complex markdown with deeply nested structures may produce unexpected HTML output
- Network or payment (x402) failures result in no response

## How this service works

Render Markdown to escaped, safe HTML with heading anchors, links, images and lists, plus the heading outline, link list, word count and reading time

## Output

Returns a JSON object containing: escaped safe HTML string (with heading anchors and sanitized URLs), a headings array (each with level, text, and anchor ID), a links array, an images array (each with alt text and URL), a word count number, a reading_minutes number, a safe boolean (always true), and an optional note or source field providing context about the conversion.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "POST",
      "PUT",
      "PATCH",
      "DELETE",
      "HEAD"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "markdown"
     ],
     "properties": {
      "markdown": {
       "type": "string",
       "description": "Markdown text, up to 12000 characters"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "json"
    },
    "example": {
     "type": "object",
     "required": [
      "html",
      "headings"
     ],
     "properties": {
      "html": {
       "type": "string",
       "description": "Rendered HTML with all input HTML escaped"
      },
      "note": {
       "type": "string",
       "description": "Caveat or context for reading the result"
      },
      "safe": {
       "type": "boolean",
       "description": "True because input HTML is escaped and unsafe URL schemes are dropped"
      },
      "links": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "url": {
          "type": [
           "string"
          ]
         },
         "text": {
          "type": [
           "string"
          ]
         }
        },
        "additionalProperties": true
       },
       "description": "Related links"
      },
      "words": {
       "type": "number",
       "description": "Words"
      },
      "images": {
       "type": "array",
       "description": "Images found with alt text and URL"
      },
      "source": {
       "type": "string",
       "description": "Data source the values come from"
      },
      "headings": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "id": {
          "type": [
           "string"
          ]
         },
         "text": {
          "type": [
           "string"
          ]
         },
         "level": {
          "type": [
           "integer"
          ]
         }
        },
        "additionalProperties": true
       },
       "des
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/saylor-innovations-markdown-to-html-converter-674d1fa3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from saylorinnovations.com](https://www.zero.xyz/host/saylorinnovations.com/llms.txt)
