Référence API
Utilisez l'API ouverte de GPT Image 2 pour générer et modifier des images par programmation. Authentifiez-vous avec votre propre clé API, payez avec des crédits et obtenez les résultats par polling.
Présentation
L'API GPT Image 2 vous permet de générer des images via votre compte GPT Image 2. Les requêtes utilisent la clé API de votre site et sont acheminées via notre intégration Kie côté serveur.
Créez une clé API depuis :
/settings/apikeysPuis appelez :
POST /api/v1/images/generations
GET /api/v1/images/tasks/{task_id}La génération d'images est asynchrone. L'endpoint de création renvoie un identifiant de tâche, et l'endpoint de tâche renvoie les URLs finales de l'image lorsque la génération réussit.
Authentification
Envoyez votre clé API GPT Image 2 en tant que token Bearer :
Authorization: Bearer sk-xxxN'exposez pas les clés API dans le code côté navigateur. Utilisez-les depuis votre backend, vos scripts ou vos fonctions serverless.
Facturation
L'utilisation de l'API consomme les mêmes crédits que l'application web :
| Opération | Coût en crédits |
|---|---|
| Génération d'image | 10 crédits par image |
Si une requête du fournisseur échoue avant qu'une tâche soit acceptée, les crédits consommés sont automatiquement remboursés par le flux d'échec de tâche.
Créer une génération d'image
Endpoint
POST https://gpt-image-2.art/api/v1/images/generationsCorps de la requête
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
model | string | Non | Utilisez gpt-image-2. Les alias internes gpt-image-2-text-to-image et gpt-image-2-image-to-image sont également pris en charge. |
prompt | string | Oui | Description textuelle de l'image. Obligatoire sauf si des image_urls sont fournis. |
image_urls | string[] | Non | URLs d'images de référence pour la génération image à image. |
n | integer | Non | Nombre d'images à générer, de 1 à 10. Valeur par défaut : 1. |
size | string | Non | L'un de 1024x1024, 1536x1024, 1024x1536, 1920x1088, 1088x1920, 3824x2160, 2160x3824 ou auto. |
quality | string | Non | Option de qualité du fournisseur, par exemple high ou auto. |
output_format | string | Non | png, jpeg ou webp lorsque le fournisseur le prend en charge. |
response_format | string | Non | Seul url est pris en charge. |
user | string | Non | Identifiant optionnel de l'utilisateur final pour votre propre suivi. |
Exemple texte vers image
curl https://gpt-image-2.art/api/v1/images/generations \
-H "Authorization: Bearer $GPT_IMAGE_2_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "A cinematic product photo of a matte black coffee bag on a marble counter",
"size": "1536x1024",
"quality": "high",
"n": 1
}'Exemple image vers image
curl https://gpt-image-2.art/api/v1/images/generations \
-H "Authorization: Bearer $GPT_IMAGE_2_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "Keep the product unchanged and place it on a clean studio background",
"image_urls": ["https://example.com/product.png"],
"size": "1024x1024",
"n": 1
}'Réponse de création
{
"id": "8f6d9f87-1b3f-4f89-bdfb-3df8e77b7af3",
"object": "image.generation",
"created": 1714000000,
"model": "gpt-image-2-text-to-image",
"status": "pending",
"credits": 10,
"data": []
}Enregistrez l'id et interrogez l'endpoint de tâche par polling.
Interroger une tâche d'image
Endpoint
GET https://gpt-image-2.art/api/v1/images/tasks/{task_id}Exemple
curl https://gpt-image-2.art/api/v1/images/tasks/8f6d9f87-1b3f-4f89-bdfb-3df8e77b7af3 \
-H "Authorization: Bearer $GPT_IMAGE_2_API_KEY"Réponse en cas de succès
{
"id": "8f6d9f87-1b3f-4f89-bdfb-3df8e77b7af3",
"object": "image.generation",
"created": 1714000000,
"model": "gpt-image-2-text-to-image",
"status": "succeeded",
"credits": 10,
"data": [
{
"url": "https://..."
}
]
}Valeurs possibles de status :
| Statut | Signification |
|---|---|
pending | La tâche est en file d'attente. |
processing | Le fournisseur génère l'image. |
succeeded | Les URLs d'image sont disponibles dans data. |
failed | La génération a échoué. |
canceled | La génération a été annulée. |
Exemple JavaScript
const apiKey = process.env.GPT_IMAGE_2_API_KEY;
const createRes = await fetch(
'https://gpt-image-2.art/api/v1/images/generations',
{
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'gpt-image-2',
prompt:
'A premium skincare bottle on wet stone with soft studio lighting',
size: '1024x1024',
n: 1,
}),
}
);
const task = await createRes.json();
let result = task;
while (['pending', 'processing'].includes(result.status)) {
await new Promise((resolve) => setTimeout(resolve, 3000));
const queryRes = await fetch(
`https://gpt-image-2.art/api/v1/images/tasks/${task.id}`,
{
headers: {
Authorization: `Bearer ${apiKey}`,
},
}
);
result = await queryRes.json();
}
console.log(result.data);Format d'erreur
Les erreurs suivent le format de style OpenAI :
{
"error": {
"message": "Invalid API key provided.",
"type": "authentication_error",
"param": null,
"code": "invalid_api_key"
}
}Ressources associées
- Tarifs et Crédits — Coût en crédits par appel et forfaits
- Guide de prompting — Obtenez de meilleurs résultats via l'API
- Cas d'usage — Modèles d'intégration API réels
- Galerie de présentation — Découvrez les possibilités de GPT Image 2
- Documentation officielle OpenAI Image API — Référence officielle pour les utilisateurs avec leur propre clé OpenAI