이미지 설명기 API 문서 (V2)
2025-08-18
Posted by이미지 설명기 API 문서 (V2)
소개 및 사용 사례
이미지 설명기 API를 사용하면 AI 기반 이미지 설명 기능을 애플리케이션에 통합할 수 있습니다. 우리의 API는 고급 AI 모델을 사용하여 이미지를 분석하고 상세한 설명을 생성합니다.
일반적인 사용 사례
- 이미지의 상세한 설명 생성
- 이미지에서 텍스트 및 정보 추출
- 이미지 내용 및 맥락 분석
- 창작 글쓰기를 위한 캐릭터 설명 생성
- 콘텐츠 관리를 위한 이미지 캡션 생성
API 키
API를 사용하려면 API 자격 증명(API 키 및 시크릿)이 필요합니다. 대시보드에서 API 키를 관리할 수 있습니다.
API 엔드포인트
POST https://imagedescriber.online/api/openapi-v2/describe-image
통합 가이드
요청 헤더
헤더 이름 | 필수 | 설명 |
---|---|---|
content-type | 예 | multipart/form-data여야 합니다 |
authorization | 예 | Bearer ${SECRET_KEY} 형식이어야 합니다 **${SECRET_KEY}**는 귀하의 API 키입니다. |
요청 매개변수
매개변수 | 타입 | 필수 | 설명 |
---|---|---|---|
image | string 또는 file | 예 | 설명을 생성할 이미지. 세 가지 입력 형식을 지원합니다: 1. 이미지 URL: http:// 또는 https://로 시작. 2. Base64 인코딩 이미지: 형식: data:image/jpeg;base64,/9j/4AAQSkZJR... (참고: PNG 등 다른 이미지 유형도 가능, mime-type 적절히 조정) 3. 파일 객체: 모델 이미지를 나타내는 파일 객체. |
prompt | string | 예 | 이미지 분석을 위한 사용자 지정 프롬프트 |
lang | string | 아니오 | 응답 언어 (en/zh/de/es/fr/ja/ko/fi/nl/pt/tr/ru), 기본값: en |
응답 형식
필드 | 타입 | 설명 |
---|---|---|
code | number | 응답 상태 코드. 200은 성공을 의미 |
data | object | 응답 데이터 객체, code가 200일 때 존재 |
data.content | string | 이미지에 대해 생성된 설명 |
msg | string | 응답 메시지, 추가 정보 제공 |
succeed | boolean | 요청 성공 여부 표시 |
응답 예시
{
"code": 200,
"data": {
"content": "마크다운 형식의 상세한 이미지 설명..."
},
"succeed": true,
"msg": "성공"
}
오류 코드
코드 | 메시지 | 설명 |
---|---|---|
200 | OK | 요청 성공 |
500 | SERVER_ERROR | 서버 내부 오류 |
10003 | INSUFFICIENT_CREDITS | 크레딧 부족 |
10004 | INVALID_PARAM | 잘못된 매개변수 |
10005 | HARMFUL_CONTENT | 유해 콘텐츠 감지 |
30001 | INVALID_API_KEY | 잘못된 API 키 |
30002 | INVALID_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]