Documentation de l'API GPT Image Hub
Utilisez des clés API Bearer pour appeler les points de terminaison de génération d'images, de liste des modèles, de solde de crédits et de consultation des générations.
https://www.gptimagehub.comEn-tête d'authentificationAuthorization: Bearer gih_live_...Démarrage rapide
Connectez-vous, ouvrez Clés API dans votre compte, créez une clé et stockez le secret à usage unique.
Appelez /api/v1/models pour les capacités du modèle, puis /api/v1/credits pour votre solde.
Appelez /api/v1/images/generations. Pour les appels de longue durée, définissez async sur true et interrogez le poll_url renvoyé.
Points de terminaison
/api/v1/modelsNoRépertorie les modèles d'image disponibles, les ratios pris en charge, les qualités et le coût en crédits.
/api/v1/creditsBearerLit le solde de crédits de l'utilisateur propriétaire de la clé API.
/api/v1/images/generationsBearerGénérez des images à partir d'un prompt, ou définissez async=true pour mettre une tâche en file d'attente en arrière-plan.
/api/v1/generations/:generationIdBearerRécupérez un journal de génération et les images enregistrées pour cette génération.
Authentification
Tous les points de terminaison v1, à l'exception de la liste des modèles, nécessitent une clé API dans l'en-tête Authorization. La clé brute est affichée une fois au moment de la création ; le serveur stocke uniquement un hachage.
Authorization: Bearer gih_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxModèles
Le point de terminaison des modèles renvoie les ID de modèle, les fournisseurs, les formats d’image pris en charge, les qualités prises en charge, les limites des images de référence et les crédits par image.
curl https://www.gptimagehub.com/api/v1/modelsZ-Image Turbo
z-image-turboChamps de requête
| Champ | Valeur | Remarques |
|---|---|---|
model | z-image-turbo | Doit être défini sur cet ID de modèle |
size | 1024x1024 | OpenAI-compatible output size, for example auto or 1024x1024 |
quality | high | Qualités disponibles: auto, low, medium, high |
n | 1 | Nombre d'images, de 1 à 4 |
reference_image | - | Uniquement pour multipart/form-data ; le nombre ne peut pas dépasser la limite du modèle |
Appel JSON
curl https://www.gptimagehub.com/api/v1/images/generations \
-H "Authorization: Bearer gih_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "z-image-turbo",
"prompt": "A cinematic product photo with premium studio lighting",
"size": "1024x1024",
"quality": "high",
"n": 1
}'Crédits
Le point de terminaison des crédits renvoie le solde, le type de compte et la prochaine expiration de crédits pour l'utilisateur propriétaire de la clé API.
curl https://www.gptimagehub.com/api/v1/credits \
-H "Authorization: Bearer gih_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"Générer des images
Le point de terminaison de génération d'images attend la fin de la génération par défaut. Définissez async sur true pour recevoir immédiatement un identifiant de génération et interrogez /api/v1/generations/:generationId pour obtenir le résultat. Les crédits sont débités avant la génération par le fournisseur et remboursés automatiquement si le fournisseur échoue ou renvoie moins d'images que demandé.
Demande JSON
curl https://www.gptimagehub.com/api/v1/images/generations \
-H "Authorization: Bearer gih_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "A cinematic product photo of a transparent perfume bottle on black marble",
"size": "1024x1024",
"quality": "high",
"n": 1
}'Tâche asynchrone
curl https://www.gptimagehub.com/api/v1/images/generations \
-H "Authorization: Bearer gih_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-1042-hero-image" \
-d '{
"model": "gpt-image-2",
"prompt": "A cinematic product photo with premium studio lighting",
"size": "1024x1024",
"quality": "high",
"n": 1,
"async": true
}'{
"object": "image_generation",
"id": "clx_generation_log_id",
"status": "queued",
"model": "gpt-image-2",
"aspect_ratio": "1:1",
"quality": "1K",
"created_at": "2026-04-30T08:00:00.000Z",
"images": [],
"usage": {
"credits": 0,
"credits_requested": 7
},
"poll_url": "https://www.gptimagehub.com/api/v1/generations/clx_generation_log_id"
}Demande d'image de référence
curl https://www.gptimagehub.com/api/v1/images/generations \
-H "Authorization: Bearer gih_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-F "model=gpt-image-2" \
-F "prompt=Use the reference image and render it as a premium studio product shot" \
-F "size=1024x1024" \
-F "quality=high" \
-F "n=1" \
-F "reference_image=@./reference.png"Réponse
{
"object": "image_generation",
"id": "clx_generation_log_id",
"status": "succeeded",
"model": "gpt-image-2",
"aspect_ratio": "1:1",
"quality": "1K",
"images": [
{
"id": "clx_image_id",
"object": "image",
"url": "https://cdn.example.com/generations/user/image.png",
"created_at": "2026-04-30T08:00:00.000Z"
}
],
"usage": {
"credits": 7
},
"balance": {
"credits": 113,
"account_type": "PRO",
"next_expiration": null
}
}Récupérer la génération
Utilisez l'identifiant renvoyé par le point de terminaison de génération pour récupérer son journal enregistré et les URL de ses images. Les clés API ne peuvent lire que les générations appartenant au même utilisateur.
curl https://www.gptimagehub.com/api/v1/generations/clx_generation_log_id \
-H "Authorization: Bearer gih_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"Erreurs
{
"error": {
"message": "Invalid request body",
"code": "invalidRequest"
}
}| HTTP | code | Descriptif |
|---|---|---|
| 400 | invalidRequest | Le corps ou les paramètres de la demande ne sont pas valides. |
| 401 | missingApiKey | L'en-tête Authorization est manquant. |
| 401 | invalidApiKey | La clé API n'existe pas ou a été révoquée. |
| 401 | expiredApiKey | La clé API est expirée. |
| 401 | emailUnverified | L'e-mail du compte n'est pas encore vérifié. Vérifiez-le à partir de l'e-mail envoyé, puis réessayez. |
| 402 | insufficientCredits | Le compte ne dispose pas de suffisamment de crédits. |
| 404 | notFound | La ressource demandée n'a pas été trouvée. |
| 429 | rateLimited | Trop de requêtes. Attendez le nombre de secondes indiqué dans l'en-tête Retry-After, puis réessayez. |
| 429 | freeTierLimited | Les comptes disposant uniquement des crédits d'inscription gratuits peuvent générer jusqu'à 10 images par heure. |
| 500 | generationFailed | La génération d'images a échoué. |
| 503 | serviceUnavailable | Le service est temporairement indisponible. Réessayez après le délai de l'en-tête Retry-After. |
Limites
- La génération synchrone peut durer jusqu'à 800 secondes en production.
- n doit être compris entre 1 et 4.
- Les images de référence prennent en charge le PNG, JPG, JPEG et WebP. L'ensemble de la requête, y compris chaque image de référence, doit rester sous 4.5MB (conservez les images sous 4MB au total). Les requêtes plus volumineuses sont rejetées par la plateforme d'hébergement avec un 413 en texte brut avant d'atteindre l'API, veuillez donc redimensionner ou compresser les images au préalable.
- Le nombre maximal d'images de référence est défini par le reference_image_limit de chaque modèle.
- Limites de débit : 60 requêtes de génération par minute par clé API et 120 par minute par adresse IP. Chaque réponse contient les en-têtes RateLimit-Limit, RateLimit-Remaining et RateLimit-Reset ; une réponse 429 contient également Retry-After.
- Pour relancer une génération en toute sécurité, envoyez un en-tête Idempotency-Key (jusqu'à 120 caractères). Réutiliser la même clé avec la même clé API renvoie la génération originale au lieu de facturer à nouveau.
- Le mode asynchrone renvoie un code 202 avec poll_url. Les webhooks ne sont pas encore disponibles.