OpenAI: GPT Image 1 Mini
GPT Image 1 Mini crée et modifie des images à partir de texte et de références visuelles au sein de la famille GPT Image 1. Il prend en charge les tailles de sortie standard, les masques et les formats d’image courants, avec une faible fidélité d’entrée plutôt que l’option de haute fidélité de GPT Image 1.
- Ailoot Ultra · Génération d’images
POST /v1/images/generationsopenai/gpt-image-1-mini - Ailoot Ultra · Génération d’images
POST /v1/images/generationsgpt-image-1-mini
À 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 Mini est la variante Mini nommée de la famille GPT Image 1 d’OpenAI. Il accepte du texte et des images et produit des images au moyen des processus de génération et de modification du fournisseur. Utilisez-le pour les consignes créatives courantes, les concepts visuels et les modifications d’une image fournie lorsque les contrôles documentés de l’édition Mini conviennent à la tâche. Utilisez les tailles de cadre standard et la faible fidélité d’entrée de Mini pour préparer la tâche.
Pour une nouvelle image, décrivez le sujet, la scène, la lumière, la composition et le style. Pour une modification, identifiez le changement requis et les éléments sources à garder reconnaissables. Des consignes d’illustration simples peuvent demander un vélo de livraison à côté d’une porte, de grandes formes nettes et une palette sobre ; un échange suivant peut changer l’arrière-plan tout en conservant la composition sélectionnée. Les processus directs documentés acceptent jusqu’à 32 000 caractères de prompt et d’une à dix sorties, ce qui peut fournir des variantes à examiner.
La modification peut utiliser jusqu’à seize images d’entrée. Expliquez quelle image fournit le sujet principal, le cadre ou le traitement plutôt que de laisser ces rôles ambigus. GPT Image 1 Mini prend uniquement en charge low pour input_fidelity. Le réglage high disponible dans GPT Image 1 n’est pas une option pour Mini. La fidélité d’entrée est distincte de la qualité du rendu de sortie : choisir une sortie de haute qualité n’active pas un autre mode de préservation de la source. Gardez les exigences de préservation explicites et examinez les détails sources pertinents dans la ressource obtenue.
Un masque peut guider un changement demandé dans une zone sélectionnée. La source et le masque doivent avoir le même format et les mêmes dimensions, et le masque nécessite un canal alpha ; le guide de génération d’images indique une exigence de taille inférieure à 50 MB. Avec plusieurs images sources, le masque s’applique à la première. Des consignes ciblées peuvent changer la couleur d’un objet tout en conservant le cadrage général de la scène. Le masque constitue un guidage fondé sur le prompt plutôt qu’une limite géométrique garantie ; vérifiez donc la zone adjacente ainsi que le changement prévu.
Les tailles de cadre standard sont 1024 × 1024, 1536 × 1024 et 1024 × 1536 pixels, avec une sélection automatique lorsqu’elle est prise en charge. Les choix de qualité de rendu sont low, medium, high et auto. Ils sont distincts de la fidélité d’entrée de Mini limitée à low. Les dimensions personnalisées de haute résolution et les niveaux xhigh ou max des éditions GPT Image ultérieures ne font pas partie de ce profil Mini. Choisissez un cadre adapté à l’emplacement et un niveau de qualité approprié à une ébauche ou à une ressource finale.
Le fournisseur prend en charge les sorties PNG, JPEG et WebP, avec PNG par défaut. JPEG et WebP peuvent utiliser une compression de 0 à 100. Les arrière-plans transparents, opaques et automatiques répondent à des exigences distinctes de mise en page ; sélectionnez PNG ou WebP lorsqu’un canal alpha est nécessaire. Un objet transparent peut être placé dans une composition distincte, tandis qu’une scène opaque comprend son propre arrière-plan. Conservez le fichier de sortie sélectionné plutôt que de traiter sa représentation encodée lors de la transmission comme le livrable de conception final.
La référence d’image du fournisseur documente la diffusion en continu avec jusqu’à trois images partielles avant l’achèvement. Un aperçu peut rendre la progression visible, mais seule l’image finale doit être conservée comme résultat terminé. Pour une séquence de modifications, fournissez à nouveau l’image choisie avec l’instruction concrète suivante. L’interface du fabricant prend également en charge le traitement par lots.
Examinez le lettrage de l’image, les détails sensibles à la mise en page et l’apparence de l’objet source au regard des consignes. GPT Image peut encore rencontrer des difficultés avec le placement précis du texte, les compositions structurées et la cohérence des sujets récurrents entre générations. Utilisez le résultat sélectionné pour une modification plus restreinte lorsqu’un détail visible doit changer, en gardant claires les exigences de changement et de préservation. Le résultat Mini utile est une image complète pour une tâche créative définie, préparée avec les tailles standard et les contrôles de fidélité fournis par cette édition exacte.
Ailoot Ultra · Génération d’images POST /v1/images/generations openai/gpt-image-1-mini
openai/gpt-image-1-miniopenai/gpt-image-1-minigpt-image-1-mini
Premiers pas
GPT Image 1 Mini crée et modifie des images à partir de texte et de références visuelles au sein de la famille GPT Image 1. Il prend en charge les tailles de sortie standard, les masques et les formats d’image courants, avec une faible fidélité d’entrée plutôt que l’option de haute fidélité de GPT Image 1.
- 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-mini | 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 · Tokens en entrée · Estimation à des fins de comparaison uniquement — / 1K tokens Sortie · Tokens en sortie · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K tokens |
| ConfigurationCoût estimé de la génération | 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.065536 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-mini', '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-mini, gpt-image-1-mini
Alias des chemins de méthode
/v1/images
ID d’appel associés
Ailoot Ultra · Génération d’images POST /v1/images/generations gpt-image-1-mini
gpt-image-1-miniopenai/gpt-image-1-minigpt-image-1-mini
Premiers pas
GPT Image 1 Mini crée et modifie des images à partir de texte et de références visuelles au sein de la famille GPT Image 1. Il prend en charge les tailles de sortie standard, les masques et les formats d’image courants, avec une faible fidélité d’entrée plutôt que l’option de haute fidélité de GPT Image 1.
- Entrées acceptées
- Texte
- 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- Sortie
image
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites gpt-image-1-mini | Par défaut— |
Champprompt | Typestring | ExigenceObligatoire | Valeurs et limites Longueur maximale: 32 000 | Par défaut— |
Champsize | Typestring | ExigenceFacultatif | Valeurs et limites 1024x1024, 1536x1024, 1024x1536, auto | Par défautauto |
Champbackground | Typestring | ExigenceFacultatif | Valeurs et limites transparent, opaque, auto | Par défautauto |
Champmoderation | Typestring | ExigenceFacultatif | Valeurs et limites low, auto Conditions: Utilisez auto pour la modération standard du contenu. | Par défaut— |
Champn | Typeinteger | ExigenceFacultatif | Valeurs et limites Minimum: 1 Maximum: 10 | Par défaut1 |
Champquality | Typestring | ExigenceFacultatif | Valeurs et limites auto, high, medium, low | Par défautauto |
Champoutput_compression | Typeinteger | ExigenceFacultatif | Valeurs et limites Minimum: 0 Maximum: 100 Conditions: S’applique aux sorties JPEG et WebP ; envoyez la valeur entière documentée. | Par défaut100 |
Champoutput_format | Typestring | ExigenceFacultatif | Valeurs et limites webp, png, jpeg | Par défautpng |
Champstream | Typeboolean | ExigenceFacultatif | Valeurs et limites false Conditions: Cette route renvoie une réponse JSON complète. | Par défautfalse |
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratprompt, model |
Paramètrematerial_types | Contrattext |
Paramètreoptional | Contratsize, background, moderation, n, quality, output_compression, output_format, stream |
Paramètreconditions | ContratUn arrière-plan transparent nécessite le format PNG ou WebP., La compression de sortie s’applique au format JPEG ou WebP., La méthode sélectionnée génère à partir de texte. Les paramètres de modification et de diffusion en continu décrits pour le fabricant sont des capacités distinctes. |
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 · Tokens en entrée · Estimation à des fins de comparaison uniquement — / 1K tokens Sortie · Tokens en sortie · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K tokens |
| ConfigurationCoût estimé de la génération | 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.065536 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={'prompt': 'A cute baby sea otter', 'model': 'gpt-image-1-mini', 'size': '1024x1024', 'n': 1, 'background': 'auto', 'moderation': 'auto', 'output_format': 'png'}
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-mini, gpt-image-1-mini
Alias des chemins de méthode
/v1/images
ID d’appel associés
FAQ · OpenAI: GPT Image 1 Mini
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/images/generations·openai/gpt-image-1-mini:text,image→imagePOST /v1/images/generations·gpt-image-1-mini:text→image- Quels champs la requête utilise-t-elle ?
POST /v1/images/generations·openai/gpt-image-1-mini:model,prompt,aspect_ratio,quality,background,n,input_references,output_compression,providerPOST /v1/images/generations·gpt-image-1-mini:model,prompt,size,background,moderation,n,quality,output_compression,output_format,stream- Quelles limites s’appliquent ?
POST /v1/images/generations·openai/gpt-image-1-mini:n.minimum:1;n.maximum:10;output_compression.minimum:0;output_compression.maximum:100POST /v1/images/generations·gpt-image-1-mini:prompt.maximum_length:32000;n.minimum:1;n.maximum:10;output_compression.minimum:0;output_compression.maximum:100