Décliner une image en variantes
Cet outil part d’une image existante et en produit des variantes : d’autres versions qui gardent l’esprit du visuel de départ tout en changeant des détails. Utile pour explorer des options autour d’une idée qui fonctionne, décliner un même parti pris ou disposer de plusieurs candidats à comparer.
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.
Décliner plutôt que recommencer
Quand un visuel vous convient sans être tout à fait le bon, refaire une image de zéro fait perdre l’acquis. La génération de variantes conserve la composition et l’ambiance générales et fait bouger les détails, pour proposer des versions voisines. Vous obtenez un éventail à comparer plutôt qu’un unique résultat à prendre ou à laisser, ce qui aide à trancher entre plusieurs directions proches.
Explorer une idée qui marche
Les variantes sont surtout utiles à l’étape du choix : une accroche visuelle tient, mais on hésite sur le cadrage, la couleur ou un élément secondaire. Plutôt que de décrire chaque option par écrit, on les fait générer et on juge sur pièces. C’est une manière de matérialiser des hypothèses côte à côte, là où l’imagination seule peine à départager deux pistes très semblables.
Ce que les variantes ne sont pas
Une variante n’est pas une copie retouchée au pixel près : chaque version est une nouvelle génération inspirée de la première, avec ses propres écarts. Les détails fins peuvent changer d’une déclinaison à l’autre. Pour un usage public, examinez chaque candidate comme un visuel à part entière. L’outil ouvre des pistes ; il ne garantit pas la fidélité exacte au visuel source dans le moindre détail.
Cas d’usage
Choix d’une accroche visuelle
Studio Lumen SAS décline un visuel de campagne en plusieurs versions pour les soumettre au choix d’un client.
Test de cadrages
Camille Moreau compare plusieurs variantes d’une même image d’ambiance avant de retenir celle qui habille le mieux une page.
Déclinaisons d’un même thème
Une association produit plusieurs versions d’un visuel d’événement pour varier les publications sans changer d’identité.
Exploration créative
Un graphiste part d’une image satisfaisante pour en explorer des voisines et ouvrir des pistes qu’il n’aurait pas décrites.
Questions fréquentes
Les variantes gardent-elles l’image de départ ?
Elles en conservent la composition et l’ambiance générales, tout en faisant varier les détails. Chaque version est une nouvelle génération inspirée du visuel source, pas une copie.
Combien de versions puis-je obtenir ?
Vous générez autant de variantes que nécessaire, chacune facturée à l’usage. C’est le principe : produire plusieurs candidates à comparer côte à côte.
Une variante reproduit-elle l’original à l’identique ?
Non. Chaque déclinaison a ses propres écarts, y compris sur les détails fins. Examinez chaque version comme un visuel à part entière avant de la retenir.
Quel est le tarif d’une variante ?
Le tarif est de $0.002 par requête et $0.0065 par image produite, en dollars US, réglé à l’usage, sans abonnement.
Mon image de départ est-elle conservée ?
Non. L’image source et les variantes produites 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/variations \
-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/variations", {
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/variations",
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/variations", 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/variations", 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.variations",
"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. |