快速开始 - 5分钟接入压缩API

通过简单的几步操作,即可接入智压通压缩API服务,使用 curl / Python / Java / Node.js 发起首次压缩请求

步骤 1:注册账号并获取 API Key

在开始调用压缩 API 之前,您需要先注册丑梨数据账号并创建应用以获取 API Key

前往控制台注册

访问丑梨数据开发者控制台,使用邮箱或手机号注册账号,完成实名认证后即可开始使用服务。

创建应用

登录控制台后,在「应用管理」中创建新应用,填写应用名称、用途描述,选择所需的服务套餐。

获取 API Key

应用创建完成后,系统会为该应用生成唯一的 API Key,请妥善保管,不要在客户端代码或公开仓库中泄露。

安全提示:API Key 等同于您的账户凭证,请通过环境变量或密钥管理服务读取,切勿硬编码到源码中或提交到代码仓库。

步骤 2:首次 API 调用(curl)

获取 API Key 后,可以使用 curl 快速发起一次压缩请求,验证连通性与服务可用性

curl -X POST https://api.uglypear.com/v1/compress \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F "file=@document.pdf" \
  -F "quality=high"

请求中 YOUR_API_KEY 替换为您的实际 API Key,file=@document.pdf 指向待压缩的本地文件,quality 参数可选 low / medium / high

步骤 3:Python 示例代码

使用 Python requests 库上传文件并获取压缩结果,适合后端服务集成与数据处理脚本

import requests

url = "https://api.uglypear.com/v1/compress"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("document.pdf", "rb")}
data = {"quality": "high", "format": "pdf"}

response = requests.post(url, headers=headers, files=files, data=data)
result = response.json()
print(f"压缩完成,下载链接: {result['download_url']}")

步骤 4:Node.js 示例代码

使用 Node.js 通过 form-data 与 fetch 上传文件,适用于服务端 Node 应用与 Serverless 场景

const FormData = require('form-data');
const fs = require('fs');

const form = new FormData();
form.append('file', fs.createReadStream('document.pdf'));
form.append('quality', 'high');

fetch('https://api.uglypear.com/v1/compress', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer YOUR_API_KEY', ...form.getHeaders() },
  body: form
}).then(res => res.json()).then(data => console.log(data));

步骤 5:Java 示例代码(OkHttp)

使用 Java OkHttp 客户端构建 multipart 请求,适合企业级 Java 后端与 Android 应用集成

import okhttp3.*;
import java.io.File;

public class CompressDemo {
    public static void main(String[] args) throws Exception {
        OkHttpClient client = new OkHttpClient();

        File file = new File("document.pdf");
        RequestBody body = new MultipartBody.Builder()
                .setType(MultipartBody.FORM)
                .addFormDataPart("file", file.getName(),
                        RequestBody.create(file, MediaType.parse("application/pdf")))
                .addFormDataPart("quality", "high")
                .build();

        Request request = new Request.Builder()
                .url("https://api.uglypear.com/v1/compress")
                .addHeader("Authorization", "Bearer YOUR_API_KEY")
                .post(body)
                .build();

        try (Response response = client.newCall(request).execute()) {
            System.out.println(response.body().string());
        }
    }
}

API 响应格式说明

压缩请求成功后,服务端返回 JSON 格式的响应,包含任务标识与压缩结果信息

{
  "task_id": "task_8f3c2a1b9e7d4c5f",
  "status": "completed",
  "download_url": "https://api.uglypear.com/v1/tasks/task_8f3c2a1b9e7d4c5f/download",
  "original_size": 5242880,
  "compressed_size": 1572864,
  "compression_ratio": "70.0%"
}

task_id

本次压缩任务的唯一标识,可用于查询任务状态、下载结果文件或删除任务。

status

任务状态,取值为 pending / processing / completed / failed

download_url

压缩结果文件的下载地址,任务完成后即可通过该链接获取压缩后的文件。

original_size

原始文件大小,单位为字节(Byte)。

compressed_size

压缩后文件大小,单位为字节(Byte)。

compression_ratio

压缩率,表示体积缩减的百分比,数值越高压缩效果越好。

下一步

完成首次调用后,您可以深入了解完整 API 文档、下载各语言 SDK 或查看更多代码示例

API 文档

查阅完整的 OpenAPI 3.0 接口规范、参数定义、错误码与限流策略。

查看 API 文档

SDK 下载

下载 Rust SDK 动态库、C FFI 头文件及 Python 绑定包,加速集成开发。

下载 SDK

代码示例

查看批量压缩、异步任务、加密压缩等典型场景的完整示例代码。

查看示例

查看完整 API 文档

开始构建您的压缩集成方案,查阅所有接口说明、参数定义与错误码参考

查看完整 API 文档 了解 API 服务 咨询商务