SkillAgentSearch skills...

HumanizerAI

降AIGC率,降低知网、维普、格子达平台的AIGC检测率,降知网AI,降维普AI,降格子达AI。

Install / Use

/learn @SpeedAI-team/HumanizerAI
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

HumanizerAI

降AIGC率,降低知网、维普、格子达平台的AIGC检测率,降知网AI,降维普AI,降格子达AI。

普通用户请访问网页版

普通用户请访问网页版

下面为开发人员文档,无开发能力的请使用上面的用户版本

接口文档说明

概述:

本文档描述了多个接口的使用方法,这些接口用于文档上传、文本重写、降AI处理和文件下载。接口提供了基于WebSocket的实时文档处理,以及基于HTTP的文本处理和文件下载功能。

注意:请将test_api更换为实际的api key。api key请联系wx:speed-ai

计费说明

所有输入,均以字符数计算,而不是按字数计算。

附:字符数与字数的区别

字符数

字符数指的是文本中所有字符的总数量,包括:

  • 每一个字母(不论大小写)
  • 标点符号(逗号、句号、感叹号等)
  • 数字
  • 空格、换行符
  • 特殊符号(如:@、#、$等)

计算方式:

  • 在字符数的计算中,每个字符都被单独计算,无论它是中文字符、英文字符、数字还是标点符号。例如,"Hello, 世界!" 包含了10个字符(5个英文字母,1个逗号,1个空格,2个中文字符,1个感叹号)。
字数

字数则通常指的是文本中的汉字数量。在中文语境下,字数通常不包括标点符号、空格或其他字符。例如:

  • 句子"你好,世界!"的字数为4,因为它包含4个汉字("你"、"好"、"世"、"界"),而标点符号和空格不计入字数。

在英文语境下,字数有时会指的是单词数,而不是字符数。例如:

  • "Hello world!" 被视为2个单词,即2个字数。标点符号和空格不算在内。
举例

| 示例文本 | 字符数 | 字数(中文语境) | 单词数(英文语境) | | ------------- | ------ | ---------------- | ------------------ | | 你好,世界! | 6 | 4 | 不适用 | | Hello, world! | 13 | 不适用 | 2 | | 123, ABC. | 9 | 不适用 | 2 |

总结

  • 字符数:文本中的所有字符(包括空格、标点符号等)总数。
  • 字数:仅统计有效的汉字数量或英文中的单词数量,通常不包括标点符号和空格。

本服务不使用 Token 鉴权

  • HTTP 接口直接使用 username(即 apikey)即可
  • WS 进度订阅接口的 query 参数名仍为 token,但其值约定为 apikey(username)(即:token=apikey

1. 文件下载接口

注意,所有文件均会在24小时内删除,请尽快下载。

接口地址:

  • POST https://api3.speedai.chat/v1/download

功能: 根据 user_doc_idfile_name 下载经过修改的文档。

请求方式:

  • POST

请求参数:

| 参数名称 | 类型 | 必填 | 说明 | | ------------- | ------ | ---- | ---------------------------------- | | user_doc_id | String | 是 | 文件处理后的唯一标识 ID | | file_name | String | 是 | 下载文件的名称,默认后缀为 .docx |

请求示例:

{
    "user_doc_id": "1234567890",
    "file_name": "修改后论文"
}

响应:

  • 文件下载(.docx 格式)

错误返回示例:

{
    "error": "File not found or server error"
}

2. 文本重写接口

接口地址:

  • POST https://api3.speedai.chat/v1/rewrite

功能: 根据指定类型对输入的文本进行重写。

请求方式:

  • POST

请求参数:

| 参数名称 | 类型 | 必填 | 说明 | | -------- | ------ | ---- | --------------------------------------- | | username | String | 是 | API密钥 | | info | String | 是 | 需要重写的文本 | | lang | String | 是 | 文本语言 (ChineseEnglish) | | type | String | 是 | 重写类型 (zhiwang, weipu, gezida) |

请求示例:

{
    "username": "test_api",
    "info": "有人说:"学生是一艘轮船,在知识的海洋中航行,能否顺利到达成功的彼岸,教师这个航标起到导航的关键作用。",
    "lang": "Chinese",
    "type": "zhiwang"
}

响应:

{
    "code": 200,
    "rewrite": "学生如同一艘在知识海洋中航行的船只,教师则是引导其到达成功彼岸的灯塔。"
}

错误返回示例:

{
    "code": 400,
    "message": "Invalid API Key"
}

3. 降AI接口

接口地址:

  • POST https://api3.speedai.chat/v1/deai

功能: 对输入的文本进行降AI处理,根据指定类型去除AI生成的痕迹。

请求方式:

  • POST

请求参数:

| 参数名称 | 类型 | 必填 | 说明 | | -------- | ------ | ---- | --------------------------------------- | | username | String | 是 | API密钥 | | info | String | 是 | 需要降AI处理的文本 | | lang | String | 是 | 文本语言 (ChineseEnglish) | | type | String | 是 | 降AI类型 (zhiwang, weipu, gezida) |

请求示例:

{
    "username": "test_api",
    "info": "有人说:"学生是一艘轮船,在知识的海洋中航行,能否顺利到达成功的彼岸,教师这个航标起到导航的关键作用。",
    "lang": "Chinese",
    "type": "zhiwang"
}

响应:

{
    "code": 200,
    "rewrite": "学生如同在知识海洋中航行的船只,教师为其引导成功。"
}

错误返回示例:

{
    "code": 500,
    "message": "Server Error"
}

4. 文档 cost 计算接口(支持可选上传报告)

接口地址:

  • POST https://api3.speedai.chat/v1/cost

功能: 上传 docx 并计算 cost(返回 doc_id)。可选上传报告文件(report_file/ReportFileName),后端会保存到 report 目录(用于后续分步流程复用)。

请求方式:

  • POST(FormData)

请求参数:

| 参数名称 | 类型 | 必填 | 说明 | | --------------- | ------- | ---- | ---- | | file | File | 是 | docx 文件 | | FileName | String | 是 | docx 原始文件名 | | username | String | 是 | API key | | mode | String | 是 | rewrite / deai / polish | | type_ | String | 是 | zhiwang/weipu/gezida/daya/turnitin/rewrite_*/rewrite_deep_* | | changed_only | Boolean | 否 | 保留字段,通常传 false | | skip_english | Boolean | 否 | 是否跳过英文 | | report_file | File | 否 | 可选:报告文件(PDF/HTML) | | ReportFileName| String | 否 | 可选:报告原始文件名 |

响应示例:

{
  "status": "success",
  "cost": 1234,
  "doc_id": "xxxx-uuid",
  "report_uploaded": true
}

推荐接入方式(两种)

方式 A(推荐):先 cost → 再上传报告 → 再 start(分步)

适用场景:你希望明确拿到 doc_id、可独立管理/复用报告文件、或后续要走更复杂的分步流程。

  • Step 1POST /v1/cost 上传 docx 计算 cost,拿到 doc_id
  • Step 2(可选)POST /v1/docx/report 上传报告文件(PDF/HTML),绑定到 doc_id
  • Step 3POST /v1/docx/start 启动处理(如需使用报告过滤,传 report_name
  • Step 4(推荐):WS 订阅进度:GET wss://.../v1/docx/progress?token=apikey&doc_id=...

方式 B(快捷):直接 /v1/docx 上传 docx + 报告并启动

适用场景:你希望一次请求直接启动;后端会返回 user_doc_id,再用 WS 订阅进度。

  • POST /v1/docx:FormData 里同时带 file(docx)+(可选)report_file
  • 返回 user_doc_id 后:WS 订阅 doc_id=user_doc_id

5. 文档上传和处理接口

接口地址:

  • POST https://api3.speedai.chat/v1/docx

功能: 通过HTTP POST方式上传Word文档(.docx),并获取处理ID用于后续状态查询。

请求方式:

  • POST

请求参数: 通过FormData形式提交以下参数:

| 参数名称 | 类型 | 必填 | 说明 | | -------------- | ------- | ---- | --------------------------------------------- | | file | File | 是 | 上传的文档文件 | | FileName | String | 是 | 上传文件的名称 | | username | String | 是 | 用户名/API密钥 | | mode | String | 是 | 处理模式:rewrite / deai / polish | | type_ | String | 是 | 处理类型:zhiwang / weipu / gezida / daya / turnitin / rewrite_* / rewrite_deep_* | | changed_only | Boolean | 否 | 是否仅返回修改部分(true 为仅返回修改部分) | | skip_english | Boolean | 否 | 是否跳过英文部分(true 为不处理英文部分) | | report_file | File | 否 | 可选:检测报告文件(PDF/HTML),用于报告匹配过滤 | | ReportFileName | String | 否 | 可选:报告原始文件名(用于取后缀) |

请求示例:

// Function for handling document upload via POST
uploadDocumentPostButton.onclick = function () {
  const file = fileInput.files[0];
  const reportFile = reportFileInput.files[0]; // 可选:报告文件(PDF/HTML)
  const username = usernameInput.value;
  const mode = modeSelect.value;
  const type_ = typeSelect.value;
  const changedOnly = changedOnlyCheckbox.checked;
  const skipEnglish = skipEnglishCheckbox.checked;
  if (!file || !username) {
    output.innerHTML = `<p style="color:red;">Please select a file and provide an API key.</p>`;
    return;
  }

  const formData = new FormData();
  formData.append("file", file);
  formData.append("FileName", file.name);
  formData.append("username", username);
  formData.append("mode", mode);
  formData.append("type_", type_);
  formData.append("changed_only", changedOnly);
  formData.append("skip_english", skipEnglish);
  // 可选:上传报告文件(PDF/HTML)
  if (reportFile) {
    formData.append("report_file", reportFile);
    formData.append("ReportFileName", reportFile.name);
  }

  fetch("https://api3.speedai.chat/v1/docx", {
    method: 'POST',
    body: formData
  })
  .then(response => response.json())
  .then(data => {
    if (data.status === "processing") {
      docId = data.user_doc_id;
      output.innerHTML = `<p>Document uploaded. Processing started with ID: ${docId}</p>`;
      // 推荐:使用 WS 实时进度(/v1/docx/progress),避免轮询
      startDocxProgressWS(docId);
    } else {
      output.innerHTML = `<p style="color:red;">Error: ${data.error}</p>`;
    }
  })
  .catch(error => {
    console.error("Error:", error);
    output.innerHTML = `<p style="color:red;">Error uploading document.</p>`;
  });
};

响应示例:

  1. 处理开始:

    {
        "status": "processing",
        "user_doc_id": "1234567890"
    }
    
  2. 处理错误:

    {
        "status": "error",
        "error": "File format not supported"
    }
    

6. 分步上传报告文件接口(可选)

接口地址:

  • POST https://api3.speedai.chat/v1/docx/report

功能: 分步上传“检测报告”(PDF/HTML),只负责落盘保存到 report/,命名规则:report/{doc_id}{ext}

请求方式:

  • POST(FormData)

请求参数:

| 参数名称 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | doc_id | String | 是 | 文档 ID(通常来自 /v1/costdoc_id/v1/docxuser_doc_id) | | file | File | 是 | 报告文件(PDF/HTML) | | FileName | String | 是 | 报告原始文件名(后端用于取后缀 + 安全校验) |

响应示例:

{
  "status": "success",
  "doc_id": "xxxx-uuid",
  "report_path": "report/xxxx-uuid.pdf",
  "platform": "zhiwang"
}

7. 分步启动 docx 处理接口(可选)

接口地址:

  • POST https://api3.speedai.chat/v1/docx/start

功能: 用于“分步流程”启动处理:docx 文件需已在后端落盘(例如已上传到 temp_docx/{doc_id}.docx),可通过 report_name 复用 report/ 下同 doc_id 的报告文件用于过滤。

请求方式:

  • POST(FormData)

请求参数:

| 参数名称 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | doc_id | String | 是 | 文档 ID | | FileName | String | 是 | docx 原始文件名(展示用途) | | username | String | 是 | API key | | mode | String | 是 | rewrite / deai / polish | | type_ | String | 是 | zhiwang/weipu/gezida/daya/turnitin/rewrite_*/rewrite_deep_* | | changed_only | Boolean | 否 | 是否仅返回修改部分 | | skip_english | Boolean | 否 | 是否跳过英文 | | report_name | String |

View on GitHub
GitHub Stars74
CategoryDevelopment
Updated18h ago
Forks4

Languages

HTML

Security Score

80/100

Audited on Apr 5, 2026

No findings