Guide utilisateur
modèle de génération d'images

GPT Image 2

Décrit l'état d'intégration du modèle `gpt-image-2` dans le projet actuel, ainsi que les champs de requête et la structure de réponse de l'interface unifiée d'images.

  • La page conserve le chemin pour décrire l'état d'intégration dans le projet actuel
  • Interface unifiée d'images : POST /v1/images/generations
  • La réponse réussie est synchrone et renvoie un ImageResponse

État actuel de l'intégration

  • L'API Magick prend déjà en charge le modèle gpt-image-2

Conception de l'interface publique d'images

Routage des requêtes

POST /v1/images/generations

Structure de la réponse en cas de succès

{
  "created": 1712345678,
  "data": [
    {
      "url": "https://example.com/generated-image.png",
      "b64_json": "",
      "revised_prompt": ""
    }
  ]
}

Champs de requête standard

Le projet actuel garantit que les champs standard suivants sont correctement analysés par le DTO public d'images :

  • model
  • prompt
  • n
  • size
  • quality
  • response_format

Il est déconseillé de dépendre directement de champs non standardisés au niveau supérieur de l'interface publique d'images.

Exemples d'appel prêts à l'emploi

Les exemples suivants s'appliquent lorsque gpt-image-2 est déjà mappé comme modèle disponible dans le backend :

cURL

curl --request POST \
  --url https://api.magickapi.com/v1/images/generations \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "gpt-image-2",
    "prompt": "一只橘猫坐在窗台上看夕阳,水彩画风格",
    "n": 1,
    "size": "1024x1024",
    "response_format": "url"
  }'

Python

import requests

url = "https://api.magickapi.com/v1/images/generations"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
}
payload = {
    "model": "gpt-image-2",
    "prompt": "一只橘猫坐在窗台上看夕阳,水彩画风格",
    "n": 1,
    "size": "1024x1024",
    "response_format": "url",
}

response = requests.post(url, headers=headers, json=payload, timeout=300)
response.raise_for_status()

result = response.json()
print(result)
print("image_url:", result["data"][0]["url"])

Node.js

const url = "https://api.magickapi.com/v1/images/generations";
const payload = {
  model: "gpt-image-2",
  prompt: "一只橘猫坐在窗台上看夕阳,水彩画风格",
  n: 1,
  size: "1024x1024",
  response_format: "url",
};

const response = await fetch(url, {
  method: "POST",
  headers: {
    Authorization: "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify(payload),
});

if (!response.ok) {
  throw new Error(await response.text());
}

const result = await response.json();
console.log(result);
console.log("image_url:", result.data?.[0]?.url);

Si vous souhaitez obtenir directement le contenu en Base64, remplacez response_format par b64_json et lisez data[0].b64_json.

Édition d'images

Si le canal correspondant à ce modèle prend en charge les capacités d'édition, les points d'entrée unifiés du projet actuel sont :

  • POST /v1/images/edits
  • POST /v1/edits

Remarques

  • Les tâches d'images asynchrones sont prises en charge. Veuillez consulter les images générées dans 【Journal des tâches】 -> 【Journal de génération d'images】

Dernière mise à jour

Sommaire