Attest tools · File converter

HTML to Markdown

Convert an HTML heading, paragraph and list into readable Markdown.

1 credit per successful call

Input JSON

{
  "from": "html",
  "to": "markdown",
  "text": "<h1>Care guide</h1><p>Use <strong>mild detergent</strong>.</p><ul><li>Cold wash</li><li>Line dry</li></ul>"
}

Captured output JSON

{
  "from": "html",
  "to": "markdown",
  "input_source": "text",
  "input_encoding": "utf-8",
  "bytes_in": 106,
  "bytes_out": 65,
  "response_bytes": 72,
  "result_text": "# Care guide\n\nUse **mild detergent**.\n\n-   Cold wash\n-   Line dry",
  "truncated": false,
  "stats": {},
  "warnings": [],
  "limits": {
    "max_input_bytes": 1048576,
    "max_base64_characters": 8388608,
    "max_output_bytes": 3145728,
    "max_response_bytes": 3670016,
    "max_rows": 200000,
    "max_columns": 2000,
    "max_inline_image_bytes": 65536,
    "max_markdown_source_bytes": 1048576
  },
  "supported_pairs": [
    "docx -> html",
    "docx -> markdown",
    "docx -> text",
    "html -> markdown",
    "html -> text",
    "markdown -> html",
    "csv -> json",
    "csv -> tsv",
    "json -> csv",
    "tsv -> csv"
  ],
  "source": "Converted in this process from the bytes supplied with the request. Formatting that has no equivalent in the target format (page layout, fonts, colours, comments, tracked changes) is dropped, so the output is a working copy of the content, not a reproduction of the original document. General information, not advice.",
  "checked_at": "2026-10-20T20:47:48.832Z"
}

API call

curl -s -X POST https://getattest.com.au/api/v1/files/convert \
  -H "authorization: Bearer $ATTEST_API_KEY" \
  -H "content-type: application/json" \
  --data-raw '{"from":"html","to":"markdown","text":"<h1>Care guide</h1><p>Use <strong>mild detergent</strong>.</p><ul><li>Cold wash</li><li>Line dry</li></ul>"}'

Run this call with your own bearer key. Issue an API key.

About this example

The input was validated and run locally through the registered service. The output above is a display preview of the captured service result. File bytes are described instead of printed, and strings longer than 400 characters are truncated; the HTTP API also adds call_id, credits_charged and credits_remaining. Timestamps and generated identifiers will vary.

Source: apps/api/svc/file_convert.mjs

Tool reference and limits · API key guide