Miniature de vidéo
Une miniature est l’image fixe qui représente une vidéo avant sa lecture : la vignette d’aperçu sur une plateforme, la couverture dans un article ou l’illustration d’un partage. L’outil prélève une image nette de la vidéo et la rend en fichier prêt à utiliser.
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.
Ce qu’est une miniature
Avant qu’une vidéo ne se lance, c’est une image fixe qui la présente : sur une plateforme de partage, dans une page web ou en aperçu d’un lien envoyé par messagerie. Une miniature nette et représentative donne envie de cliquer ; une image floue ou noire, prise au hasard, dessert la vidéo. L’outil choisit une image exploitable de la vidéo et l’exporte au format image, prête à servir de couverture.
Choisir l’instant capturé
Vous laissez l’outil retenir une image représentative, ou vous indiquez le moment précis à capturer, en minutes et secondes. Cette seconde possibilité est utile quand un plan particulier résume la vidéo mieux que son ouverture. L’image est exportée en PNG ou en JPEG, à la résolution de la vidéo, sans recadrage imposé. Vous récupérez un fichier unique, prêt à charger comme vignette ou à insérer dans un contenu.
Un tarif par vidéo
La miniature se paie à la vidéo, en dollars US, et non à la minute : $0.077 par requête, plus $0.0045 par vidéo, soit environ $0.08 pour une image de couverture, quelle que soit la durée du fichier. Pas d’abonnement ni de solde : vous réglez la miniature produite, une fois. La capacité est en cours de déploiement ; le prix est affiché, l’exécution ouvrira sur cette page, puis via l’API.
Cas d’usage
Vignette de plateforme
Élodie Garnier tire une couverture nette d’une de ses vidéos de cours pour remplacer la vignette grise proposée par défaut par la plateforme.
Illustration d’article
Un blog présente une vidéo intégrée : Thomas Rousseau en extrait une image fixe qui sert d’illustration en tête d’article et d’aperçu au partage.
Aperçu d’un lien
Studio Lumen SAS génère une image de couverture pour qu’un lien vers sa vidéo affiche une vignette soignée quand il circule par messagerie.
Questions fréquentes
Puis-je choisir l’image utilisée comme miniature ?
Oui. Laissez l’outil retenir une image représentative, ou indiquez le moment exact à capturer, en minutes et secondes, pour figer le plan qui résume le mieux la vidéo.
En quel format l’image est-elle exportée ?
En PNG ou en JPEG, à la résolution de la vidéo. Le PNG convient à une image nette sans compression ; le JPEG donne un fichier plus léger pour le web.
Le tarif dépend-il de la durée de la vidéo ?
Non. La miniature se facture à la vidéo : $0.077 par requête plus $0.0045 par vidéo, soit environ $0.08, que le fichier dure une minute ou une heure.
Ma vidéo est-elle conservée après coup ?
Non. Le fichier passe par nos serveurs le temps d’en tirer l’image, via un transfert chiffré, puis il est effacé. Seule la miniature vous est rendue au téléchargement.
L’outil est-il déjà actif ?
Il est en cours de déploiement. Le tarif est affiché et l’exécution sera ouverte prochainement, depuis cette page puis via l’API.
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/video/thumbnail \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/video/thumbnail", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video/thumbnail",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video/thumbnail", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video/thumbnail", 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
{
"input": "…"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.thumbnail",
"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 | 500 |
max_minutes | 60 |
max_megapixels | 3.9 |
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. |