智能多媒体服务

  • 智能多媒体服务 > API 文档 > 文件处理 >HTML转MD(html2md)

    HTML转MD(html2md)

    最近更新时间: 2026-03-10 16:28:42

    简介

    七牛云智能多媒体服务支持将 HTML 类型的资源转为 Markdown 文件并返回。该接口可对七牛云存储上的 HTML 资源进行在线转换,也可通过管道与其他数据处理接口搭配使用。

    接口规格

    注意: 接口规格不含任何空格与换行符。

    html2md
    

    该接口无额外参数,直接对输入的 HTML 内容进行转换。

    请求

    请求报文格式

    GET <DownloadURI>?html2md HTTP/1.1
    

    响应

    响应报文格式

    HTTP/1.1 200 OK
    Content-Type: text/markdown
    
    <Markdown 内容>
    

    响应头部信息

    头部名称 说明
    Content-Type 转换成功时为 text/markdown;降级处理时为原始 MIME 类型

    响应状态码

    状态码 说明
    200 转换成功,或触发降级处理时原样返回输入内容
    570 读取输入源失败

    附注

    支持的输入类型

    输入 MIME 类型须为 text/html(含 charset 参数,如 text/html; charset=utf-8)。若输入非 text/html 类型,将原样返回输入内容。

    支持的 HTML 元素

    HTML 元素 转换结果
    <h1> - <h6> # - ######(ATX 风格标题)
    <p> 段落
    <strong> / <b> **加粗**
    <em> / <i> *斜体*
    <a href="url"> [文字](url)
    <img src="url" alt="描述"> ![描述](url)
    <ul> / <ol> 无序列表 (-) / 有序列表 (1.)
    <code> / <var> / <samp> / <kbd> / <tt> `行内代码`
    <pre><code> 围栏代码块(支持 language-xxx 语言标识)
    <blockquote> > 引用
    <table> Markdown 表格
    <hr> * * *(分隔线)
    <br> 两个空格 + 换行

    以下 HTML 元素会被完全移除(连同其内容):

    <head><script><style><link><meta><iframe><noscript><input><textarea>、HTML 注释。

    降级处理

    该服务对异常情况采用降级策略,不会返回错误,而是原样返回输入内容:

    场景 行为
    输入 MIME 类型非 text/html 原样返回输入
    输入大小超过限制(默认 2MB) 原样返回输入
    转换超时(默认 30 秒) 原样返回输入
    转换过程中出错 原样返回输入

    仅在无法读取输入源时返回错误码 570

    计量说明

    该接口采用按次计量方式,仅对实际执行转换处理的请求进行计量。降级场景不计量。
    注: beta测试阶段暂不收费。

    示例

    示例 1:基本转换

    输入 HTML:

    <h1>标题</h1>
    <p>这是一段<strong>加粗</strong><em>斜体</em>文字。</p>
    <a href="https://example.com">链接</a>
    

    返回 Markdown:

    # 标题
    
    这是一段**加粗**和*斜体*文字。
    
    [链接](https://example.com)
    

    示例 2:列表与代码

    输入 HTML:

    <ul>
      <li>项目 1</li>
      <li>项目 2</li>
    </ul>
    <pre><code class="language-python">
    def hello():
        print("world")
    </code></pre>
    

    返回 Markdown:

    - 项目 1
    - 项目 2
    
    ```python
    def hello():
        print("world")
    ```
    

    示例 3:表格

    输入 HTML:

    <table>
      <thead>
        <tr><th>姓名</th><th>年龄</th></tr>
      </thead>
      <tbody>
        <tr><td>Alice</td><td>30</td></tr>
        <tr><td>Bob</td><td>25</td></tr>
      </tbody>
    </table>
    

    返回 Markdown:

    | 姓名 | 年龄 |
    | --- | --- |
    | Alice | 30 |
    | Bob | 25 |
    

    操作方式

    html2md 支持以下两种调用方式:

    操作方式 说明
    持久化处理 上传时触发(persistentOps)或对已有资源手动触发 pfop
    同步处理 对资源 URL 直接拼接接口规格进行即时转换

    管道调用

    html2md 可作为管道中的下游处理节点,与其他数据处理接口组合使用:

    ?cmds=<上游接口规格>|html2md&url=<资源URL>
    

    例如,先由上游接口输出 HTML 内容,再通过 html2md 转为 Markdown。

    以上内容是否对您有帮助?