画像記述ツール 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 | はい | 説明を生成する画像。3つの入力形式に対応: 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": "markdown形式での詳細な画像説明..."
},
"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="ja"'
ローカル画像ファイルを使用した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="ja"'
画像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="ja"'
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', 'ja'); // レスポンス言語コード
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': 'ja' # レスポンス言語コード
}
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コールはアカウントのクレジットを消費します。クレジットは料金ページで購入できます。
ヘルプとサポート
ご質問やサポートが必要な場合は、お気軽にサポートチームまでお問い合わせください。