Back to Home

이미지 설명기 API 문서 (V2)

2025-08-18

Posted by

이미지 설명기 API 문서 (V2)

소개 및 사용 사례

이미지 설명기 API를 사용하면 AI 기반 이미지 설명 기능을 애플리케이션에 통합할 수 있습니다. 우리의 API는 고급 AI 모델을 사용하여 이미지를 분석하고 상세한 설명을 생성합니다.

일반적인 사용 사례

  • 이미지의 상세한 설명 생성
  • 이미지에서 텍스트 및 정보 추출
  • 이미지 내용 및 맥락 분석
  • 창작 글쓰기를 위한 캐릭터 설명 생성
  • 콘텐츠 관리를 위한 이미지 캡션 생성

API 키

API를 사용하려면 API 자격 증명(API 키 및 시크릿)이 필요합니다. 대시보드에서 API 키를 관리할 수 있습니다.

API 키 관리 →

API 엔드포인트

POST https://imagedescriber.online/api/openapi-v2/describe-image

통합 가이드

요청 헤더

헤더 이름필수설명
content-typemultipart/form-data여야 합니다
authorizationBearer ${SECRET_KEY} 형식이어야 합니다
**${SECRET_KEY}**는 귀하의 API 키입니다.

요청 매개변수

매개변수타입필수설명
imagestring 또는 file설명을 생성할 이미지. 세 가지 입력 형식을 지원합니다:
1. 이미지 URL: http:// 또는 https://로 시작.
2. Base64 인코딩 이미지: 형식: data:image/jpeg;base64,/9j/4AAQSkZJR... (참고: PNG 등 다른 이미지 유형도 가능, mime-type 적절히 조정)
3. 파일 객체: 모델 이미지를 나타내는 파일 객체.
promptstring이미지 분석을 위한 사용자 지정 프롬프트
langstring아니오응답 언어 (en/zh/de/es/fr/ja/ko/fi/nl/pt/tr/ru), 기본값: en

응답 형식

필드타입설명
codenumber응답 상태 코드. 200은 성공을 의미
dataobject응답 데이터 객체, code가 200일 때 존재
data.contentstring이미지에 대해 생성된 설명
msgstring응답 메시지, 추가 정보 제공
succeedboolean요청 성공 여부 표시

응답 예시

{
    "code": 200,
    "data": {
        "content": "마크다운 형식의 상세한 이미지 설명..."
    },
    "succeed": true,
    "msg": "성공"
}

오류 코드

코드메시지설명
200OK요청 성공
500SERVER_ERROR서버 내부 오류
10003INSUFFICIENT_CREDITS크레딧 부족
10004INVALID_PARAM잘못된 매개변수
10005HARMFUL_CONTENT유해 콘텐츠 감지
30001INVALID_API_KEY잘못된 API 키
30002INVALID_SIGNATURE잘못된 요청 서명

코드 예제

이미지 URL을 사용한 Curl 예제

curl --location 'https://imagedescriber.online/api/openapi-v2/describe-image' \
--header 'Authorization: Bearer ${SECRET_KEY}' \
--form 'image="https://persistent.imagedescriber.online/image-describer-examples/000.jpg"' \
--form 'prompt="이미지의 내용을 간단히 설명해주세요"' \
--form 'lang="ko"'

로컬 이미지 파일을 사용한 Curl 예제

curl --location 'https://imagedescriber.online/api/openapi-v2/describe-image' \
--header 'Authorization: Bearer ${SECRET_KEY}' \
--form 'image=@"/PATH/TO/YOUR/IMAGE.jpg"' \
--form 'prompt="이미지의 내용을 간단히 설명해주세요"' \
--form 'lang="ko"'

이미지 Base64를 사용한 Curl 예제

curl --location 'https://imagedescriber.online/api/openapi-v2/describe-image' \
--header 'Authorization: Bearer ${SECRET_KEY}' \
--form 'image="data:image/jpeg;base64,/9j……/9k="' \
--form 'prompt="이미지의 내용을 간단히 설명해주세요"' \
--form 'lang="ko"'

Node.js 예제

async function callDescribeImageApi() {
  const apiKey = 'YOUR_API_KEY'; // 실제 API 키로 교체하세요

  const formData = new FormData();
  formData.append('image', ...); // url, 이미지 파일, 이미지 base64 인코딩 지원
  formData.append('prompt', '이미지의 내용을 간단히 설명해주세요');
  formData.append('lang', 'ko'); // 응답 언어 코드

  const apiEndpoint = 'https://imagedescriber.online/api/openapi-v2/describe-image';
  try {
    const response = await fetch(apiEndpoint, {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${apiKey}`,
      },
      body: formData,
    });

    if (!response.ok) {
      const errorData = await response.json();
      throw new Error(`HTTP error ${response.status}: ${errorData.msg || '알 수 없는 오류'}`);
    }

    const data = await response.json();
    return { content: data.data.content, error: null };

  } catch (error) {
    console.error('이미지 설명 생성 중 오류 발생:', error);
    return { content: null, error: error.message };
  }
}

Python 예제

import requests
import base64

async def call_describe_image_api():
    api_key = 'YOUR_API_KEY'  # 실제 API 키로 교체하세요

    form_data = {
        'image': 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD...',  # Base64 이미지 예시. 실제 이미지 데이터로 교체하세요. url, 파일, base64 지원.
        'prompt': '이미지의 내용을 간단히 설명해주세요',
        'lang': 'ko' # 응답 언어 코드
    }

    api_endpoint = 'https://imagedescriber.online/api/openapi-v2/describe-image'
    try:
        headers = {
            'Authorization': f'Bearer {api_key}',
        }

        response = requests.post(api_endpoint, files=form_data, headers=headers) # multipart/form-data에는 files= 사용
        response.raise_for_status()  # 오류 상태 코드(4xx 또는 5xx)에 대해 예외 발생

        data = response.json()
        return {'content': data.get('data', {}).get('content'), 'error': None}

    except requests.exceptions.RequestException as e:
        print(f'이미지 설명 생성 중 오류 발생: {e}')
        return {'content': None, 'error': str(e)}

가격

API 호출은 계정의 크레딧을 소비합니다. 가격 페이지에서 크레딧을 구매할 수 있습니다.

가격 보기 →

도움말 및 지원

질문이나 도움이 필요하시면 언제든지 지원 팀에 문의해 주세요.

이메일: [email protected]