AI로 옛날 사진 복원하기: 손상 복구 후 업스케일
AI로 옛날 사진을 복원하려면 고칠 손상을 나열한 프롬프트와 함께 스캔본을 보낸 뒤, 최대 4배까지 업스케일하세요. 결과는 스캔본과 비교하세요.

AI로 옛날 사진을 복원하려면 인화 사진을 스캔하고, 고칠 손상과 그대로 둘 것을 나열한 프롬프트와 함께 스캔본을 레퍼런스로 이미지 모델에 보내세요. 프롬프트는 "Remove the scratches, dust spots, and the crease; restore the faded contrast; keep the faces, clothing, and background unchanged."(긁힘, 먼지 자국, 접힌 자국을 없애고, 바랜 대비를 되살리고, 얼굴, 옷, 배경은 바꾸지 않기)처럼 씁니다. 더 크게 인화해야 한다면 복구한 이미지를 최대 4배까지 업스케일하세요. 모델은 사진을 부분적으로 고치는 것이 아니라 다시 그리므로, 결과를 스캔본과 비교하고 원본은 보관하세요.
두 단계 모두 Sume API에서 실행됩니다. 복구는 POST /v1/images 요청이고, 확대는 Image Upscale 1.0 Job입니다. 내용은 Image API 문서 (영문)와 Sume API 레퍼런스의 바탕이 되는 OpenAPI 문서에서 가져왔으며, 2026-09-28에 확인했습니다.
AI로 옛날 사진을 복원하는 순서는 어떻게 되나요?
- 인화 사진을 평평하게 스캔하거나, 사진 전체가 프레임에 들어오도록 빛 반사 없이 정면에서 촬영하세요.
- 스캔본을 공개 HTTPS URL에 올리세요. localhost, 사설 네트워크, HTTPS가 아닌 URL은 제출 전에 거부됩니다.
- 스캔본을
input_references에 담아 레퍼런스로 편집하는 모델에 보내세요. 손상 목록은prompt에 넣고, 복구한 사진이 스캔본의 모양을 유지하도록aspect_ratio: "auto"를 함께 보내세요. 필드를 생략하는 것은auto를 보내는 것과 같지 않습니다. n으로 버전을 여러 개 요청하고(현재 Nano Banana Pro는 최대 4개), 원본에 가장 가까운 것을 고르세요.- 더 크게 인화하려면 복구한 이미지를 다운로드해 공개 HTTPS URL에 올린 다음 업스케일러로 보내세요(아래 참고).
- 결과를 스캔본과 얼굴 하나하나 비교하고, 두 파일을 모두 보관하세요.
curl -X POST "https://api.sume.com/v1/images" \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/nano-banana-pro",
"prompt": "Restore this old photo: remove the scratches, dust spots and the diagonal crease, repair the torn corner, and restore the faded contrast. Keep the faces, expressions, clothing, background and black-and-white tones unchanged. Do not add color.",
"input_references": [
{ "type": "image_url", "image_url": { "url": "https://example.com/scan-1948.jpg" } }
],
"aspect_ratio": "auto",
"n": 4
}'사진 복원 프롬프트에는 무엇을 적어야 하나요?
눈에 보이는 손상을 적고, 그다음 바뀌면 안 되는 것을 적으세요.
- 손상: 긁힘, 먼지 자국, 갈라짐, 접힌 자국, 찢어진 모서리, 얼룩, 물 자국, 색 바램, 누렇게 뜬 색.
- 유지할 것: 얼굴, 표정, 옷, 배경, 구도.
- 더하지 말 것: "do not add color"(흑백 인화 사진일 때 색을 넣지 않기), "don't smooth the skin"(피부를 매끈하게 보정하지 않기), "keep the film grain"(필름 그레인 유지). 색을 넣는 것은 별도의 작업입니다.
- 없어진 부분: 원래 무엇이 있었는지 안다면 "the torn corner showed more of the brick wall"(찢어진 모서리에는 벽돌 벽이 더 보였음)처럼 적으세요.
복원한 사진을 더 크게 만들려면 어떻게 하나요?
복구한 이미지를 공개 HTTPS image_url로 Image Upscale 1.0에 보내고, upscale_factor는 최대 4까지 지정하세요. 표는 두 단계를 비교합니다. 업스케일 요청 전체는 AI 이미지 업스케일러 API에서 다루고, 인쇄 크기마다 필요한 픽셀 수는 인쇄용 AI 이미지에서 설명합니다. API 요금에는 업스케일이 생성 출력 약 16메가픽셀 기준으로 예약된다고 설명되어 있으므로, 확대한 파일도 스캔본과 비교해 확인하세요.
| 손상 복구 | 결과 확대 | |
|---|---|---|
| 엔드포인트 | POST /v1/images | POST /v1/image-upscale-1.0/upscale |
| 이미지를 넣는 필드 | input_references: 공개 HTTPS URL | image_url: 공개 HTTPS URL 하나 |
| 주요 설정 | prompt, aspect_ratio: "auto", 최대 4까지의 n | upscale_factor는 1에서 4까지(기본값 2), output_format은 png(기본값) 또는 jpg |
| 반환되는 것 | 30초 안에 이미지(200) 또는 폴링할 Job(202), 결과 URL은 서명된 URL | Sume 소유의 폴링 URL이 담긴 Job, 기본 모드는 async |
| 가격 | 완료된 이미지당, GET /v1/images/models/{model_id}/endpoints에 나온 모델 가격 | 이미지당 $0.20, 기본적으로 5.5% 에이전트 수수료 추가 |
복원한 사진이 원본과 똑같아 보일까요?
아니요, 똑같지는 않습니다. 편집은 스캔본과 프롬프트로 새 그림을 생성하므로 얼굴, 표정, 작은 디테일이 달라질 수 있고, 심하게 손상된 부분은 모델의 추측으로 채워집니다. 인화하거나 공유하기 전에 결과를 하나하나 스캔본 옆에 놓고 모든 얼굴을 확인하세요. 원본 스캔본은 보관하세요. 복원한 파일은 고친 인화 사진이 아니라 새 이미지입니다.
어떤 제한이 있나요?
- 완료된 이미지마다 과금되므로
n: 4는 이미지 네 장입니다. 실패하거나 취소된 생성은 과금되지 않으며, 응답의usage.cost가 청구된 USD 금액입니다. - 업스케일러는 Job 하나에 이미지 한 장을 받으며, 배율은 4가 상한입니다.
- 복구 단계의 결과 URL은 Sume가 호스팅하는 서명된 URL이므로, 남길 버전은 다운로드해 두세요.
- 복원한 사진을 움직이게 하려면 AI로 옛날 사진을 움직일 수 있나요?를 참고하세요.
출처
관련 글
활용 사례 카테고리의 다른 글
- 방송 대기 화면(Starting soon) 만들기: 움직이는 루프 영상
방송 대기 화면(Starting soon)은 방송 캔버스 크기에 맞춘 루프 영상입니다. AI로 움직이는 대기 화면을 만드는 방법을 루프, 문구, 길이 순서로 정리했습니다.
- TTS 시간 계산기: 낭독 시간을 추정하고 실제로 재기
말하는 시간은 단어 수를 말하기 속도로 나눠 추정한 뒤 실제 파일로 재세요. Sume TTS는 단어별 타임스탬프와 함께 파일 길이를 알려 줍니다.
- 강의 녹음 텍스트 변환: 타임스탬프가 달린 노트로 정리하기
강의를 문장 타임스탬프와 함께 전사한 뒤, 언어 모델이 각 제목에 주제가 시작하는 지점을 표시한 노트로 바꾸게 하세요.
- AI 가상 스테이징: 빈 방 사진 한 장에 가구 채우기
AI로 가상 스테이징을 하려면 빈 방 사진을 스타일과 바뀌면 안 되는 부분을 적은 프롬프트와 함께 보내고, 결과에서 벽과 창문을 확인하세요.
작성자 Sume