OpenAI: GPT Image 1
GPT Image 1 génère et modifie des images à partir de texte et d’entrées visuelles, notamment des compositions fondées sur des références et des changements masqués. Il prend en charge une fidélité d’entrée sélectionnable, des formats standards, les arrière-plans transparents et les sorties PNG, JPEG ou WebP.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
GPT Image 1 est le modèle d’image nativement multimodal d’OpenAI : il accepte du texte et des images en entrée et produit des images en sortie. Il peut générer une nouvelle scène, utiliser des images de référence pour orienter une composition ou modifier un visuel existant à l’aide d’une nouvelle instruction. Les usages pratiques comprennent l’illustration, les images de produit, les concepts de design et les changements locaux guidés par un masque. Il s’agit de l’édition nommée GPT Image 1, distincte d’Image 1 Mini, d’Image 1.5 et des versions GPT Image ultérieures.
Préparez une description qui précise le sujet, le cadre, la composition, l’éclairage et le style visuel. Si la tâche exige du texte visible, incluez le libellé exact et expliquez sa hiérarchie et sa position prévues. Pour une composition avec références, attribuez à chaque image un rôle clair, comme un produit, un environnement ou un traitement visuel. Les processus directs de génération et de modification autorisent une invite de 32 000 caractères au maximum et de une à dix images en sortie. Comparez les variantes obtenues selon la même description et conservez le visuel choisi pour la suite du travail.
La modification peut accepter jusqu’à seize images de référence. GPT Image 1 prend en charge input_fidelity avec les valeurs low et high, low étant la valeur par défaut. Cette commande agit sur l’effort de préservation des caractéristiques et du style de l’image source; elle est distincte de la qualité du rendu et de la taille de sortie. Une modification haute fidélité est utile lorsque les détails sources comptent, sans garantir que tous les détails distinctifs restent identiques. Précisez ce qui doit être conservé et ce qui peut changer au lieu de compter uniquement sur le réglage de fidélité.
La modification masquée identifie une zone à changer. Préparez la source et le masque avec le même format et les mêmes dimensions, inférieurs à 50 MB selon les exigences du guide, et un canal alpha dans le masque. Avec plusieurs images sources, le masque s’applique à la première. Une description de modification utile peut demander une autre couleur de mur tout en conservant le mobilier, l’angle de caméra et l’éclairage. Le modèle utilise le masque comme guide sans promettre une limite exacte; examinez donc la zone modifiée et ses alentours.
Les dimensions standards de sortie documentées sont 1024 × 1024, 1536 × 1024 et 1024 × 1536 pixels, avec une sélection automatique de la taille lorsqu’elle est prise en charge. La qualité peut être low, medium, high ou auto. GPT Image 1 utilise ces formats standards et des niveaux de qualité allant jusqu’à high. Choisissez le format standard selon l’affichage prévu et le niveau de détail selon l’usage du visuel.
PNG est le format de sortie par défaut, avec JPEG et WebP comme autres possibilités. La compression de 0 à 100 est disponible pour JPEG et WebP. Les arrière-plans transparents, opaques et automatiques répondent à différents besoins de livraison; la transparence exige PNG ou WebP. Pour un élément graphique isolé, utilisez un format qui conserve son canal alpha avant de l’intégrer à une mise en page ultérieure. Pour une scène complète, précisez l’arrière-plan et la relation du sujet avec celui-ci dans la description.
OpenAI documente la génération et la modification directes, et la fiche du modèle comprend aussi l’usage conversationnel des images. Pour un travail itératif, conservez le résultat retenu comme source d’un changement ultérieur au lieu de choisir implicitement une autre variante. La référence sur les images documente la diffusion en continu avec jusqu’à trois images partielles; elles montrent l’avancement plutôt que des visuels terminés supplémentaires. Gardez l’image terminée avec sa description pour que les modifications suivantes se rapportent à la composition réelle. L’interface du fabricant prend aussi en charge le traitement par lots.
Le modèle peut encore avoir de la difficulté avec le placement précis du texte, les mises en page très structurées et la cohérence des sujets récurrents. Examinez le lettrage, les contours des objets, le traitement des couleurs et les détails qui identifient le matériel source à la taille prévue. Si une modification doit être affinée, décrivez l’écart visible et les éléments à préserver. GPT Image 1 convient à une séquence concrète de génération, de modification avec références et de préparation de visuels, en distinguant ses formats standards et sa fidélité d’entrée sélectionnable de ceux des autres éditions.
Ailoot Ultra · Génération d’images POST /v1/images/generations openai/gpt-image-1
openai/gpt-image-1Pour commencer
GPT Image 1 génère et modifie des images à partir de texte et d’entrées visuelles, notamment des compositions fondées sur des références et des changements masqués. Il prend en charge une fidélité d’entrée sélectionnable, des formats standards, les arrière-plans transparents et les sorties PNG, JPEG ou WebP.
- Entrées acceptées
- Texte · Images
- Résultats
- Images
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Génération d’images POST /v1/images/generations
- Entrée
text,image- Sortie
image
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites openai/gpt-image-1 | Par défaut— |
Champprompt | Typestring | ExigenceObligatoire | Valeurs et limites Longueur minimale: 1 | Par défaut— |
Champaspect_ratio | Typestring | ExigenceFacultatif | Valeurs et limites 1:1, 3:2, 2:3, auto | Par défaut— |
Champquality | Typestring | ExigenceFacultatif | Valeurs et limites auto, low, medium, high | Par défaut— |
Champbackground | Typestring | ExigenceFacultatif | Valeurs et limites auto, transparent, opaque | Par défaut— |
Champn | Typeinteger | ExigenceFacultatif | Valeurs et limites Minimum: 1 Maximum: 10 | Par défaut— |
Champinput_references | Typearray | ExigenceFacultatif | Valeurs et limites Nombre minimal d’éléments: 0 Nombre maximal d’éléments: 16 | Par défaut— |
Champoutput_compression | Typeinteger | ExigenceFacultatif | Valeurs et limites Minimum: 0 Maximum: 100 | Par défaut— |
Champprovider | Typeobject | ExigenceFacultatif | Valeurs et limites | Par défaut— |
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, prompt |
Paramètrematerial_types | Contrattext, image |
Cycle de vie : synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id effectivement renvoyé ou enregistrement de la bibliothèque multimédia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Tarifs
Calcul du coût final
Les tarifs affichés servent à estimer le coût avant la génération. Le montant final est calculé à partir du coût enregistré pour la génération d’origine. La durée mesurée du résultat et les quantités prévisionnelles ne constituent pas la quantité finale facturable.
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs estimés à des fins de comparaison
Prix par configuration
Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.
| Configuration | Barème tarifaire | Quantité prévisionnelle | Coût |
|---|---|---|---|
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Quantité prévisionnelle— | Coût Entrée · Jetons en entrée · Estimation à des fins de comparaison uniquement — / 1K jetons Sortie · Jetons en sortie · Estimation à des fins de comparaison uniquement — / 1K jetons Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K jetons Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K jetons Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K jetons |
| ConfigurationCoût de génération estimé | Barème tarifaire— | Quantité prévisionnelleestimation pour une génération | Coût Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $0.32768 estimation avant génération Cette estimation ne constitue ni des frais supplémentaires ni un tarif fixe pour la génération terminée. |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Exemples de requêtes
Ailoot Ultra · Génération d’images
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'openai/gpt-image-1', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
Recevoir et enregistrer les résultats
Ailoot Ultra · Génération d’images
Téléchargez chaque image renvoyée ou enregistrez son contenu Base64
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Autres lectures de contenu
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Conserver tous les résultats terminés
Enregistrez chaque image terminée ; récupérez chaque URL renvoyée ou décodez son contenu Base64.
Conservez la réponse complète et les en-têtes, chaque sortie effective, les identifiants initialement renvoyés et tous les champs d’utilisation. Récupérez l’opération d’origine sans soumettre à nouveau sa création.
Si la réponse d’origine doit être vérifiée
Conservez le X-Client-Request-ID renvoyé pour le rapprochement. Consultez uniquement les valeurs task_id/asset_id effectivement renvoyées ou votre bibliothèque multimédia ; ne construisez jamais une URL de tâche à partir de l’identifiant de l’opération et ne soumettez jamais à nouveau la création.
Champs de la réponse
| Champ | Type |
|---|---|
Champcreated | Type |
Champdata[].url | Type |
Champdata[].b64_json | Type |
Champusage | Type |
Alias
Alias du modèle
Ailoot Ultra openai/gpt-image-1
Alias des chemins de méthode
/v1/images
ID d’appel associés
FAQ · OpenAI: GPT Image 1
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/images/generations·openai/gpt-image-1:text,image→image- Quels champs la requête utilise-t-elle ?
POST /v1/images/generations·openai/gpt-image-1:model,prompt,aspect_ratio,quality,background,n,input_references,output_compression,provider- Quelles limites s’appliquent ?
POST /v1/images/generations·openai/gpt-image-1:n.minimum:1;n.maximum:10;output_compression.minimum:0;output_compression.maximum:100