GPT Image
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画像シリーズ
GPT Image
GPT Imageの画像生成フィールド、モデルの制約、およびリクエスト例。
GPT Image
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_bodyGPT Imageモデル向けのOpenAI Imagesリクエスト形式を使用して、テキストから画像を生成します。
GPT Image 2で総ピクセル数が3686400を超える解像度は実験的です。これらのGPTモデルはBase64形式の画像データを返します。DALL-E専用の
POST https://api.mixroute.ai/v1/images/generations
モデル
| モデルID | 機能と制限 |
|---|---|
gpt-image-2.5-flare | 画像生成と編集向けの高速なGPT Image 2.5モデル。 |
gpt-image-2.5-sunburst | 精密な生成、高度な編集、細部まで作り込んだビジュアル素材向けのGPT Image 2.5モデル。 |
gpt-image-2 | 生成と編集。柔軟なサイズ指定に対応。入力の忠実度は高に固定。 |
gpt-image-1.5 | 生成と編集。標準の画像サイズ。 |
gpt-image-1 | 生成と編集。標準の画像サイズ。 |
リクエストパラメーター
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
model | string | はい | 上の表にある完全なモデルID。ルーティングのために明示的に設定してください。 |
prompt | string | はい | 希望する出力または編集内容の説明。最大32000文字。 |
n | integer | いいえ | 出力画像数。1〜10。デフォルトは1です。 |
size | string | いいえ | 出力サイズ、またはauto(デフォルト)。以下のモデル別のサイズルールを参照してください。 |
quality | string | いいえ | auto(デフォルト)、low、medium、またはhigh。GPT Image 2.5 Flare/Sunburstは、さらにxhighとmaxにも対応します。 |
background | string | いいえ | auto(デフォルト)、opaque、またはtransparent。透過にはPNGまたはWebPが必要です。GPT Image 2でのサポートはプレビュー段階です。 |
moderation | string | いいえ | auto(デフォルト)またはlow。モデルのコンテンツフィルタリングのレベルを制御します。 |
output_format | string | いいえ | 画像のエンコード形式: png(デフォルト)、jpeg、webpのいずれか。 |
output_compression | integer | いいえ | 圧縮設定は0~100で、デフォルトは100です。JPEGまたはWebPの出力にのみ適用されます。 |
stream | boolean | いいえ | trueの場合はサーバー送信イベントを返します。デフォルトはfalseです。 |
partial_images | integer | いいえ | ストリーミング専用の部分画像数です。0〜3を指定します。0の場合、中間画像なしで最終画像が送信されます。生成が早く完了すると、届く部分画像の数が指定数より少なくなる場合があります。 |
user | string | いいえ | エンドユーザーの安定した識別子で、不正利用の監視に使用します。生の個人情報は避けてください。 |
サイズのルール
| モデル | 指定可能なサイズ |
|---|---|
| GPT Image 1 / 1.5 | auto, 1024x1024, 1536x1024, 1024x1536 |
| GPT Image 2 / 2.5 | autoまたはWIDTHxHEIGHT。縦横の両辺は16で割り切れる必要があり、各辺は最大3840 px、長辺と短辺の比率は最大3:1、総ピクセル数は655360~8294400です。 |
response_formatやstyleを送信しないでください。
例
環境変数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": "gpt-image-2.5-flare",
"prompt": "A clean product photograph of a red ceramic mug on a white background.",
"size": "1024x1024",
"quality": "low",
"n": 1,
"output_format": "png"
}'
Python
import json
import os
import requests
payload = json.loads(r'''
{
"model": "gpt-image-2.5-flare",
"prompt": "A clean product photograph of a red ceramic mug on a white background.",
"size": "1024x1024",
"quality": "low",
"n": 1,
"output_format": "png"
}
''')
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()
import base64
from pathlib import Path
for index, item in enumerate(result["data"]):
Path(f"image_{index}.png").write_bytes(base64.b64decode(item["b64_json"]))
レスポンス
各画像をdata[].b64_jsonから取得し、リクエストしたoutput_formatでデコードします。ストリーミングでは、部分画像と完了画像のイベントが返されます。最終ファイルには、最後の完了イベントを使用してください。
GPT Imageの編集