문서

사진 복원 API

AI 기술을 사용하여 오래된 사진 복원

사진 복원 API를 사용하면 고급 AI 기술로 오래되고 손상된 사진을 복원할 수 있습니다. 이 엔드포인트는 이미지를 처리하고 복원된 버전을 반환합니다. Restore Old Photos의 강력한 AI 사진 복원 기능을 경험해보세요.

엔드포인트

POST /api/api-call/photo-restore

인증

Authorization 헤더에 유효한 API 키가 필요합니다:

Authorization: Bearer YOUR_API_KEY

요청

헤더

헤더필수설명
Content-Typeapplication/json이어야 합니다
AuthorizationBearer YOUR_API_KEY 형식의 API 키

본문 매개변수

매개변수타입필수설명
imageUrlstring복원할 이미지의 URL (공개적으로 접근 가능해야 함)

요청 예시

{
  "imageUrl": "https://example.com/old-photo.jpg"
}

응답

성공 응답 (200)

API는 복원된 이미지의 URL 또는 base64 문자열을 반환합니다. 플랫폼은 모든 스트림 타입을 자동으로 처리하며, output 필드는 항상 URL 또는 base64 문자열입니다.

{
  "output": "https://replicate.delivery/pbxt/xxx.png"
}

또는:

{
  "output": "data:image/png;base64,iVBORw0KGgoAAAANS..."
}

설명:

  • 출력은 이미지의 URL (권장) 또는 base64 문자열 (부분 이미지/큰 파일용)
  • 스트림 객체는 반환되지 않으며, 사용자는 img 태그나 다운로드에 직접 사용할 수 있습니다

오류 응답

400 Bad Request

{
  "message": "잘못된 입력"
}

401 Unauthorized

{
  "message": "잘못되었거나 만료된 API 키"
}

402 Payment Required

{
  "message": "크레딧 부족"
}

500 Internal Server Error

{
  "message": "서비스 오류"
}

429 Too Many Requests

{
  "message": "속도 제한을 초과했습니다. 나중에 다시 시도해주세요."
}

속도 제한

  • 제한: API 키당 시간당 100개 요청
  • 윈도우: 60분
  • 응답: 초과 시 429 Too Many Requests

사용 예시

JavaScript/Node.js

async function restorePhoto(imageUrl, apiKey) {
  try {
    const response = await fetch('https://restoreoldphotos.online/api/api-call/photo-restore', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${apiKey}`
      },
      body: JSON.stringify({
        imageUrl: imageUrl
      })
    });
 
    if (!response.ok) {
      const error = await response.text();
      throw new Error(`API 오류: ${response.status} - ${error}`);
    }
 
    const result = await response.json();
    
    // 출력은 항상 문자열 (URL 또는 base64)
    if (result.output.startsWith('data:image')) {
      // Base64 이미지 데이터
      return result.output;
    } else if (result.output.startsWith('http')) {
      // 이미지 URL
      return result.output;
    } else {
      throw new Error('잘못된 출력 형식');
    }
  } catch (error) {
    console.error('사진 복원 오류:', error);
    throw error;
  }
}
 
// 사용
const restoredImage = await restorePhoto(
  'https://example.com/old-photo.jpg',
  'your-api-key-here'
);
console.log('복원된 이미지:', restoredImage);

cURL

curl -X POST https://restoreoldphotos.online/api/api-call/photo-restore \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "imageUrl": "https://example.com/old-photo.jpg"
  }'

이미지 요구사항

  • 형식: JPG, PNG, WebP
  • 크기: 최대 5MB
  • 접근성: 이미지 URL은 공개적으로 접근 가능해야 합니다
  • 내용: 유효한 이미지 파일이어야 합니다

처리 시간

  • 일반적: 10-30초
  • 큰 이미지: 최대 60초까지 걸릴 수 있습니다

크레딧

  • 비용: 복원 1회당 1크레딧
  • 공제: 성공적인 처리 후 크레딧이 공제됩니다

모범 사례

  1. 이미지 품질: 더 나은 결과를 위해 고품질 이미지 사용
  2. 오류 처리: 항상 적절한 오류 처리 구현
  3. 크레딧 관리: 크레딧 잔액을 정기적으로 모니터링
  4. 출력 처리: 출력은 항상 문자열이며, 스트림 처리가 필요하지 않습니다

문제 해결

일반적인 문제

401 Unauthorized

  • API 키가 올바른지 확인
  • API 키가 활성 상태이고 만료되지 않았는지 확인

402 Payment Required

  • 계정에 크레딧 추가
  • 현재 크레딧 잔액 확인

400 Bad Request

  • imageUrl이 유효하고 접근 가능한 URL인지 확인
  • 이미지 형식이 지원되는지 확인

잘못된 출력 형식

  • 출력은 항상 문자열 (URL 또는 base64)이어야 합니다
  • API 응답에 예상되는 출력 필드가 포함되어 있는지 확인

429 Too Many Requests

  • 시간당 100개 요청의 속도 제한을 초과했습니다
  • 더 많은 요청을 하기 전에 속도 제한 윈도우가 재설정될 때까지 기다리세요

지원

여기서 다루지 않은 문제가 발생하면 지원팀에 문의해주세요.