Imgix APIs生成 API代替テキスト生成

代替テキスト生成

Generations APIは、Imgix画像のAI生成代替テキストを生成できます。これはスクリーンリーダーなどの支援技術向けに書かれます。1回の呼び出しで複数の言語の代替テキストをリクエストできます。

生成されたテキストが適切でない場合は、言語ごとに手動オーバーライドを設定して編集することもできます。オーバーライドはAI生成テキストと並んで保存され、その画像の代替テキストがリクエストされたときに常に優先されます。

動画生成とは異なり、代替テキスト生成は同期です。生成されたテキストはレスポンスで直接返され、ポーリングすべきジョブはありません。

認証

Generations APIへのすべての呼び出しには、任意の権限(請求、アセットマネージャー読み取りなど)を持つAPIキーが必要です。キーを作成するには、ダッシュボードのAPIキービューに移動してください。APIキーのアカウントは、画像を配信するソースを所有している必要があります。

代替テキスト操作

エンドポイントメソッド説明
/v1/generations/alt-textGET1つ以上の言語で画像の代替テキストを生成します。
/v1/generations/alt-textPOST言語ごとに画像の代替テキストの手動オーバーライドを設定・削除します。

代替テキストの生成

代替テキストを生成するには、urlまたはurl64で画像を指定して、/v1/generations/alt-textGETリクエストを送信します。

リクエストパラメータ

パラメータ必須説明
urlStringurl/url64のいずれかクエリパラメータを含まないプレーンなImgixレンダリングURL(例:https://assets.imgix.net/photo.jpg)。
url64Stringurl/url64のいずれかbase64urlでエンコードされたImgixレンダリングURL。URLがAI生成パラメータなどのクエリパラメータを含む場合に使用します。
languageStringいいえBCP-47言語コード。複数の言語を指定するには、パラメータを繰り返すか、カンマ区切りのリストを渡します。デフォルトはenです。
regenerateBooleanいいえキャッシュをスキップして、サポートされているすべての言語で代替テキストを再生成します。画像のすべての手動オーバーライドも削除されるため、レスポンスには新しいAI生成テキストのみが含まれます。デフォルトはfalseです。

注意: urlまたはurl64のいずれか一方のみを指定してください。クリーンな画像URLにはurlを使用し、 URLにクエリパラメータが含まれる場合(例:text2imageで生成された画像)はurl64を使用します。

サポート言語

代替テキストは以下の言語で生成できます。これら以外の言語をリクエストすると、400レスポンスが返されます。

コード言語
en英語
frフランス語
deドイツ語
itイタリア語
esスペイン語

レスポンス

レスポンスには、リクエストした言語コードをキーとするalt_textオブジェクトと、生成できなかったリクエスト済み言語を列挙するfailed_languages配列が含まれます。

属性説明
alt_textObjectリクエストした各言語について、言語コードと代替テキスト文字列のマップ。手動オーバーライドが設定されている言語は、AI生成テキストではなくオーバーライドのテキストを返します。
failed_languagesArrayリクエストされたが生成できなかった言語コード。完全に成功した場合は空です。
overridden_languagesArrayalt_textの値がAI生成ではなく手動オーバーライドから返された、リクエスト済み言語コード。
GET api/v1/generations/alt-text?url=https://assets.imgix.net/photo.jpg&language=en,fr

パラメータを含むURLの代替テキストを生成する

画像URLにクエリパラメータが含まれる場合(例:text2imageで作成されたAI画像)は、完全なURLをbase64urlでエンコードしてurl64として渡します。

# プレーンなURL(クエリパラメータを含む):
# https://assets.imgix.net/ai?text2image=true&prompt=a serene mountain lake at sunset
 
GET api/v1/generations/alt-text?url64=aHR0cHM6Ly9hc3NldHMuaW1naXgubmV0L2FpP3RleHQyaW1hZ2U9dHJ1ZSZwcm9tcHQ9YSBzZXJlbmUgbW91bnRhaW4gbGFrZSBhdCBzdW5zZXQ&language=en

代替テキストの編集

AI生成の説明文を調整したい場合 — 例えば商品名を含めたい、ブランドのトーンに合わせたいなど — は、/v1/generations/alt-textPOSTリクエストを送信して、言語ごとに手動オーバーライドを設定できます。オーバーライドはAI生成テキストより優先されます。設定すると、GETエンドポイントはその言語についてユーザーのテキストを返し、overridden_languagesにその言語を列挙します。

オーバーライドは、すでに代替テキストが生成されている画像に対してのみ設定できます。先にGETリクエストで生成してください。生成済みの代替テキストがない画像へのPOST409を返します。

リクエストボディ

リクエストボディはJSONオブジェクトで、urlまたはurl64のいずれか一方で画像を指定し(GETエンドポイントと同じ扱い)、適用するオーバーライドをalt_textオブジェクトで渡します。

フィールド必須説明
urlStringurl/url64のいずれかクエリパラメータを含まないプレーンなImgixレンダリングURL。
url64Stringurl/url64のいずれかbase64urlでエンコードされたImgixレンダリングURL。クエリパラメータを含むURLに使用します。
alt_textObjectはい言語コードとオーバーライドテキストのマップ。値をnullにするとその言語のオーバーライドが削除され、AI生成テキストに戻ります。少なくとも1つの言語を含める必要があります。

サポート言語の任意のサブセットについて、1回のリクエストでオーバーライドの設定と削除ができます。オーバーライドテキストは空にできず(削除には空文字列ではなくnullを使用)、言語ごとに最大2,000文字です。

レスポンス

属性説明
alt_textObject設定されたオーバーライド。言語コードをキーとします。
removed_languagesArrayオーバーライドが削除された言語コード。
POST api/v1/generations/alt-text
{
  "url": "https://assets.imgix.net/photo.jpg",
  "alt_text": {
    "en": "Maya the havanese puppy sitting on a wooden floor, looking up at the camera",
    "fr": null
  }
}

オーバーライドとクレジット

オーバーライドの設定・削除はAIモデルを呼び出さないため、POSTリクエストは AIクレジットを消費しません。オーバーライドは、null値で削除するか、 regenerate=trueで画像の代替テキストを再生成する(画像のすべてのオーバーライドが 削除されます)まで保持されます。

ステータスコード

ステータスコード説明
200OK - 代替テキストが正常に生成(またはキャッシュから配信)されたか、オーバーライドが正常に適用されました。
400Bad Request - url/url64が欠落または無効、サポートされていない言語、または無効なオーバーライドテキスト(空、または2,000文字超過)です。
402Payment Required - アカウントのAIクレジットが枯渇しています(plan_credits_depleted_payment_required)。GETのみ。
403Forbidden - ソースで代替テキスト生成が有効になっていない、またはAPIキーがソースを所有していません。
409Conflict - POSTのみ。画像にまだ生成済みの代替テキストがありません。先にGETリクエストで生成してください。
500Internal Server Error - 画像を取得できなかった、リクエストされたすべての言語で生成に失敗した、またはオーバーライドを保存できませんでした。

クレジットの使用

代替テキスト生成は、アカウントのAIクレジットに対して計上されます。402レスポンスは アカウントのクレジットが枯渇していることを示します。残高が補充されると生成が再開されます。

代替テキストの生成

curl -X GET "https://api.imgix.com/api/v1/generations/alt-text?url=https://assets.imgix.net/photo.jpg&language=en,es" \
  -H "Authorization: Bearer YOUR_API_KEY"
# Response:
# {
#   "alt_text": {
#     "en": "a havanese puppy sitting on a wooden floor, looking up at the camera",
#     "es": "un cachorro habanero sentado en un suelo de madera, mirando a la cámara"
#   },
#   "failed_languages": [],
#   "overridden_languages": []
# }

代替テキストの編集

curl -X POST "https://api.imgix.com/api/v1/generations/alt-text" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://assets.imgix.net/photo.jpg",
    "alt_text": {
      "en": "Maya the havanese puppy sitting on a wooden floor, looking up at the camera"
    }
  }'
# Response:
# {
#   "alt_text": {
#     "en": "Maya the havanese puppy sitting on a wooden floor, looking up at the camera"
#   },
#   "removed_languages": []
# }