Générer une bannière
Cet outil génère une bannière à partir d’une description : un visuel horizontal pensé pour un en-tête de site, une couverture ou un encart publicitaire. Vous indiquez le message, le style et l’ambiance ; il compose une image aux proportions d’une bannière, prête à habiller une page ou une campagne.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
Un format pensé pour l’en-tête
Une bannière n’est pas une image carrée : c’est un visuel large, où le sujet et l’espace pour un message cohabitent. L’outil compose directement dans ces proportions, en tenant compte du fait qu’un texte viendra souvent s’y poser. Vous décrivez l’ambiance recherchée — sobre, énergique, chaleureuse — et le visuel s’organise en conséquence, plutôt que de vous laisser recadrer à la main une image prévue pour un autre usage.
Décrire le message avant le décor
Une bonne bannière sert une intention : annoncer une offre, planter une ambiance, mettre en avant un thème. Commencez par ce que la bannière doit faire passer, puis précisez le style et la palette. Prévoyez, si un texte doit figurer, une zone respirable où il restera lisible. Comme pour toute génération, quelques essais en ajustant un paramètre à la fois valent mieux qu’une consigne unique trop chargée.
Le texte, à poser proprement ensuite
Le texte intégré à une image générée reste souvent approximatif : caractères déformés, mots mal formés. Pour un titre ou une accroche, mieux vaut générer le décor puis ajouter le texte proprement par-dessus, avec une vraie police. La bannière fournit ainsi le fond et l’ambiance ; le message net se pose dans un second temps, ce qui garantit une lecture sans faute là où elle compte.
Fonction en version bêta
Cette fonction est proposée en bêta : elle produit déjà des bannières exploitables, mais sa composition est encore en cours d’ajustement. Attendez-vous à générer plusieurs essais et à retoucher le résultat — notamment pour poser le texte — avant de l’utiliser sur une page ou une campagne en ligne.
Cas d’usage
En-tête de site
Menuiserie Rousseau & Fils génère un visuel d’en-tête chaleureux pour sa page d’accueil, à ses proportions exactes.
Couverture de réseau social
Nadia Benali crée une bannière de couverture assortie à l’identité d’une page, puis y ajoute le texte proprement.
Encart d’une campagne
Studio Lumen SAS produit plusieurs fonds de bannière pour un encart publicitaire, avant d’y poser le message définitif.
Bandeau d’annonce
Une association génère un bandeau d’ambiance pour annoncer un événement en haut de son site.
Questions fréquentes
La bannière est-elle aux bonnes proportions ?
Oui. L’outil compose directement dans un format large d’en-tête, en réservant de la place pour un message, plutôt que de vous laisser recadrer une image carrée.
Puis-je intégrer un titre dans la bannière ?
Le texte généré dans l’image reste approximatif. Générez le décor, puis posez le titre proprement par-dessus avec une vraie police pour une lecture sans faute.
Cette fonction est en bêta, est-ce fiable ?
Elle produit des bannières exploitables, mais sa composition s’ajuste encore. Prévoyez plusieurs essais et une retouche du texte avant un usage public.
Combien coûte une bannière ?
Le tarif est de $0.002 par requête et $0.0065 par image, en dollars US, réglé à l’usage, sans abonnement.
Ma description est-elle conservée ?
Non. La consigne et la bannière produite sont traitées le temps de la génération, transmises de façon chiffrée, puis supprimées de nos serveurs.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/image/banner \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/image/banner", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/banner",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/banner", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/banner", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"image": "https://ejemplo.com/imagen.jpg"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.banner",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 15 |
max_megapixels | 12 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
422 | task_failed | La tâche a échoué : elle ne vous est pas facturée. |