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-typeはいmultipart/form-data である必要があります
authorizationはいBearer ${SECRET_KEY} の形式である必要があります
${SECRET_KEY} はあなたのAPIキーです。

リクエストパラメータ

パラメータ必須説明
imagestring または fileはい説明を生成する画像。3つの入力形式に対応:
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": "markdown形式での詳細な画像説明..."
    },
    "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="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コールはアカウントのクレジットを消費します。クレジットは料金ページで購入できます。

料金を見る →

ヘルプとサポート

ご質問やサポートが必要な場合は、お気軽にサポートチームまでお問い合わせください。

メール:[email protected]