피드로 돌아가기
Color Grading at Scale: How I Stopped Wrestling with ImageMagick and Just Used an API
Dev.toDev.to
Backend

ImageMagick 제거 및 REST API 전환으로 3초 내 Color Grading 구현

Color Grading at Scale: How I Stopped Wrestling with ImageMagick and Just Used an API

Om Prakash2026년 5월 28일5intermediate

Context

서로 다른 촬영 환경에서 유입되는 제품 사진의 색감 불일치로 인한 브랜드 일관성 저해 발생. ImageMagick 기반의 자체 쉘 스크립트 구현 시 조명 및 그림자 조건에 따른 처리 결과의 가변성으로 인해 확장 가능한 색 보정 파이프라인 구축에 한계 노출.

Technical Solution

  • ImageMagick 기반의 복잡한 LUT 설정 및 색 프로파일 관리 체계를 제거하고 PixelAPI의 REST 인터페이스로 전환
  • Django Admin 기반의 이미지 업로드 이벤트 발생 시 Celery를 통한 비동기 처리 태스크 실행
  • 외부 API 호출에 따른 지연 시간을 최소화하여 UX 패턴 변경 없이 즉각적인 결과 반영이 가능한 처리 구조 설계
  • S3 Private Bucket 내 이미지 접근을 위한 Presigned URL 생성 로직을 추가하여 API 보안 제약 사항 해결
  • 외부 호스팅 결과물을 자체 스토리지로 재저장하는 워크플로우를 통해 서비스 의존성 분리 및 데이터 소유권 확보

1. 이미지 처리 API 도입 시 처리 속도가 UX 패턴(Spinner vs Immediate)에 미치는 영향을 먼저 분석할 것

2. 외부 API 결과물을 직접 서빙하지 않고 자체 Storage에 저장하여 가용성 및 제어권을 확보할 것

3. Private S3 사용 시 API 전송을 위한 Presigned URL 유효 기간을 처리 시간에 맞게 최적화할 것

원문 읽기