Grok Imagine
curl --request POST \
--url https://api.mixroute.ai/v1/images/generationsimport requests
url = "https://api.mixroute.ai/v1/images/generations"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://api.mixroute.ai/v1/images/generations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mixroute.ai/v1/images/generations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mixroute.ai/v1/images/generations"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mixroute.ai/v1/images/generations")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixroute.ai/v1/images/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body画像シリーズ
Grok Imagine
Grok Imagineの画像生成フィールド、モデルの制約、およびリクエスト例。
Grok Imagine
curl --request POST \
--url https://api.mixroute.ai/v1/images/generationsimport requests
url = "https://api.mixroute.ai/v1/images/generations"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://api.mixroute.ai/v1/images/generations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mixroute.ai/v1/images/generations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mixroute.ai/v1/images/generations"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mixroute.ai/v1/images/generations")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixroute.ai/v1/images/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_bodyxAIの画像生成リクエスト形式を使用して、Grok Imagineで画像を生成します。
POST https://api.mixroute.ai/v1/images/generations
モデル
| モデルID | 機能と制限 |
|---|---|
grok-imagine-image-2.0 | 生成・編集、品質の選択、および最大5つの編集用参照。 |
grok-imagine-image-quality | 旧世代の生成・編集モデルです。Image 2.0のqualityパラメーターは送信しないでください。 |
grok-imagine-image | 旧世代の生成・編集モデルです。Image 2.0のqualityパラメーターは送信しないでください。 |
リクエストパラメーター
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
model | string | はい | 完全なGrok ImagineモデルID。 |
prompt | string | はい | 要求する画像または編集内容のテキスト説明。 |
n | integer | いいえ | 画像の枚数。1~10、デフォルトは1。 |
aspect_ratio | string | いいえ | 出力のアスペクト比です。以下の一覧を参照してください。生成時のデフォルトはautoです。編集時は、具体的な比率を指定しない限り、通常は最初の入力画像に従います。 |
resolution | string | いいえ | 1k(デフォルト)または2k。小文字のkを使用します。 |
quality | string | いいえ | Grok Imagine Image 2.0のみ:low、medium、またはauto(デフォルト)。現在、Autoは生成時にlow、編集時にmediumを選択します。 |
response_format | string | いいえ | url(デフォルト)またはb64_json。 |
user | string | いいえ | 不正利用の監視に使用する、安定したエンドユーザー識別子。生の個人データは使用しないでください。 |
storage_options | object | いいえ | 任意のネイティブFiles APIストレージ設定です。ルートが使用する上流アカウントでの権限が必要です。 |
storage_options.filename | string | 条件付き | storage_optionsを指定する場合は必須です。保存時のファイル名を指定します。拡張子によって生成コンテンツのタイプが変わることはありません。 |
storage_options.expires_after | integer | いいえ | 保存ファイルの有効期間。3600~2592000秒。自動的に期限切れにしない場合は省略します。 |
storage_options.public_url | boolean | object | いいえ | trueは公開URLを要求します。永続的な公開URLの作成を避けるには、省略するかfalseにします。オブジェクトで有効期間を設定できます。 |
storage_options.public_url.expires_after | integer | いいえ | 公開URLの有効期間。3600~2592000秒。デフォルトはファイルの有効期間と同じで、設定済みのファイル有効期限を超えることはできません。 |
アスペクト比
auto, 1:1, 3:4, 4:3, 9:16, 16:9, 2:3, 3:2, 9:19.5, 19.5:9, 9:20, 20:9, 1:2, 2:1, 21:9, 5:2
21:9と5:2はImage 2.0で追加されました。以前のモデルでは、それ以外のサポートされる比率を使用してください。GPT Imageのsizeフィールドではなく、aspect_ratioとresolutionを使用します。
例
環境変数MIXROUTE_API_KEYにMixRouteのキーを設定してください。リクエストはAuthorization: Bearer ...を使用します。編集前に、元画像のプレースホルダーをアクセス可能な画像またはローカルファイルに置き換えてください。
curl --request POST "https://api.mixroute.ai/v1/images/generations" \
--header "Authorization: Bearer $MIXROUTE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "grok-imagine-image-2.0",
"prompt": "A clean product photograph of a red ceramic mug on a white background.",
"n": 1,
"aspect_ratio": "1:1",
"resolution": "1k",
"quality": "low",
"response_format": "url"
}'
Python
import json
import os
import requests
payload = json.loads(r'''
{
"model": "grok-imagine-image-2.0",
"prompt": "A clean product photograph of a red ceramic mug on a white background.",
"n": 1,
"aspect_ratio": "1:1",
"resolution": "1k",
"quality": "low",
"response_format": "url"
}
''')
response = requests.post(
"https://api.mixroute.ai/v1/images/generations",
headers={"Authorization": "Bearer " + os.environ["MIXROUTE_API_KEY"]},
json=payload,
timeout=180,
)
response.raise_for_status()
result = response.json()
for item in result["data"]:
print(item.get("url") or item.get("b64_json"))
レスポンス
data[].urlから一時的な画像URLを読み取るか、data URIの接頭辞を含まないdata[].b64_jsonをデコードします。mime_typeはエンコーディングを示します。ネイティブストレージを要求した場合、file_outputにファイル情報が含まれます。ストレージまたは公開URLのエラーと、生成の失敗は別のものです。
Grokによる画像編集