Files
SnapOtter/apps/docs/ko/tools/image/image-to-base64.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

4.1 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
HTML, CSS 등에 임베드할 수 있도록 이미지를 base64 데이터 URI로 변환합니다. ba4b8f3b4ece human 42a27094655d

이미지를 Base64로

하나 이상의 이미지를 base64 인코딩된 문자열과 데이터 URI로 변환합니다. 선택적 형식 변환, 품질 제어, 크기 조정을 지원합니다. HTML, CSS, JSON 또는 이메일 템플릿에 이미지를 직접 임베드하는 데 유용합니다.

API 엔드포인트

POST /api/v1/tools/image/image-to-base64

하나 이상의 이미지 파일과 선택적 JSON settings 필드가 포함된 multipart 폼 데이터를 받습니다.

파라미터

파라미터 타입 필수 기본값 설명
outputFormat string 아니오 "original" 인코딩 전 변환: original, jpeg, png, webp, avif, jxl
quality number 아니오 80 손실 형식의 출력 품질(1에서 100)
maxWidth number 아니오 0 최대 너비(픽셀, 0 = 크기 조정 없음, 확대하지 않음)
maxHeight number 아니오 0 최대 높이(픽셀, 0 = 크기 조정 없음, 확대하지 않음)

예제 요청

curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@icon.png" \
  -F 'settings={"outputFormat": "webp", "quality": 80, "maxWidth": 200}'

여러 파일:

curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@icon1.png" \
  -F "file=@icon2.png" \
  -F "file=@icon3.png" \
  -F 'settings={"outputFormat": "original"}'

예제 응답

{
  "results": [
    {
      "filename": "icon.png",
      "mimeType": "image/webp",
      "width": 200,
      "height": 200,
      "originalSize": 45000,
      "encodedSize": 28800,
      "overheadPercent": -36.0,
      "base64": "UklGRlYAAABXRUJQ...",
      "dataUri": "data:image/webp;base64,UklGRlYAAABXRUJQ..."
    }
  ],
  "errors": []
}

응답 필드

필드 타입 설명
results array 성공적으로 변환된 이미지
errors array 처리에 실패한 이미지(파일 이름과 오류 메시지 포함)

Result 객체

필드 타입 설명
filename string 원본 파일 이름
mimeType string 인코딩된 출력의 MIME 타입
width number 최종 너비(픽셀, 크기 조정 후)
height number 최종 높이(픽셀, 크기 조정 후)
originalSize number 원본 파일 크기(바이트)
encodedSize number base64 문자열 크기(바이트)
overheadPercent number 원본 대비 크기 차이 비율(양수 = 더 큼, 음수 = 더 작음)
base64 string 원시 base64 인코딩 이미지 데이터
dataUri string src 속성에 바로 사용할 수 있는 완전한 데이터 URI

참고

  • Base64 인코딩은 일반적으로 바이너리 파일에 비해 크기를 약 33% 늘립니다. overheadPercent 필드는 실제 차이를 보여줍니다.
  • outputFormat"original"일 때 HEIC/HEIF 파일은 JPEG로 변환됩니다(브라우저가 데이터 URI에서 HEIC를 표시할 수 없기 때문).
  • maxWidthmaxHeight 옵션은 withoutEnlargement와 함께 fit: inside을 사용하여 크기를 조정하므로, 지정된 치수보다 작은 이미지는 확대되지 않습니다.
  • 단일 요청에서 여러 파일을 처리할 수 있습니다. 각 파일은 독립적으로 처리되며, 실패가 다른 파일의 성공을 막지 않습니다.
  • SVG 파일은 재인코딩 없이 image/svg+xml로 통과됩니다(형식 변환을 요청하지 않는 한).
  • 이것은 읽기 전용 엔드포인트입니다. 다운로드 가능한 파일이나 jobId를 만들어 내지 않습니다. base64 데이터는 응답 본문에 직접 반환됩니다.