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

doubao-seedream-5-0-pro$0.02928 / 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.

POSThttps://www.aisplice.store/v1/images/tasksBearer API keyTâche asynchrone

OptionsSeules 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": "Seedream 5.0 Pro",
  "prompt": "A cinematic scene with careful composition",
  "size": "auto",
  "resolution": "1K",
  "n": 1,
  "output_format": "jpeg",
  "watermark": false,
  "optimize_prompt_options": {
    "mode": "standard"
  }
}')
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'envoi

Tous les paramètres

Tous les champs acceptés par ce modèle, avec les valeurs autorisées.

model
stringobligatoire

Identifiant exact du modèle pour cette requête.

doubao-seedream-5-0-pro
prompt
stringfacultatif

Generation/editing instruction. Optional only when layer_decomposition is true. Point and box tags use normalized 0..1000 coordinates.

images
string[]facultatif

Optional reference image URLs or data URIs, up to 10. Layer decomposition and transparent editing require exactly one image.

size
stringfacultatif

auto, 1K, 1.5K, 2K, a supported aspect ratio, or an exact WIDTHxHEIGHT value. Exact pixels must total 921600..4624220.

resolution
stringfacultatif

Résolution de sortie demandée.

1K1.5K2K
n
integerfacultatif
1

Cycle de la réponse

Statut des tâches, états finaux et exemples de réponses de résultat.

Soumettre
{
  "id": "task_xxx",
  "task_id": "task_xxx",
  "object": "image.task",
  "model": "Seedream 5.0 Pro",
  "status": "queued"
}
Contenu
{
  "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

Tous les champs : /v1/images/tasks dans la référence API →

#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

Une tâche échouée ou annulée est remboursée automatiquement. Le journal des requêtes affiche le coût final de chaque tâche.

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.

Rechercher une autre erreur →

#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.

Comment envoyer un fichier local →

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.
recommended-rollout.txt
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 tuning

Une seule source de vérité pour les résultats

Quand une tâche se termine, alignez votre application sur l'URL de plateforme renvoyée par /content. Les détails du fournisseur en amont restent masqués et la relecture de l'historique reste stable.

Toujours bloqué ?

Envoyez-nous l'ID de requête ou le message d'erreur, et nous examinerons le problème.