빠른 시작 - 5분 만에 압축 API 연동

간단한 몇 단계만 거치면 SmartSlim 압축 API 서비스에 연동할 수 있으며, curl / Python / Java / Node.js를 사용하여 첫 압축 요청을 보낼 수 있습니다

1단계: 계정 등록 및 API Key 발급

압축 API를 호출하기 전에 먼저 UGLYPEAR DATA 계정을 등록하고 애플리케이션을 생성하여 API Key를 발급받아야 합니다

콘솔에서 등록

UGLYPEAR DATA 개발자 콘솔에 접속하여 이메일 또는 전화번호로 계정을 등록하고, 실명 인증을 완료하면 서비스를 이용할 수 있습니다.

애플리케이션 생성

콘솔에 로그인한 후 '애플리케이션 관리'에서 새 애플리케이션을 생성하고, 애플리케이션 이름과 용도 설명을 입력한 후 필요한 서비스 플랜을 선택하세요.

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 서비스 알아보기 영업 문의