Générer une image par IA
Cet outil crée une image à partir d’une description écrite : vous formulez la scène, le style et l’ambiance en quelques phrases, et il en tire un visuel. Pas de banque d’images à fouiller ni de droits à vérifier — le visuel est produit pour vous, à la demande, selon ce que vous décrivez.
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.
Écrire un prompt qui tient
La qualité du visuel dépend d’abord de la description. Nommez le sujet, mais aussi le style — photo, illustration, aquarelle —, la lumière, la palette et le cadrage. Une consigne vague donne un résultat vague ; une consigne précise resserre le champ des possibles. Mieux vaut décrire ce que l’on veut voir que ce que l’on veut éviter. Quelques essais successifs, en ajustant un élément à la fois, mènent plus sûrement au bon rendu.
Ce que la génération remplace
Là où l’on cherchait un visuel dans une banque d’images, quitte à se contenter d’un à-peu-près, la génération produit exactement la scène décrite. Elle dépanne quand aucune photo existante ne convient : une illustration pour un article, un fond pour une présentation, une image d’ambiance pour une maquette. Le gain n’est pas que le temps de recherche, c’est la liberté de composer un visuel qui n’existait pas.
Ce qu’il faut garder à l’esprit
Une image générée reste une invention : les détails fins — texte dans l’image, mains, symboles précis — peuvent être approximatifs, et deux essais identiques ne donnent pas le même rendu. Pour un usage public, relisez le visuel comme vous relisez un texte. La génération excelle sur l’ambiance et la composition ; elle demande de la vigilance dès qu’un détail exact — une marque, un chiffre, un logo — doit figurer sans erreur.
Cas d’usage
Illustration d’un article
Studio Lumen SAS génère une image d’ouverture sur mesure pour un billet de blog, faute de photo existante qui convienne.
Fond de présentation
Élodie Garnier crée un visuel d’ambiance pour la diapositive d’ouverture d’une présentation client.
Maquette d’un projet
Un graphiste compose des images de remplissage cohérentes pour montrer le rendu d’une page avant les visuels définitifs.
Visuel de réseau social
Une association produit une image originale pour annoncer un événement, sans piocher dans une banque d’images générique.
Questions fréquentes
Comment obtenir un bon résultat ?
Décrivez précisément le sujet, le style, la lumière et le cadrage, puis ajustez un élément à la fois sur quelques essais. Une consigne détaillée donne un visuel plus fidèle.
L’image contient-elle du texte lisible ?
Pas de façon fiable. Le texte dans une image générée est souvent approximatif : mieux vaut l’ajouter ensuite proprement plutôt que de compter sur la génération.
Deux essais donnent-ils la même image ?
Non. Chaque génération produit un rendu différent, même à consigne identique. C’est utile pour explorer, à garder en tête si vous cherchez à reproduire un visuel précis.
Combien coûte une image générée ?
Le tarif est de $0.002 par requête et $0.0065 par image générée, en dollars US, réglé à l’usage, sans abonnement.
Ma description est-elle conservée ?
Non. La consigne et le visuel produit sont traités le temps de la génération, transmis de façon chiffrée, puis supprimés 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/generate \
-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/generate", {
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/generate",
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/generate", 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/generate", 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.generate",
"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. |