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.
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.orgoverview.api_version
v1.0.0Premiers Pas avec l'API Ketchup
- Ouvrez un espace de travail de l'API Ketchup et créez un jeton d'accès.
- Ajoutez le jeton Bearer de l'API Ketchup à l'en-tête Authorization pour chaque appel.
- 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.
- Stockez l'ID de tâche retourné et interrogez le point de terminaison de statut ou abonnez-vous aux webhooks.
- 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-1234567890abcdefExemple 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/genParamètres de Requête
| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | Yes | Model identifier (e.g., "google/gempix2") |
| prompt | string | Yes | Text prompt describing the image |
| images | array | No | Reference image URLs (max 4) |
| callback_url | string | No | Webhook 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
| Parameter | Type | Required | Description |
|---|---|---|---|
| task_id | string | Yes | Unique 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"
}| Field | Type | Description |
|---|---|---|
| image | string | Image 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
}
}| Field | Type | Description |
|---|---|---|
| result | array | Array of ImageGenResult objects (null if failed) |
| status | string | Final task status (success/failed) |
| task_id | string | Unique task identifier |
| consumed | string | Credits consumed by the task |
| status_reason | object | Status details including error message if failed |
Schémas de modèles
google/gempix2Nano Banana image generation modelgoogle/gemini-2.5-flash-imageGemini 2.5 Flash image modelDé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
OK
Request was successful
Bad Request
Invalid request parameters or malformed JSON
Unauthorized
Invalid, missing, or expired API key
Not Found
Task not found or endpoint doesn't exist
Internal Server Error
Server-side error occurred
Meilleures pratiques
- Vérifiez le code de statut HTTP avant d'analyser la charge utile.
- Utilisez un backoff exponentiel lors de nouvelles tentatives de tâches API Ketchup après des erreurs 500.
- Enregistrez l'ID de requête pour que l'équipe de support de l'API Ketchup puisse tracer les problèmes.
- Validez les prompts et les URL d'image localement pour éviter les réponses 400.
- Changez les tokens de l'API Ketchup si l'authentification commence à échouer.
- Interrogez le statut des tâches au maximum une fois par seconde pour respecter les limites de taux.
- 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;
}
}