GetAPI.ONE
Générer des images avec GetAPI.ONE
Sélectionnez un modèle d’image dans le catalogue en direct, envoyez la plus petite requête déclarée à la route d’image ONE, validez la structure de la réponse et stockez la sortie en toute sécurité.
Préparer une requête prise en charge
- Ouvrez le catalogue actuel et sélectionnez un modèle dont le point de terminaison déclaré correspond à la génération d’images.
- Consultez les tarifs en direct avant un appel facturable ; ce guide ne fige aucun prix.
- Commencez par une seule sortie et uniquement les champs affichés pour le contrat de ce modèle.
POST https://www.getapi.one/v1/images/generationsEnvoyer une génération minimale
- Définissez GETAPI_ONE_API_KEY dans l’environnement d’un processus de confiance.
- Copiez l’identifiant exact du modèle d’image depuis le catalogue actuel.
- Décrivez le sujet, la composition et les contraintes dans l’invite.
- Envoyez d’abord un seul résultat, puis élargissez les champs facultatifs uniquement après avoir confirmé leur prise en charge par le modèle.
- Décodez localement une sortie base64 de taille limitée. Si la réponse contient une URL, enregistrez-la pour un téléchargeur approuvé appliquant des règles explicites de sortie et d’hôte ainsi qu’une revalidation des redirections, au lieu de la déréférencer dans le processus API.
curl --fail-with-body https://www.getapi.one/v1/images/generations \
-H "Authorization: Bearer $GETAPI_ONE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<IMAGE_MODEL_ID_FROM_CURRENT_CATALOG>",
"prompt": "A clean product diagram of a secure server-side API flow",
"n": 1
}' > image-response.jsonimport base64
import json
from pathlib import Path
from urllib.parse import urlsplit
payload = json.loads(Path("image-response.json").read_text(encoding="utf-8"))
item = payload["data"][0]
if item.get("b64_json"):
image_bytes = base64.b64decode(item["b64_json"], validate=True)
if len(image_bytes) > 25 * 1024 * 1024:
raise ValueError("Image exceeds the local 25 MB safety limit")
Path("generated-image.bin").write_bytes(image_bytes)
elif item.get("url"):
url = item["url"]
parsed = urlsplit(url)
if parsed.scheme != "https" or not parsed.hostname:
raise ValueError("Refusing an invalid or non-HTTPS image URL")
# Do not dereference provider-controlled URLs from a generic server example.
# Give this record to an approved downloader that enforces your egress and
# host policy, rejects private/link-local/loopback destinations, revalidates
# every redirect, sends no ONE credential, and bounds the response bytes.
Path("generated-image-url.txt").write_text(url, encoding="utf-8")
print("URL recorded for an egress-controlled downloader")
else:
raise ValueError("Expected data[0].url or data[0].b64_json")
Évaluer le résultat
| Contrôle | Condition de réussite |
|---|---|
| Fidélité à l’invite | Le sujet et la composition requis sont présents. |
| Sécurité et droits | La sortie convient au public visé et vous disposez des droits sur les entrées fournies. |
| Contrat de réponse | Examinez data[0].url ou data[0].b64_json, validez la valeur et enregistrez les octets renvoyés. |
| Enregistrement opérationnel | L’identifiant du modèle, la version de l’invite, l’identifiant de requête s’il est disponible et le résultat sont enregistrés sans la clé. |
Vérifier le résultat attendu
- La requête HTTP réussit et le corps contient la structure de résultat d’image renvoyée par le modèle sélectionné.
- Un fichier base64 décodé s’ouvre comme le type d’image attendu, ou un résultat URL est enregistré puis récupéré uniquement par votre téléchargeur approuvé, avec contrôle explicite des sorties et des hôtes.
- La console ONE enregistre la requête ou l’utilisation correspondante.
Corriger les erreurs de requête d’image
| Symptôme | Action |
|---|---|
| Paramètre non pris en charge | Supprimez les champs facultatifs de taille, qualité, format ou nombre tant qu’ils ne sont pas confirmés pour ce modèle exact. |
| Sortie vide ou inutilisable | Examinez le corps JSON complet et traitez son URL réelle ou son champ de données encodées ; ne supposez pas une structure unique pour tous les fournisseurs. |
| Refus lié à la politique ou à l’entrée | Modifiez l’entrée au lieu de renvoyer continuellement la même requête. |
Stocker les entrées et les sorties en toute sécurité
- Conservez les clés côté serveur et validez la longueur de l’invite, le nombre de sorties et les champs facultatifs avant tout transfert.
- N’envoyez pas d’images sources confidentielles ni de données personnelles sauf si votre traitement de données approuvé le permet.
- Considérez les URL renvoyées comme temporaires, sauf indication contraire explicite du contrat du fournisseur ; copiez les sorties approuvées vers un stockage contrôlé.
- Ne transmettez jamais l’en-tête Authorization de GetAPI.ONE à une URL d’image renvoyée.
- Traitez les URL renvoyées comme des entrées non fiables : imposez une politique explicite de sortie réseau et d’hôtes, bloquez les destinations privées, link-local et de bouclage, et revalidez chaque redirection dans le téléchargeur dédié.