Par capacité
Images
Choisissez un modèle, copiez la requête, obtenez l'image. Tout ce qui suit s'adapte au modèle choisi.
#1. Choisir un modèle
gemini-3-pro-image-preview$0.03 / requêteTâche asynchroneLimites et état
12 modèles en ligne pour cet usage. En changer modifie le code ci-dessous.
#2. Copier la requête
Remplacez YOUR_API_KEY par votre clé, puis exécutez la requête. Les options affichées sont celles que ce modèle accepte.
https://www.aisplice.store/v1/images/tasksBearer API keyTâche asynchroneOptionsSeules les options publiées pour ce modèle sont affichées.
# Requires curl and jq
API_KEY="${API_KEY:-YOUR_API_KEY}"
# 1. Submit once
SUBMITTED=$(curl --fail-with-body -sS https://www.aisplice.store/v1/images/tasks \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: model-docs-$(date +%s)-$$" \\
-d '{
"model": "Nano Banana Pro",
"prompt": "A cinematic scene with careful composition",
"size": "auto",
"resolution": "1K",
"n": 1
}')
TASK_ID=$(printf '%s' "$SUBMITTED" | jq -r '.task_id // .id // empty')
if [ -z "$TASK_ID" ]; then
printf '%s\n' "$SUBMITTED" >&2
exit 1
fi
echo "task_id=$TASK_ID"
# 2. Poll until terminal
while true; do
STATUS_JSON=$(curl --fail-with-body -sS \
"https://www.aisplice.store/v1/images/tasks/$TASK_ID" \
-H "Authorization: Bearer $API_KEY")
STATUS=$(printf '%s' "$STATUS_JSON" | jq -r '.status // empty' | tr '[:upper:]' '[:lower:]')
echo "status=$STATUS"
case "$STATUS" in
completed|succeeded|success) break ;;
failed|failure|cancelled|canceled)
printf '%s\n' "$STATUS_JSON" | jq .
exit 1
;;
esac
sleep 3
done
# 3. Fetch the final result
curl --fail-with-body -sS \
"https://www.aisplice.store/v1/images/tasks/$TASK_ID/content" \
-H "Authorization: Bearer $API_KEY" | jq .Les URL de médias publiques sont recommandées en production. Envoyez d'abord le fichier local, puis placez public_url dans la requête du modèle. Évitez les gros corps en Base64.
Lire le guide d'envoiTous les paramètres
Tous les champs acceptés par ce modèle, avec les valeurs autorisées.
Tous les paramètres
Tous les champs acceptés par ce modèle, avec les valeurs autorisées.
modelIdentifiant exact du modèle pour cette requête.
gemini-3-pro-image-previewpromptInstruction décrivant le résultat souhaité.
sizeFormat ou dimensions de sortie.
auto1:12:33:23:44:34:55:49:1616:921:9resolutionRésolution de sortie demandée.
1K2K4KnimagesOptional reference images, up to 14.
Cycle de la réponse
Statut des tâches, états finaux et exemples de réponses de résultat.
Cycle de la réponse
Statut des tâches, états finaux et exemples de réponses de résultat.
{
"id": "task_xxx",
"task_id": "task_xxx",
"object": "image.task",
"model": "Nano Banana Pro",
"status": "queued"
}{
"created": 1720000000,
"data": [
{
"url": "https://media.example/result.png"
}
]
}En attente
queued · submitted · in_progress · processing
Succès
completed · succeeded · success
Échec
failed · failure · cancelled · canceled
#3. Obtenir le résultat
L'appel de soumission répond immédiatement avec un task_id. Vérifiez la tâche toutes les quelques secondes jusqu'à ce que status vaille completed, ou transmettez webhook_url et nous vous appellerons une fois la tâche terminée.
GET https://www.aisplice.store/v1/images/tasks/{task_id}
GET https://www.aisplice.store/v1/images/tasks/{task_id}/content
Facturé uniquement en cas de succès
Valeurs de statut et interrogation →Recevoir un callback au lieu d'interroger →
#En cas de problème
- 400 avec un nom de champ : cette option n'est pas acceptée par ce modèle ; utilisez les valeurs listées à l'étape 2.
- Contenu refusé par le modèle : reformulez le prompt ; les requêtes refusées ne sont pas facturées.
- 402 : le solde ne couvre pas cette requête ; rechargez dans Portefeuille, puis réessayez.
- 429 : ralentissez et réessayez après le nombre de secondes indiqué par Retry-After.
- 503 model_not_found : le nom du modèle est incorrect ou le modèle est hors ligne ; choisissez-en un à l'étape 1.
#Images de référence
Transmettez des URL d'images publiques dans le champ d'image de référence indiqué à l'étape 2. Pour un fichier local, envoyez-le d'abord et utilisez l'URL obtenue.
L'intégrer à votre produitLes options à montrer en premier à vos utilisateurs, et celles à garder pour plus tard.
Les options à montrer en premier à vos utilisateursCommencez par le prompt et un seul réglage de prix ; ajoutez le reste une fois le parcours de base fonctionnel.+
Intention créative
Les champs comme prompt ont leur place dans l'interface, car l'utilisateur comprend directement le résultat qu'ils modifient.
Multiplicateur de coût
Les champs comme duration, resolution, size et count ne doivent être introduits que lorsque la tarification est déjà explicable.
Changement de mode
Les champs comme image, mask ou les ID de continuation changent le workflow lui-même et ne doivent apparaître que dans des modes dédiés.
Mécanique interne
Les champs comme webhook_secret s'adressent aux intégrateurs, pas aux créateurs au quotidien : gardez-les hors de l'interface par défaut.
prompt- Quand l'exposer
- Toujours. C'est l'entrée créative principale des tâches d'image.
- Valeur par défaut recommandée
- Obligatoire dans l'interface.
- Pourquoi c'est important
- Il contrôle directement le résultat ; le masquer rend la fonctionnalité inutilisable.
size- Quand l'exposer
- À exposer dès la première version si la facturation dépend des dimensions de sortie.
- Valeur par défaut recommandée
- Commencez avec un format recommandé, par exemple 1:1.
- Pourquoi c'est important
- Ce paramètre influe à la fois sur le coût et sur la composition du résultat : les utilisateurs ont besoin tôt d'un choix de taille simple.
quality- Quand l'exposer
- À exposer uniquement lorsque les utilisateurs demandent clairement un palier supérieur ou moins cher.
- Valeur par défaut recommandée
- Garder côté serveur, à la valeur par défaut du modèle.
- Pourquoi c'est important
- Ce paramètre modifie le prix et la latence, mais n'a généralement pas besoin d'être un réglage dès le premier jour.
n- Quand l'exposer
- À exposer uniquement si la génération par lots est un workflow central.
- Valeur par défaut recommandée
- 1 par défaut.
- Pourquoi c'est important
- Ce paramètre multiplie immédiatement le coût et peut rendre la première utilisation confuse.
mask / image- Quand l'exposer
- À exposer uniquement pour les produits de retouche ou à image de référence.
- Valeur par défaut recommandée
- Masquer en mode texte vers image.
- Pourquoi c'est important
- Ces champs font passer le produit de la génération à la retouche : ils ne doivent pas s'immiscer dans le parcours de base.
Phase 1
- prompt
- one size or one duration default
- submit -> poll -> content
Phase 2
- one quality or resolution selector
- clear pricing hint
Phase 3
- advanced controls such as reference media, continuation, webhook, or vendor-specific tuningUne seule source de vérité pour les résultats
Toujours bloqué ?
Envoyez-nous l'ID de requête ou le message d'erreur, et nous examinerons le problème.