コンテンツにスキップ

Grok 画像フォーマット(Image)

📝 はじめに

Grok 画像生成インターフェースは OpenAI スタイルの REST API と互換性があり、POST /v1/images/generations を通じてテキストプロンプトに基づいた画像を生成します。agtcloud ゲートウェイ経由でリクエストを送信する場合、ベース URL として https://api-cs-al.naci-tech.com を使用し、API キーを付与してください。

モデル 説明
grok-imagine-image-pro 高品質で詳細なシーンに適した高度な画像モデル
grok-imagine-image 汎用的な画像生成モデル

💡 リクエスト例

画像の生成 ✅

# 基本的な画像生成(URL を返す)
curl https://api-cs-al.naci-tech.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "grok-imagine-image-pro",
    "prompt": "木の上にいる猫",
    "n": 1,
    "response_format": "url"
  }'

# 複数枚の画像を生成
curl https://api-cs-al.naci-tech.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "grok-imagine-image",
    "prompt": "木の上にいる猫",
    "n": 2,
    "response_format": "url"
  }'

# base64 形式で返す
curl https://api-cs-al.naci-tech.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "grok-imagine-image-pro",
    "prompt": "木の上にいる猫",
    "response_format": "b64_json"
  }'

# 画面比率(アスペクト比)を指定(任意)
curl https://api-cs-al.naci-tech.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "grok-imagine-image",
    "prompt": "日の出の山の風景",
    "aspect_ratio": "16:9"
  }'

# 解像度を指定(任意:1k / 2k)
curl https://api-cs-al.naci-tech.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "grok-imagine-image",
    "prompt": "日の出の山の風景",
    "resolution": "2k"
  }'

レスポンス例(response_format が url の場合):

{
  "created": 1589478378,
  "data": [
    {
      "url": "https://..."
    },
    {
      "url": "https://..."
    }
  ]
}

レスポンス例(response_format が b64_json の場合):

{
  "created": 1589478378,
  "data": [
    {
      "b64_json": "..."
    }
  ]
}

Python 呼び出し例(OpenAI スタイル REST):

"""
Grok 画像生成 API 呼び出し例(OpenAI スタイル REST)
- インターフェース:POST /v1/images/generations
"""

import requests

API_BASE = "https://api-cs-al.naci-tech.com"
API_KEY = ""

HEADERS = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json",
}


def generate_image(
    prompt: str,
    n: int = 1,
    response_format: str = "url",
):
    """
    Grok 画像モデルを使用して OpenAI スタイルで画像を生成します。
    """
    body = {
        "prompt": prompt,
        "model": "grok-imagine-image-pro",  # 選択肢:grok-imagine-image-pro, grok-imagine-image
        "response_format": response_format,
        "n": n,
    }

    resp = requests.post(
        f"{API_BASE}/v1/images/generations",
        headers=HEADERS,
        json=body,
        timeout=30,
    )
    if not resp.ok:
        try:
            err = resp.json()
        except Exception:
            err = resp.text
        print(f"[{resp.status_code}] {err}")
        resp.raise_for_status()
    return resp.json()


if __name__ == "__main__":
    # 例:2 枚の画像 URL を生成
    res = generate_image(
        prompt="木の上にいる猫",
        n=2,
        response_format="url",  # base64 が必要な場合は "b64_json" に変更
    )
    print("Response:", res)

📮 リクエスト

エンドポイント

エンドポイント:画像の生成

POST /v1/images/generations

テキストプロンプトに基づいて画像を生成します。xAI Image Generation と互換性があり、agtcloud ゲートウェイ経由のベース URL は https://api-cs-al.naci-tech.com です。

認証方法

リクエストヘッダーに以下を含めて API キー認証を行います。

Authorization: Bearer $API_KEY

ここで $API_KEY は agtcloud の API キーです。

リクエストボディパラメータ

パラメータ:画像の生成

prompt
  • 型:文字列
  • 必須:はい
  • 説明:生成したい画像のテキスト説明。
model
  • 型:文字列
  • 必須:はい
  • 説明:画像生成に使用するモデル。
  • grok-imagine-image-pro:高度な画像モデル
  • grok-imagine-image:汎用的な画像モデル
n
  • 型:整数
  • 必須:いいえ
  • デフォルト値:1
  • 説明:生成する画像の枚数。1〜10 の間である必要があります。
response_format
  • 型:文字列
  • 必須:いいえ
  • デフォルト値:url
  • 説明:生成された画像の返却形式。
  • url:一時的な画像 URL を返却(早めにダウンロードまたは処理することを推奨)
  • b64_json:base64 エンコードされた画像データを返却
aspect_ratio
  • 型:文字列
  • 必須:いいえ
  • 説明:生成される画像のアスペクト比(縦横比)。指定しない場合はモデルが自動的に選択します。指定可能な値の例:
アスペクト比 主な利用シーン
1:1 SNS、サムネイル
16:9 / 9:16 ワイドスクリーン、縦型、ストーリー
4:3 / 3:4 プレゼンテーション、ポートレート
3:2 / 2:3 写真
2:1 / 1:2 バナー、ヘッダー
19.5:9 / 9:19.5 一般的なスマートフォンの画面
20:9 / 9:20 超ワイドスクリーン
auto プロンプトに基づいてモデルが自動選択
resolution
  • 型:文字列
  • 必須:いいえ
  • 説明:生成される画像の出力解像度。現在サポートされているもの:
解像度 説明
1k 1k 解像度
2k 2k 解像度

参考:xAI Image Generation - Resolution

user
  • 型:文字列
  • 必須:いいえ
  • 説明:エンドユーザーを表す一意の識別子。監視やリスク管理に役立ちます。

📥 レスポンス

成功レスポンス

created

  • 型:整数
  • 説明:レスポンスが作成されたタイムスタンプ。

data

  • 型:配列
  • 説明:生成された画像オブジェクトのリスト。

画像オブジェクト

url

  • 型:文字列
  • 説明:response_formaturl の場合、生成された画像の一時的な URL。リンクには有効期限があるため、早めにダウンロードまたは使用してください。

b64_json

  • 型:文字列
  • 説明:response_formatb64_json の場合、生成された画像の base64 エンコードされたデータ。

🌟 注意事項と制限

  • 1 回のリクエストで生成可能な最大枚数:10 枚。
  • URL の有効期限:返却される URL は一時的なリンクです。速やかにダウンロードまたは処理を行ってください。
  • コンテンツモデレーション:生成される画像はコンテンツポリシーに従い、違反がある場合はフィルタリングされる可能性があります。
  • 出力形式:画像は通常 JPG 形式で提供されます。

画像編集やスタイル転送などの詳細な機能については、xAI Image Generation を参照してください。