Seedance 2.5がEvoLinkで利用可能にSeedance 2.5を試す
リクエストからコールバックと保存までを示す Grok Imagine Image 2.0 非同期 API パイプライン
チュートリアル

EvoLink で Grok Imagine Image 2.0 API を使う方法

Jacey
Jacey
Founder
2026年8月12日
25 分
このガイドでは、EvoLink ユーザーを API キーから Grok Imagine Image 2.0 タスクの完了まで説明します。最小パスは次のとおりです。POST /v1/images/generationsmodel: "grok-imagine-image-2.0" とともに送信し、返されたタスク id を保存し、タスクが completed または failed に達するまで GET /v1/tasks/{task_id} をクエリします。
同じルートでテキストから画像への編集と画像の編集も処理されます。テキストから生成するには image_urls を省略します。編集または参照から作成するための 1 ~ 3 つの公開画像 URL を含めます。現在の価格と対話型テストについては、Grok Imagine Image 2.0 モデル ページ を使用してください。この記事では、完全なパラメーター リファレンスを複製するのではなく、アプリケーション フロー、障害処理、ストレージ、およびモデルのフォールバックに焦点を当てます。
EvoLink で Grok Imagine Image 2.0 を開く
最終確認日: 2026 年 8 月 12 日。
視覚的な開示: このガイドの表紙とサポート画像は、ワークフローの図として GPT Image 2 を使用して生成されました。 Grok Imagine Image 2.0 出力サンプルではありません。

あなたが構築するもの

このガイドを終えると、アプリケーションで次のことができるようになります。

  1. テキストから画像へのタスクを作成します。
  2. モデル ID を変更せずに参照編集に切り替えます。
  3. マルチイメージ プロンプトでインデックス付き参照を使用します。
  4. ID によって非同期タスクを追跡します。
  5. 完了コールバックを安全に受け入れます。
  6. 24 時間の URL が期限切れになる前に結果を保持します。
  7. 最終的な使用量と失敗したタスクの払い戻しを調整します。
  8. ワークロードまたはタスクの結果で必要な場合は、フォールバック ルートにハンドオフします。
最初にリリースの確認済み情報とテスト範囲を確認する場合は、Grok Imagine Image 2.0 リリースガイドをご覧ください。このガイドは実装に焦点を当てます。

始める前に

EvoLink API キー管理 から API キーを作成します。キーをサーバー側のシークレット ストアまたは環境変数に保存します。ブラウザの JavaScript、パブリック リポジトリ、分析イベント、スクリーンショット、またはクライアント エラー レポートで決して公開しないでください。
アイテム現在の EvoLink 契約
ベースURLhttps://api.evolink.ai
タスクの作成POST /v1/images/generations
クエリタスクGET /v1/tasks/{task_id}
認証Authorization: Bearer YOUR_API_KEY
モデルgrok-imagine-image-2.0
テキストから画像へimage_urlsを省略
画像編集1 ~ 3 個のパブリック HTTP/HTTPS 画像 URL を指定します
出力1K/2K、低/中、n=1-10
処理非同期タスク
結果の有効期間24時間
権限のあるフィールドのリストは Grok Imagine Image 2.0 API ドキュメント です。公開後に契約が変更される可能性があるため、展開する前に再確認してください。

ステップ 1: API キーをサーバー側に保持する

シェル テストの場合は、環境変数にキーを設定します。

export EVOLINK_API_KEY="your_api_key"
以下の例では ${EVOLINK_API_KEY} を使用します。コミットされるコード内の実際のキーに置き換えないでください。

ステップ 2: テキストから画像へのタスクを作成する

image_urls を省略してプロンプトを送信します。
curl --request POST "https://api.evolink.ai/v1/images/generations" \
  --header "Authorization: Bearer ${EVOLINK_API_KEY}" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "grok-imagine-image-2.0",
    "prompt": "Editorial product photograph of a teal glass perfume bottle on pale limestone, warm coastal morning light, restrained luxury art direction, no text or logos",
    "size": "1:1",
    "resolution": "1K",
    "quality": "medium",
    "n": 1
  }'
作成応答は非同期タスクを表します。 id をすぐに保存します。
{
  "id": "task-unified-1757156493-imcg5zqt",
  "model": "grok-imagine-image-2.0",
  "object": "image.generation.task",
  "progress": 0,
  "status": "pending",
  "type": "image",
  "usage": {
    "billing_rule": "per_call",
    "credits_reserved": 3.06,
    "user_group": "default"
  }
}

上記の予約金額は文書化された例であり、価格の約束や最終的な料金ではありません。現在の価格設定には現在のモデル ページを使用し、最終的な使用にはターミナル タスクの応答を使用します。

ステップ 3: 非同期タスクをクエリする

送信からコールバックと永続保存までの Grok Imagine Image 2.0 非同期タスクワークフロー
送信からコールバックと永続保存までの Grok Imagine Image 2.0 非同期タスクワークフロー

※この画像はワークフロー図としてGPT Image 2で生成したものです。これは、Grok Imagine Image 2.0 の出力サンプルまたは品質結果ではありません。*

返された id をタスク エンドポイントに追加します。値の前後に中括弧を含めないでください。
curl --request GET \
  "https://api.evolink.ai/v1/tasks/task-unified-1757156493-imcg5zqt" \
  --header "Authorization: Bearer ${EVOLINK_API_KEY}"
このルートの場合、クエリ応答は processingcompleted、または failed を使用します。完了した応答には、results、構造化された result_data、および最終的な usage が含まれます。
{
  "id": "task-unified-1757156493-imcg5zqt",
  "model": "grok-imagine-image-2.0",
  "object": "image.generation.task",
  "progress": 100,
  "status": "completed",
  "results": ["https://cdn.evolink.ai/images/generated-image.jpg"],
  "result_data": [
    {
      "url": "https://cdn.evolink.ai/images/generated-image.jpg",
      "mime_type": "image/jpeg"
    }
  ],
  "type": "image",
  "usage": {
    "credits_used": 3.06,
    "cost": {
      "credits": 3.06,
      "cny": 0.31,
      "usd": 0.05
    }
  }
}

これらの数値は応答値の例です。独自の端末タスクによって返された値を記録します。この例を顧客への請求額の計算に使用しないでください。

ステップ 4: 制御されたポーリングを追加する

ポーリングは端末ステータスで停止し、リクエスト間でバックオフし、アプリケーションのタイムアウトを強制する必要があります。次のサーバー側 TypeScript の例では、タスク ワークフローが明示的に保たれています。

type GrokTaskStatus = "processing" | "completed" | "failed";

type GrokTask = {
  id: string;
  status: GrokTaskStatus;
  progress: number;
  results?: string[];
  error?: {
    code: string;
    message: string;
    type: "task_error";
  };
};

const API_BASE_URL = "https://api.evolink.ai";

async function getTask(apiKey: string, taskId: string): Promise<GrokTask> {
  const response = await fetch(`${API_BASE_URL}/v1/tasks/${taskId}`, {
    headers: { Authorization: `Bearer ${apiKey}` },
    cache: "no-store",
  });

  if (!response.ok) {
    throw new Error(`Task query failed with HTTP ${response.status}`);
  }

  return response.json() as Promise<GrokTask>;
}

async function waitForTask(
  apiKey: string,
  taskId: string,
  timeoutMs = 180_000,
): Promise<GrokTask> {
  const startedAt = Date.now();
  let intervalMs = 2_000;

  while (Date.now() - startedAt < timeoutMs) {
    const task = await getTask(apiKey, taskId);

    if (task.status === "completed" || task.status === "failed") {
      return task;
    }

    await new Promise((resolve) => setTimeout(resolve, intervalMs));
    intervalMs = Math.min(Math.round(intervalMs * 1.5), 10_000);
  }

  throw new Error("Grok Imagine Image 2.0 task timed out in the application");
}

アプリケーションのタイムアウトは、上流のタスクが失敗したことを証明するものではありません。生成を再試行する前に、元のタスクを再度クエリするか、独自のジョブ レイヤーで冪等性戦略を使用します。そうしないと、クライアントのタイムアウトによって重複した請求可能なタスクが作成される可能性があります。

ステップ 5: 単一参照編集に切り替える

モードを切り替えるために image_urls を追加します。入力画像は、HTTP または HTTPS を通じてパブリックにアクセスできる必要があります。現在の契約では、base64 およびデータ URL はサポートされていません。サポートされている拡張子は、JPEG、JPG、PNG、WebP です。
curl --request POST "https://api.evolink.ai/v1/images/generations" \
  --header "Authorization: Bearer ${EVOLINK_API_KEY}" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "grok-imagine-image-2.0",
    "prompt": "Move the chair into a quiet rain-soaked garden room. Preserve the chair shape, teal upholstery, camera angle, and scale. Change only the environment and reflected light.",
    "image_urls": [
      "https://example.com/chair.webp"
    ],
    "size": "4:3",
    "resolution": "1K",
    "quality": "medium",
    "n": 1
  }'

アプリケーションは、有料タスクを作成する前に、カウント、プロトコル、ファイル タイプ、およびサーバーの到達可能性を検証する必要があります。サインインしたブラウザーで機能する URL でも、生成サービスにアクセスできない場合があります。

ステップ 6: 複数の参照を使用して作成する

2 つまたは 3 つの参照イメージの場合は、プロンプトで 0 から始まるインデックスを使用します。インデックスは image_urls 内の位置にマップされます。
curl --request POST "https://api.evolink.ai/v1/images/generations" \
  --header "Authorization: Bearer ${EVOLINK_API_KEY}" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "grok-imagine-image-2.0",
    "prompt": "Place the person from <IMAGE_0> in the architectural setting from <IMAGE_1>, carrying the blue sculptural bag from <IMAGE_2>. Preserve the outfit silhouette and match the late-afternoon direction of light.",
    "image_urls": [
      "https://example.com/person.webp",
      "https://example.com/location.webp",
      "https://example.com/bag.webp"
    ],
    "size": "3:4",
    "resolution": "2K",
    "quality": "medium",
    "n": 1
  }'

プロンプトを使用して正確な配列順序を保存します。ユーザー インターフェイスでアップロードの順序を変更できる場合は、配列ラベルとインデックス ラベルを一緒に更新します。

ステップ 7: ワークフローの段階ごとにパラメータを選択する

Grok Imagine Image 2.0 は、13 の比率に加えて、auto、1K/2K 解像度、低/中品質、および n=1-10 をサポートします。
パラメータそれを使って決めるプロダクションルール
size出荷形状またはモデル選択 auto送信する前に文書化された比率列挙型と照合して検証してください
resolution1K ドラフト/レビュー vs 2K 配信候補4K は送信しないでください。ルートはそれをサポートしていません
qualityより高速かつ低コストの探索を行う場合は低、詳細を求める場合は中実際の受け入れ基準に照らして層を評価する
n独立した出力の数各出力は個別に請求されるため、製品のアクションと予算ごとに上限を設ける
image_urlsテキストのみの生成と参照編集テキストから画像への変換の場合は完全に省略します。最大 3 つの URL を受け入れます

任意のクライアント JSON を API に直接渡すのではなく、リクエスト許可リストを使用します。これにより、サポートされていないフィールド、過剰なバッチ、内部コールバック URL がルートに到達するのを防ぎます。

ステップ 8: 本番環境の完了にコールバックを使用する

アプリケーションがパブリック HTTPS エンドポイントを公開できる場合は、callback_url を渡します。
{
  "model": "grok-imagine-image-2.0",
  "prompt": "A clean ecommerce product scene with soft daylight",
  "callback_url": "https://your-domain.com/webhooks/evolink/image-task"
}

現在の契約では、タスクが完了、失敗、またはキャンセルされたときに、請求確認後にコールバックが送信されると規定されています。 EvoLink は最大 10 秒待機し、失敗したコールバックを 1、2、4 秒後に 3 回再試行する可能性があります。 2xx 応答は配信が成功したことを示します。

べき等になるように受信機を設計します。

  1. EvoLink アカウントと Webhook セットアップがサポートするメカニズムを使用してリクエストを認証します。
  2. タスク ID と予想されるモデルを検証します。
  3. 配信ごとに新しい結果を挿入するのではなく、タスク ID によって更新/挿入を行います。
  4. 永続的な永続性の後に 2xx を返します。
  5. 遅いダウンロードとレビュー作業をキューに移動します。
  6. Webhook の配信が確認できない場合は、回復パスとしてポーリングを継続します。

コールバック URL は HTTPS を使用する必要があり、ローカルホスト、プライベート IP 範囲、または内部サービス アドレスを指すことはできません。

ステップ 9: 有効期限が切れる前に結果を保存する

完成した画像の URL は 24 時間利用可能です。アプリケーションの永続的なストレージではなく、転送 URL として扱います。

完了後:

  1. タスクが現在のアカウントおよびジョブに属していることを確認します。
  2. results または result_data のすべての項目をダウンロードします。
  3. コンテンツ タイプとファイル サイズを検証します。
  4. ファイルを独自のオブジェクト ストレージに保存します。
  5. 永続的な URL とコンテンツ ハッシュを保存します。
  6. 生成パラメータを記録し、状態を確認します。
  7. 保持および削除ポリシーを参照入力と出力に適用します。
n が 1 より大きい場合は、生成順に独立した結果 URL が期待されます。製品が意図的に 1 つの結果を選択する場合を除き、最初の項目だけを永続化しないでください。

ステップ 10: 失敗と請求を正しく処理する

作成応答ではクレジットが予約される場合がありますが、端末の使用量が請求の対象となります。 EvoLink のタスク契約によれば、最終的な failed タスクは、アップストリームの拒否、コンテンツ モデレーション ブロック、タイムアウトを含めて全額返金されます。
結果アプリケーションアクション請求アクション
completedすべての結果を保持し、受け入れチェックを実行し、ジョブを完了としてマークします最終的な usage とコストの内訳を保存する
failed 再試行可能なインフラストラクチャ エラーが発生しました上限付きバックオフを適用するか、検証済みのフォールバックにルーティングします最終料金がゼロ/返金されたことを確認する
failed コンテンツ ポリシー エラーあり実行可能なプロンプト/入力メッセージを表示します。ブラインドリトライを行わないでください返金を確認し、エラーコードを保管してください
アプリケーションポーリングタイムアウト別のタスクを作成する前に同じタスクを再クエリするタイムアウトが払い戻しまたは失敗を意味するとは考えないでください
タスク作成前のリクエストが無効です検証または権限を修正する調整する非同期タスクが存在しません
最終的なタスクの状態を確認せずに、失敗したエクスペリエンスはすべて無料であるとユーザーに約束しないでください。完成したイメージの品質が低くても、まだ完了したタスクです。製品内の品質拒否は、API レベルの failed ステータスとは異なります。

ポーリング前にリクエストレベルの HTTP エラーを処理する

一部の障害は、非同期タスクが作成される前に発生します。現在の API リファレンスでは、次のリクエスト レベルの応答が文書化されています。

HTTPステータス文書化された意味アプリケーションの応答
400無効なリクエストパラメータまたはフォーマットです再試行する前に、リクエストのホワイトリスト、必須フィールド、列挙型、URL 数、および JSON 形式を検証してください。
401認証エラーサーバーが有効なベアラー キーを送信したことを確認します。クライアントログにキーを決して公開しないでください
402割り当てが不十分です自動再試行を停止し、アカウント所有者にリチャージまたは予算の調整を指示します。
403アクセスが拒否されましたプロンプトをやみくもに変更するのではなく、アカウントまたはルートの権限を確認します。
429リクエストレート制限を超えました制限付き指数バックオフを適用し、作業をキューに入れます。即時再試行をファンアウトしない
500内部サーバーエラー上限のあるインフラストラクチャ ポリシーに基づいてのみ再試行し、ジョブで許可されている場合は検証済みのフォールバックを使用します。
作成応答がタスク id を返した場合にのみポーリングを開始します。リクエストレベルのエラーには、レコードを照会したり、調整するためにレコードを払い戻したりするための非同期タスクはありません。

ステップ 11: フォールバック ルーティングを追加する

再試行、代替ルート、失敗タスクの予約取消を示す本番フォールバックワークフロー
再試行、代替ルート、失敗タスクの予約取消を示す本番フォールバックワークフロー
これは、GPT Image 2 によって生成されたワークフローの図であり、ペア モデルのベンチマークではありません。

統合では、製品ジョブをプロバイダー固有のモデル ID から分離する必要があります。

type ImageRoute = "grok-imagine-image-2.0" | "gpt-image-2";

type ImageJob = {
  prompt: string;
  imageUrls: string[];
  requiresMask: boolean;
  requires4K: boolean;
};

function chooseImageRoute(job: ImageJob): ImageRoute {
  if (job.requiresMask || job.requires4K || job.imageUrls.length > 3) {
    return "gpt-image-2";
  }

  return "grok-imagine-image-2.0";
}

この例は契約レベルの開始ポリシーであり、1 つのモデルがより良い画像を生成するという主張ではありません。意味のあるトラフィックをルーティングする前に、独自の受け入れデータ、遅延、コスト、モデレーション、および可用性の観察を追加します。

完全な選択フレームワークについては、Grok Imagine Image 2.0 と GPT Image 2 を参照してください。

本番引継ぎチェックリスト

  • API キーはサーバー側のシークレット マネージャーに保存されます。
  • リクエスト本文の許可リストが現在の EvoLink ドキュメントと一致します。
  • モデル ID はルート設定で一元化されます。
  • 参照画像は公開されており、検証済みであり、3 つに制限されています。
  • 複数参照インデックスは、永続化された入力順序と一致します。
  • ポーリングは完了/失敗すると停止し、バックオフを使用します。
  • アプリケーションがタイムアウトしても、重複したタスクは自動的に作成されません。
  • コールバック処理は冪等で高速です。
  • 結果ファイルは 24 時間の有効期限が切れる前にコピーされます。
  • 最終的な使用量は、予約されたクレジットとは別に保存されます。
  • 失敗したタスクの払い戻しは調整されます。
  • 再試行可能なエラーと再試行不可能なエラーが分離されます。
  • 必要な機能または停止に対して、テスト済みのフォールバック ルートが存在します。
  • ログには API キーと機密参照 URL が除外されます。

よくある質問

Grok Imagine Image 2.0 タスクを作成するエンドポイントはどれですか?

Bearer 認証と必須の model および prompt フィールドで POST https://api.evolink.ai/v1/images/generations を使用します。

どのモデル ID を送信すればよいですか?

現在の EvoLink ルートに対して grok-imagine-image-2.0 を送信します。

生成から編集に切り替えるにはどうすればよいですか?

モデル ID は変更しないでください。テキストから画像への image_urls を省略するか、編集用に 1 ~ 3 つの URL を渡します。

Base64 の画像データを送信できますか?

いいえ。現在の契約では、公的にアクセス可能な HTTP または HTTPS URL を受け入れますが、base64 またはデータ URL はサポートしていません。

結果をクエリするにはどうすればよいですか?

create 呼び出しによって返されたタスク id を保存し、同じベアラー認証パターンで GET https://api.evolink.ai/v1/tasks/{task_id} を送信します。

ポーリングするべきですか、それともコールバックを使用すべきですか?

通常の運用完了とポーリングには、回復パスとしてコールバックを使用します。単純なサーバー側プロトタイプは、バックオフ ポーリングから開始できます。

完成した画像リンクはどのくらいの期間有効ですか?

現在のドキュメントには 24 時間と記載されています。完了したファイルは直ちに永久ストレージにコピーしてください。

失敗したタスクは課金されますか?

最終的な failed 状態に達したタスクは、現在の EvoLink タスクのドキュメントに従って全額返金されます。完成した画像が独自の品質レビューで拒否された場合は、API の失敗と同じではありません。

4K または高品質をリクエストできますか?

いいえ。このルートは現在、1K/2K と低/中をサポートしています。 4K または高が必須の場合は、別の検証済みルートを使用してください。

Grok と別のイメージ ルートをどこで比較できますか?

Grok Imagine Image 2.0 対 GPT Image 2 意思決定ガイド を使用し、独自のペア テスト セットで両方を検証します。

情報源

このガイドは、2026 年 8 月 12 日に検証された EvoLink 契約を反映しています。出荷前に API ドキュメント、特にモデル フィールド、出力制限、コールバック動作、およびタスク応答スキーマを再確認してください。

AIコストを89%削減する準備はできましたか?

今すぐEvoLinkを始めて、インテリジェントなAPIルーティングの力を体験してください。