피드로 돌아가기
Dev.toBackend
원문 읽기
ImageMagick 제거 및 REST API 전환으로 3초 내 Color Grading 구현
Color Grading at Scale: How I Stopped Wrestling with ImageMagick and Just Used an API
AI 요약
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 유효 기간을 처리 시간에 맞게 최적화할 것