Guide Développeur de l'API Ketchup (Google Nano Banana 2)

Développez rapidement avec des guides étape par étape, des exemples de charges utiles et les meilleures pratiques pour les workflows d'images de l'API Ketchup.

Voir les Tarifs de l'API KetchupComparez les plans et niveaux d'utilisation de l'API Ketchup.

Aperçu de l'API Ketchup

L'API Ketchup alimente les photos de produits, les arrière-plans d'interface et les graphiques sociaux avec une qualité de rendu prévisible. La conception REST simplifie les intégrations, tandis que la plateforme évolue des créateurs individuels aux lancements d'entreprise.

Capacités de l'API Ketchup

  • Génération texte-vers-image optimisée pour les scènes de production avec les modèles de l'API Ketchup.
  • Édition guidée par référence avec jusqu'à cinq images sur une seule requête de l'API Ketchup.
  • File d'attente de tâches asynchrone pour que votre application reste réactive pendant que l'API Ketchup effectue le rendu.
  • Rappels webhook qui permettent à l'API Ketchup de transmettre les changements de statut en temps réel.
  • Schémas JSON cohérents qui facilitent l'analyse des réponses de l'API Ketchup.
  • Sécurité par jeton Bearer gérée dans le tableau de bord de l'API Ketchup.

overview.base_url

https://api.defapi.org

overview.api_version

v1.0.0

Premiers Pas avec l'API Ketchup

  1. Ouvrez un espace de travail de l'API Ketchup et créez un jeton d'accès.
  2. Ajoutez le jeton Bearer de l'API Ketchup à l'en-tête Authorization pour chaque appel.
  3. Envoyez une requête POST au point de terminaison de génération d'images de l'API Ketchup avec les prompts, le mode et les références.
  4. Stockez l'ID de tâche retourné et interrogez le point de terminaison de statut ou abonnez-vous aux webhooks.
  5. Téléchargez les fichiers finaux une fois que l'API Ketchup marque la tâche comme réussie.

Authentification

Chaque requête API Ketchup nécessite un token Bearer valide. Renouvelez les clés par environnement et auditez l'utilisation fréquemment.

Méthode du Token Bearer

Attachez votre token API Ketchup à l'en-tête Authorization comme indiqué ci-dessous :

Authorization: Bearer <your-api-key>

Exemple de Format de Token

Authorization: Bearer dk-1234567890abcdef

Exemple de Requête

curl -X POST "https://api.defapi.org/api/image/gen" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-api-key-here" \
  -d '{
    "model": "google/gempix2",
    "prompt": "A beautiful landscape"
  }'

Liste de Vérification Token Valide

  • Le token est actif et non expiré.
  • L'espace de travail a l'accès API Ketchup activé.
  • Le compte a un quota ou un crédit restant.

Problèmes Courants

  • En-tête Authorization manquant.
  • Valeur du token Bearer mal formée.
  • Espace de travail suspendu ou token révoqué.

Génération d'Images API Ketchup

Créez de nouveaux rendus, révisez des éléments existants, ou mélangez des planches d'humeur avec l'endpoint de génération API Ketchup.

Endpoint

POST /api/image/gen

Paramètres de Requête

ParameterTypeRequiredDescription
modelstringYesModel identifier (e.g., "google/gempix2")
promptstringYesText prompt describing the image
imagesarrayNoReference image URLs (max 4)
callback_urlstringNoWebhook URL for completion notifications

Exemples de Code

Prompt API Ketchup Basique

{
  "model": "google/gempix2",
  "prompt": "A beautiful girl dancing in a garden"
}

Remix API Ketchup avec Références

{
  "model": "google/gempix2",
  "prompt": "Put them in a basket",
  "images": [
    "https://cdn.openai.com/API/docs/images/body-lotion.png",
    "https://cdn.openai.com/API/docs/images/soap.png"
  ],
  "callback_url": "https://example.com/webhook/image-callback"
}

Schéma de Réponse

{
  "code": 0,
  "message": "ok",
  "data": {
    "task_id": "ta12345678-1234-1234-1234-123456789abc"
  }
}

Gestion des Erreurs

400 - Bad Request

{"code": 1, "message": "failed", "detail": "prompt is required"}

401 - Unauthorized

{"code": 1, "message": "Invalid API key"}

Statut de Tâche API Ketchup

Surveillez le progrès du rendu et récupérez les URLs de livraison en utilisant l'endpoint de statut.

Endpoint

GET /api/task/query?task_id=<task_id>

Paramètres de Requête

ParameterTypeRequiredDescription
task_idstringYesUnique task identifier returned from generation endpoint

Exemple de Requête

curl -X GET "https://api.defapi.org/api/task/query?task_id=ta823dfb-eaac-44fd-aec2-3e2c7ba8e071" \
  -H "Authorization: Bearer your-api-key-here"

Codes de Statut

pending - L'API Ketchup a accepté la requête et mis la tâche en file d'attente.
submitted - L'API Ketchup a programmé la tâche pour traitement.
in_progress - L'API Ketchup rend les éléments maintenant.
success - L'API Ketchup a terminé le rendu et les éléments sont prêts à télécharger.
failed - L'API Ketchup n'a pas pu rendre la tâche en raison d'une erreur.

Codes d'Erreur

404 - Task Not Found

{"code": 1, "message": "task not found"}

401 - Unauthorized

{"code": 401, "message": "Invalid API key"}

Modèles de données de l'API Ketchup

Schémas détaillés pour les charges utiles de requête, les réponses de tâche et les corps de webhook utilisés dans les intégrations de l'API Ketchup.

ImageGenResult

Represents a generated image result.

{
  "image": "https://google.datas.systems/fileSystem/response_images/287/2025/08/29/1756432513771985292_2989.png"
}
FieldTypeDescription
imagestringImage URL or base64 data URI

CallbackPayload

Payload sent to the callback_url when task status changes to final states.

{
  "result": [
    {
      "image": "https://google.datas.systems/fileSystem/response_images/287/2025/08/29/1756432513771985292_2989.png"
    }
  ],
  "status": "success",
  "task_id": "ta5c9705-b8ae-4cb9-aa6f-97c4fee88c8d",
  "consumed": "0.500000",
  "status_reason": {
    "message": null
  }
}
FieldTypeDescription
resultarrayArray of ImageGenResult objects (null if failed)
statusstringFinal task status (success/failed)
task_idstringUnique task identifier
consumedstringCredits consumed by the task
status_reasonobjectStatus details including error message if failed

Schémas de modèles

google/gempix2Nano Banana image generation model
google/gemini-2.5-flash-imageGemini 2.5 Flash image model

Dépannage

Comprendre les formats d'erreur de l'API Ketchup, les règles de nouvelle tentative et quand escalader vers le support.

Codes de statut HTTP

200

OK

Request was successful

400

Bad Request

Invalid request parameters or malformed JSON

401

Unauthorized

Invalid, missing, or expired API key

404

Not Found

Task not found or endpoint doesn't exist

500

Internal Server Error

Server-side error occurred

Meilleures pratiques

  1. Vérifiez le code de statut HTTP avant d'analyser la charge utile.
  2. Utilisez un backoff exponentiel lors de nouvelles tentatives de tâches API Ketchup après des erreurs 500.
  3. Enregistrez l'ID de requête pour que l'équipe de support de l'API Ketchup puisse tracer les problèmes.
  4. Validez les prompts et les URL d'image localement pour éviter les réponses 400.
  5. Changez les tokens de l'API Ketchup si l'authentification commence à échouer.
  6. Interrogez le statut des tâches au maximum une fois par seconde pour respecter les limites de taux.
  7. Préférez les webhooks pour les exécutions à haut volume afin que l'API Ketchup puisse envoyer des mises à jour.

Exemple de gestion d'erreur (JavaScript)

async function generateImage(prompt, apiKey) {
  try {
    const response = await fetch('https://api.defapi.org/api/image/gen', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${apiKey}`
      },
      body: JSON.stringify({
        model: 'google/gempix2',
        prompt: prompt
      })
    });

    if (!response.ok) {
      const errorData = await response.json();
      throw new Error(`API Error ${response.status}: ${errorData.message}`);
    }

    const data = await response.json();
    return data.data.task_id;

  } catch (error) {
    console.error('Image generation failed:', error.message);
    throw error;
  }
}