Loading...
Loading...
La famille GPT Image 2 d'OpenAI pour la génération texte-image et la retouche à partir d'images de référence via l'API OpenAI Images.
Connectez-vous pour exécuter des modèles
No output yet
Run the model to see generated results.
import requests
result = requests.post(
'https://api.e2x.ai/v1/jobs/submit',
headers={
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
},
json={
'model': 'openai/gpt-image-2/edit-image',
'input': {}
}
)import time
job_id = result.json()['jobId']
while True:
response = requests.get(
f'https://api.e2x.ai/v1/jobs/{'{job_id}'}',
headers={'Authorization': f'Bearer {'{API_KEY}'}'}
)
data = response.json()['data']
if data['status'] == 'completed':
print('Done!', data['outputs'][0]['url'])
break
elif data['status'] == 'failed':
raise Exception(f"Job failed: {'{'}data['error']['message']{'}'}")
time.sleep(2)GPT Image 2 edit-image, c'est le gpt-image-2-2026-04-21 d'OpenAI pointé sur des images que vous possédez déjà : retouche, composition, inpainting par mask, outpainting, et réécriture de la typo incrustée dans une mise en page. Nous l'opérons sous openai/gpt-image-2/edit-image et facturons $0.0525 par image de sortie à resolution=1K, notre valeur par défaut. La requête équivalente en palier high chez fal.ai est à $0.211.
Aucune image source à traiter ? Alors c'est GPT Image 2 text-to-image qu'il vous faut — même modèle, même grille tarifaire, prompt seul.
Notre tarification est multiplicative, et l'un des deux multiplicateurs est un piège. quality s'applique en ×7 à toutes les valeurs — low, medium et high facturent à l'identique : un palier plus bas vous coûte donc de la qualité d'image et ne vous économise rien. C'est une bizarrerie de la façon dont notre config mappe le paramètre, et nous ne la cachons pas dans une note de bas de page. Envoyez high.
resolution est le multiplicateur qui déplace de l'argent : ×1 en 1K, ×2 en 2K, ×3 en 4K. Le chiffre de $0.0075 qui circule comme « le prix de GPT Image 2 » est notre tarif de base avant multiplication, atteignable seulement par une requête n'envoyant aucune valeur de quality — et quality est obligatoire sur cet endpoint, vous ne pouvez donc pas l'atteindre ici, même par accident. Tarifs au 26 août 2026 :
| Taille de sortie | E2X, quelle que soit la valeur de quality | fal.ai (high) | vs. E2X |
|---|---|---|---|
| 1024×1024 (1K, notre défaut) | $0.0525 | $0.211 | nous sommes 75 % moins cher |
| 2560×1440 (2K) | $0.105 | $0.222 | nous sommes 53 % moins cher |
| 3840×2160 (4K) | $0.1575 | $0.401 | nous sommes 61 % moins cher |
Lisez les colonnes l'une contre l'autre. Le prix de fal bouge à peine entre la 1K et la 2K alors que le nôtre double : un écart qui paraît énorme en 1K est donc à peu près divisé par deux en 2K. Toujours en notre faveur à chaque palier vérifié. Budgétez sur le palier que vous livrerez réellement.
OpenAI ne peut pas figurer du tout dans ce tableau. Le modèle y est compté aux tokens ($5.00/1M en texte en entrée, $8.00/1M en image en entrée, $30.00/1M en image en sortie ; Batch à moitié tarif), donc un « prix par édition » n'existe qu'une fois posées une taille d'image et une longueur de prompt. Nous, nous facturons à la requête.
Les prix et les conditions produit peuvent changer. Vérifiez les tarifs en vigueur de chaque provider avant toute décision d'achat. La tarification Google Batch ou Flex n'est pas directement équivalente à une requête API on-demand standard, car les conditions de planification, de disponibilité et de traitement diffèrent ; elle est donc exclue de cette comparaison. Il s'agit d'une comparaison délimitée, et non d'une affirmation selon laquelle E2X serait l'option la moins chère au monde dans toutes les configurations.
OpenAI a supprimé le paramètre input_fidelity dans cette génération. Chaque image source que vous attachez est désormais traitée en haute fidélité, sans réglage moins cher vers lequel se replier — plus de tokens en entrée par pièce jointe, à chaque fois. Le marché le montre : sur fal.ai, l'endpoint d'édition tourne à environ le double du tarif text-to-image sur le palier bas. Ne supposez pas qu'un pipeline d'édition et un pipeline de génération depuis zéro coûtent la même chose en dessous.
Réécrire du texte dans un visuel existant. La meilleure raison d'amener une image ici plutôt que vers un modèle Google. Donnez-lui une infographie finie en anglais, demandez la version allemande — la typo revient lisible et la mise en page ne bouge pas. Pareil pour les étiquettes produit, les textes de packaging, les ardoises de menu, les captures d'interface.
Des composites à partir de nombreuses sources. Jusqu'à 16 images de référence par requête, et jusqu'à 10 sorties renvoyées — des variantes parmi lesquelles choisir sans un aller-retour à chaque fois.
L'inpainting par mask. Attachez un mask à canal alpha et la zone blanche marque ce que le modèle a le droit de changer. Le mask est optionnel ; sans lui, c'est votre prompt qui cadre l'édition. La formulation d'OpenAI mérite d'être citée plutôt que paraphrasée : « le modèle utilise le mask comme guide, mais peut ne pas suivre sa forme exacte avec une précision totale ». Une indication forte, pas un tracé de détourage. L'outpainting fonctionne de la même façon.
La transparence. background: "transparent" renvoie un canal alpha — PNG ou WebP, jamais JPEG.
Les règles de taille s'appliquent aussi aux entrées : plus grand côté jusqu'à 3840 px, les deux côtés multiples de 16, aspect ratio pas plus large que 3:1, total de pixels entre 655 360 et 8 294 400.
Trois champs sont obligatoires ici : prompt, image_urls et quality.
curl -X POST https://api.e2x.ai/v1/jobs/submit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-image-2/edit-image",
"input": {
"prompt": "Remplace le titre sur le packaging par \"CAFÉ NOIR — GRAND CRU\", dans la même police et la même graisse. Laisse intacts le visuel, le code-barres et le fond.",
"image_urls": ["https://example.com/coffee-box.png"],
"aspect_ratio": "4:5",
"resolution": "2K",
"quality": "high"
}
}'
Vous récupérez un job ID. Faites du polling, ou enregistrez un webhookUrl et laissez-nous vous appeler.
const headers = {
Authorization: `Bearer ${process.env.E2X_API_KEY}`,
"Content-Type": "application/json",
};
const submitted = await fetch("https://api.e2x.ai/v1/jobs/submit", {
method: "POST",
headers,
body: JSON.stringify({
model: "openai/gpt-image-2/edit-image",
input: {
prompt: "Intègre la montre de l'image 1 sur la surface en marbre de l'image 2. Respecte la direction de lumière de l'image 2. Garde la gravure du cadran lisible.",
image_urls: [
"https://example.com/watch-cutout.png",
"https://example.com/marble-scene.jpg",
],
aspect_ratio: "1:1",
resolution: "1K",
quality: "high",
},
}),
}).then((r) => r.json());
const { jobId } = submitted.data;
for (;;) {
const job = await fetch(`https://api.e2x.ai/v1/jobs/${jobId}`, { headers })
.then((r) => r.json());
if (job.data.status === "completed") {
job.data.outputs.forEach((o) => console.log(o.url));
break;
}
if (job.data.status === "failed") {
throw new Error(job.data.error?.message || "Edit failed");
}
await new Promise((r) => setTimeout(r, 3000));
}
Les jobs passent pending → processing → completed, ou s'arrêtent sur failed ou cancelled. Les valeurs de résolution sont en majuscules — 1K, 2K, 4K — et notre aspect ratio par défaut est 1:1. Le modèle planifie et se relit avant de rendre : nous publions donc une ETA de 60 secondes plutôt qu'une promesse de palier flash. Le schema et le prix vivent dans la spécification lisible par machine.
Cinq éditeurs, une décision, et tout se ramène à savoir si les lettres comptent.
| Modèle | Prix / image | À choisir quand |
|---|---|---|
| GPT Image 2 edit | $0.0525 (high/1K) | Réécritures de texte, inpainting par mask, transparence, 4K |
| Nano Banana Pro | $0.075 | Visages, cohérence de personnage, références typées par rôle |
| Nano Banana 2 | $0.04 | Le choix polyvalent par défaut pour la plupart des éditions |
| Nano Banana 2 Lite | $0.0238 | Remplacements de fond et changements de couleur, en volume |
| Nano Banana (legacy) | $0.0312 | Uniquement si vous n'avez pas encore migré |
Réponse franche : si votre édition ne touche pas à la typo, vous ne devriez sans doute pas être ici. Nano Banana 2 gère la retouche ordinaire — supprimer un objet, remplacer un fond, réchauffer l'étalonnage — pour moins cher, et plus vite. Vous éditez un portrait, ou vous devez garder une personne reconnaissable à travers des références ? Nano Banana Pro est le meilleur outil, même à un prix plus élevé.
Venez ici pour ce que la famille Google ne fait pas aussi bien : réécrire du texte dans un design existant, l'inpainting cadré par un mask, la sortie transparente. Le reste se trouve dans la catégorie image-to-image et notre catalogue de modèles.
Décrivez le delta, pas la destination. Un prompt qui re-décrit toute la scène entre en concurrence avec la source, et vous obtenez une régénération qui dérive au lieu d'une édition. Nommez ce qui change, puis ce qui doit survivre : « garde le cadrage, l'ombre et la position de l'étiquette identiques » gagne sa place.
Quand plusieurs images entrent, étiquetez-les par index : image 1 est le sujet, image 2 l'environnement, image 3 une référence d'étalonnage uniquement. Rien d'autre n'indique au modèle quelle pièce jointe était censée être une palette.
Pour les éditions de texte, collez la chaîne de remplacement exacte entre guillemets et dites ce qu'il advient de l'ancienne. Paraphraser invite à réinterpréter, et une réinterprétation sur une étiquette produit, c'est un retirage. À l'intérieur d'un mask, laissez quelques pixels de marge autour de ce qui est précieux — la frontière est une indication, pas un détourage.
Deux couches de watermark atterrissent sur chaque sortie, à tous les paliers de quality, et cette partie-là nous ne l'adoucirons pas. Des métadonnées de provenance C2PA identifient le fichier comme généré par ChatGPT Images — X, Meta, LinkedIn et TikTok les analysent et appliquent automatiquement un étiquetage « Made with AI ». En dessous se trouve un watermark imperceptible au niveau des pixels, dans les données de l'image, qui ne disparaît pas quand les métadonnées disparaissent.
Aucune des deux couches n'a d'interrupteur, ni pour nous ni pour aucun autre revendeur. Nous ne pouvons pas promettre de sortie white-label sur ce modèle. Vous éditez des assets clients sous un contrat qui interdit les contenus étiquetés IA ? Ayez cette conversation maintenant.
Une note de coût, puisque l'intuition est fausse ici : les passes de brouillon bon marché ne viennent pas de quality. Vingt itérations en low facturent exactement ce que vingt en high facturent. Pour une boucle de relecture peu chère, brouillonnez en 1K et gardez le 2K ou le 4K pour la version qui part en production.
$0.0525 par image de sortie à nos valeurs par défaut, quality=high et resolution=1K. La 2K revient à $0.105 et la 4K à $0.1575, puisque la résolution multiplie par deux puis par trois. Le palier de quality ne change aucun de ces chiffres. Données issues de notre vérification du 26 août 2026.
Jusqu'à 16, selon la surface documentée par OpenAI, et une requête peut renvoyer jusqu'à 10 sorties. Plus de pièces jointes signifie plus de tokens en entrée : un composite à 16 références n'est donc pas la même charge de travail qu'une retouche sur une image unique.
low est-elle moins chère qu'en high ?Non. Notre multiplicateur est de ×7 quelle que soit la valeur envoyée : low, medium et high facturent donc tous $0.0525 en 1K. Le champ est obligatoire ici, et aucun réglage ne baisse votre coût. Utilisez resolution pour piloter la dépense.
Parce que input_fidelity a été supprimé : chaque image attachée est traitée en haute fidélité, sans option moins chère, donc une édition brûle plus de tokens en entrée qu'une requête avec prompt seul. Ça se voit sur tout le marché — l'endpoint d'édition de fal.ai tourne à environ le double de son tarif text-to-image sur le palier bas.
Oui, et c'est la raison principale de choisir ce modèle plutôt qu'une alternative Google. Citez la chaîne de remplacement exacte et dites ce qui doit arriver à l'originale. Les échanges multilingues fonctionnent aussi, CJK compris, sans redessiner la mise en page autour.
Oui. Chaque sortie porte des métadonnées C2PA que les plateformes lisent pour appliquer des labels « Made with AI », plus un watermark de pixels imperceptible dans les données de l'image. Les deux s'appliquent à tous les paliers de quality et aucun provider ne peut les désactiver.
Quand l'édition tourne autour d'une personne — le réalisme du portrait et la cohérence de personnage à travers des références sont les points où le palier Pro de Google est plus fort. Pour du travail de fond et de couleur courant, Nano Banana 2 à $0.04 suffit ; notre avantage sur le texte ne vous y achète rien.