Prompt à partir d’une image
Cet outil fait le chemin inverse d’un générateur : à partir d’une image, il rédige le prompt qui aurait pu servir à la produire. Sujet, style, ambiance, cadrage : le texte capte les traits saillants du visuel. Il sert ensuite de base pour régénérer une image proche ou décliner un même parti pris.
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.
De l’image vers le texte
Un prompt est la consigne texte que l’on donne à un générateur d’images. Ici, on part du résultat pour reconstituer la consigne : l’outil décrit le sujet, mais aussi le style, la lumière, la palette et le cadrage — les éléments qui font qu’une image ressemble à celle-ci. Le texte obtenu n’est pas une formule magique reproduisant le visuel à l’identique, mais une base solide pour s’en approcher.
Décliner un style que l’on aime
Vous tenez une image dont l’ambiance vous plaît et vous voudriez d’autres visuels dans le même esprit. Le prompt extrait sert de point de départ : vous en gardez le style, vous changez le sujet, et vous régénérez une série cohérente. C’est un moyen de nommer ce qui, dans une image, produit son atmosphère — un exercice difficile à faire de tête, plus facile à partir d’un texte que l’on ajuste.
Un point de départ à retravailler
Le prompt produit se relit et se modifie : on précise un détail, on retire un terme, on ajoute une contrainte. Deux images voisines peuvent d’ailleurs donner des prompts sensiblement différents, car la description privilégie certains traits. Prenez-le comme une matière première à façonner selon votre intention, non comme une empreinte exacte du visuel de départ que l’on rejouerait telle quelle.
Fonction en version bêta
Cette fonction est proposée en bêta : elle produit déjà des prompts exploitables, mais sa formulation est encore en cours d’ajustement. Attendez-vous à retravailler le texte selon le générateur que vous visez et l’effet recherché, plutôt qu’à obtenir une consigne parfaite du premier coup.
Cas d’usage
Décliner une ambiance
Studio Lumen SAS extrait le prompt d’un visuel qui plaît à un client pour en générer d’autres dans le même style.
Comprendre un rendu
Camille Moreau analyse une image inspirante pour nommer les traits — lumière, palette, cadrage — qui font son atmosphère.
Constituer une bibliothèque de prompts
Un studio réunit les prompts extraits de ses meilleures productions pour réutiliser des recettes de style éprouvées.
Point de départ créatif
Julien Lefèvre part du prompt d’une photo pour explorer des variations autour d’un même sujet.
Questions fréquentes
Le prompt reproduit-il l’image à l’identique ?
Non. Il en capte les traits — sujet, style, ambiance — pour s’en approcher, mais un générateur ne recrée jamais l’image d’origine au pixel près à partir d’un texte.
À quoi sert concrètement ce prompt ?
À régénérer un visuel proche ou à décliner un style : vous gardez la description de l’ambiance et vous changez le sujet, pour une série cohérente.
Cette fonction est en bêta, est-ce gênant ?
Elle produit des prompts exploitables, mais leur formulation s’ajuste encore. Prévoyez de retravailler le texte selon le générateur visé et l’effet recherché.
Combien coûte l’extraction d’un prompt ?
Le tarif est de $0.010 par requête et $0.0575 par image, en dollars US, réglé à l’usage, sans abonnement.
Mon image est-elle conservée ?
Non. Elle est transmise de façon chiffrée, analysée le temps de rédiger le prompt, puis supprimée de nos serveurs, texte compris.
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/prompt-from-image \
-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/prompt-from-image", {
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/prompt-from-image",
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/prompt-from-image", 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/prompt-from-image", 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.prompt_from_image",
"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. |