사진 복원 API란?
ImgGen AI 사진 복원 API는 손상된 사진을 복원하는 REST 엔드포인트입니다. 긁힘, 찢김, 얼룩, 색바램, 흐림을 줄이고, 선택적으로 흑백 원본에 색을 입히고 같은 호출에서 해상도를 높일 수 있습니다. 스캔본을 업로드하면 복원된 이미지가 응답으로 돌아옵니다.
이것은 ImgGen AI 이미지 편집 API의 일곱 개 엔드포인트 중 하나이며, 모두 같은 API 키와 같은 기본 URL, 동일한 요청·응답 형식을 공유합니다. 코드가 아니라 브라우저에서도 이 기능이 필요하다면, 같은 AI 모델이 Image Restoration 도구를 구동합니다.
요청 파라미터
https://app.imggen.ai/v1/image-restoration 으로 POST 요청을 보내고, Authorization 헤더의 API 키로 인증하세요.
| 파라미터 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
| image | file | 필수 | — | 복원하면서 흑백 사진에 사실적인 색을 입힙니다. |
| colorize | boolean | 선택 | false | 긁힘, 찢김, 물리적 손상을 복원합니다. |
| removeTears | boolean | 선택 | false | 복원된 이미지를 업스케일해 해상도를 높입니다. 이 호출에 업스케일러 비용이 더해집니다. |
| enhanceResolution | boolean | 선택 | false | Upscale the restored image for extra resolution. Adds the upscaler cost to the call. |
사진 복원 API는 어떻게 연동하나요?
ImgGen 계정에서 API 키를 만들고 환경 변수로 지정한 뒤 엔드포인트를 호출하세요. 같은 요청을 cURL, Node.js, Python으로 보여드립니다.
curl --request POST \
--url 'https://app.imggen.ai/v1/image-restoration' \
--header 'Authorization: Bearer sk_live_YOUR_API_KEY' \
--form image=@/path/to/photo.jpg \
--form colorize=false \
--form removeTears=true \
--form enhanceResolution=falseimport fs from 'node:fs';
const form = new FormData();
form.append('image', new Blob([fs.readFileSync('photo.jpg')]), 'photo.jpg');
form.append('colorize', 'false');
form.append('removeTears', 'true');
form.append('enhanceResolution', 'false');
const res = await fetch('https://app.imggen.ai/v1/image-restoration', {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.IMGGEN_API_KEY}` },
body: form,
});
const data = await res.json();
// data.image is a base64-encoded PNG
fs.writeFileSync('result.png', Buffer.from(data.image, 'base64'));import base64, os, requests
with open("photo.jpg", "rb") as f:
res = requests.post(
"https://app.imggen.ai/v1/image-restoration",
headers={"Authorization": f"Bearer {os.environ['IMGGEN_API_KEY']}"},
files={"image": f},
data={"colorize": "false", "removeTears": "true", "enhanceResolution": "false"},
)
data = res.json()
with open("result.png", "wb") as out:
out.write(base64.b64decode(data["image"]))응답
성공한 호출은 JSON을 반환합니다. 결과는 base64로 인코딩되어 있으니 디스크나 오브젝트 스토리지에 쓰기 전에 디코딩하세요. 성공한 응답에는 호출 후 잔액을 담은 X-Credit-Remaining 헤더도 함께 옵니다.
{
"success": true,
"message": "Image restored successfully",
"image": "iVBORw0KGgoAAAANSUhEUgAA...SUVORK5CYII="
}알아두면 좋은 제한과 동작
이 엔드포인트는 파일 최대 25MB의 JPEG(JPG), PNG, WebP를 받고 60초 이내에 동기적으로 응답합니다. 폴링할 작업도, 설정할 웹훅도 없습니다.
세 가지 작업, 한 번의 호출
복원, 컬러화, 업스케일은 별도 엔드포인트가 아니라 같은 요청의 플래그이므로, 전체 복원도 세 번이 아니라 한 번의 왕복으로 끝납니다.
enhanceResolution은 추가 비용
enhanceResolution을 켜면 업스케일 모델까지 돌기 때문에, 기본 복원 요금 위에 업스케일러 비용이 더해집니다.
스캔 품질이 중요합니다
모델은 볼 수 있는 것에서 재구성합니다. 스캐너가 지원하는 최고 해상도로 평평하게, 고르게 조명해 스캔한 쪽이 인화본을 휴대폰으로 찍은 것보다 확연히 좋은 결과를 냅니다.
사진 복원 API는 어디에 쓰이나요?
여러 팀이 이 엔드포인트를 실제 서비스에 넣어 프로그래밍 방식으로 대규모 이미지를 처리하는 사례입니다.
족보·아카이브 플랫폼
복원 모델을 직접 만들거나 운영하지 않고도, 사용자가 올린 가족사진의 원클릭 복원을 제공하세요.
디지털화 서비스
스캔본이 나오는 대로 복원을 자동 실행해, 담당자가 한 장씩 편집하는 대신 결과를 검토하도록 하세요.
박물관·도서관 소장품
원본은 그대로 두면서, 손상된 사진 자료의 열람용 사본을 보기 좋게 만들어 내세요.
사진 인화 상품
고객이 올린 사진을 인쇄에 넘기기 전에 한 번의 호출로 복원하고 확대하세요.
사진 복원 API의 비용은 얼마인가요?
성공한 호출 한 번에 2크레딧가 들며, 따라서 이미지당 실질 비용은 이용 중인 플랜에 따라 정해집니다. 크레딧은 플랜에서 차감되고 모든 엔드포인트와 웹 편집기가 함께 쓰므로, 도구별로 별도 할당량을 살 필요가 없습니다. 실패한 호출은 자동으로 환불됩니다. 자세한 내용은 요금 페이지를 확인하세요.
| 플랜 | 가격 | 크레딧 | API |
|---|---|---|---|
| Free | $0 | 1회성 무료 크레딧 50 | API 접근 없음 |
| Starter | $9.99 / month | 월 400 크레딧 | API 접근 포함 |
| Pro | $29.99 / month | 월 1,400 크레딧 | API 접근 + 우선 지원 |
| Enterprise | Custom | 맞춤 사용량 | 전용 인프라 |
크레딧 비용과 제한 최종 확인일 2026-08-27.
관련 엔드포인트 및 도구
사진 복원 API를 쓰는 팀이 다음으로 자주 찾는 것들입니다.
사진 복원 API 자주 묻는 질문
- 손상된 사진을 자동으로 복원하는 HTTP 엔드포인트입니다. 긁힘, 찢김, 얼룩, 색바램, 흐림을 줄이고 선택적으로 결과를 컬러화하고 확대할 수 있습니다. 아무도 손으로 보정하지 않고도 제품이 사용자에게 복원 기능을 제공할 수 있도록 존재합니다.
- 네. colorize=true로 설정하면 같은 복원 과정에서 모델이 사실적인 색을 입힙니다. 색만 필요하고 사진이 손상되지 않았다면, 전용 컬러화 엔드포인트가 더 저렴하고 직접적입니다.
- 성공한 호출당 2크레딧입니다. enhanceResolution=true로 설정하면 두 번째 모델이 돌기 때문에 업스케일러 비용이 더해집니다. Starter는 월 400크레딧에 9.99달러, Pro는 1,400크레딧에 29.99달러이며, 구독을 유지하는 동안 미사용 크레딧은 이월됩니다.
- 긁힘, 찢김, 얼룩, 물자국, 색바램, 누렇게 변색, 전반적인 흐릿함입니다. 물리적 손상에는 특히 removeTears=true를 지정하세요. 원본 내용이 완전히 사라진 영역은 되살아나는 것이 아니라 그럴듯하게 재구성됩니다. 모델은 되돌리는 것이 아니라 추론하는 것입니다.
- 그럴 수 있으며, 사용자에게 보여주기 전에 이해해 둘 만한 부분입니다. 모델은 없는 정보를 추론으로 재구성하므로, 심하게 손상되었거나 해상도가 매우 낮은 얼굴은 원본 속 인물과 미묘하게 다르게 돌아올 수 있습니다. 보이는 것에서 작업하고, 아무것도 보이지 않는 곳에서는 그럴듯한 추측을 내놓습니다. 결과물은 되찾은 원본이 아니라 복원된 해석으로 다루세요.
- 요청당 사진 한 장입니다. 이 엔드포인트에는 일괄 형식이 없으며, image[] 를 지원하는 것은 워터마크 제거뿐입니다. 아카이브 전체를 처리하려면 자체 워커에서 요청을 병렬로 보내세요. 각 요청은 독립적이며 각각 과금됩니다.
- 이 API는 이미지 한 장당 최대 25MB의 JPEG(JPG), PNG, WebP 파일을 받습니다. 결과는 JSON 응답 안에 base64로 인코딩된 이미지로 반환됩니다.
- 아니요. 이 API는 상태를 저장하지 않습니다. 프로젝트를 만들지도, 파일을 저장하지도, 여러분의 이미지를 보관하지도 않습니다. 업로드된 파일은 임시 객체에 기록되어 처리된 뒤, 응답이 반환되는 즉시 삭제됩니다. 남는 것은 호출이 있었다는 사실과 소모된 크레딧 수를 기록한 사용 로그뿐입니다. 여러분의 이미지는 결코 모델 학습에 사용되지 않습니다.
- 네. 무료 플랜을 포함한 모든 플랜에 완전한 상업적 사용 권한이 포함되며, 어떤 결과물에도 워터마크가 들어가지 않습니다. API가 반환한 것은 무엇이든 판매하거나 인쇄하거나 게시할 수 있습니다.
시작하기
사진 복원 API 호출을 시작하세요
키 하나로 일곱 개 엔드포인트가 모두 열립니다. 워터마크 없음, 완전한 상업적 권리, 그리고 보내신 어떤 것도 응답이 반환된 뒤에는 저장되지 않습니다.
API 키 받기