Filigrane sur une vidéo
Un filigrane est un logo ou un texte apposé en surimpression sur toute la durée d’une vidéo : il signe vos images, décourage la reprise sans autorisation et rappelle qui en est l’auteur. Vous fournissez la vidéo et le logo ou le texte, l’outil rend la version marquée, prête à diffuser.
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.
Signer et protéger ses images
Une vidéo diffusée en ligne circule et se copie facilement. Un filigrane discret — logo dans un coin, nom de la marque en surimpression — rend la reprise sans autorisation moins tentante et garde votre signature visible même quand le fichier est partagé hors de son contexte. Ce n’est pas un verrou technique, mais un marquage clair, dissuasif et immédiatement lisible par celui qui regarde la vidéo.
Logo ou texte, et son placement
Vous apposez une image — votre logo, idéalement sur fond transparent — ou un simple texte. Le placement se choisit : un coin pour rester discret, le centre pour une protection plus affirmée. L’opacité se règle afin que le filigrane marque l’image sans gêner la lecture. Le marquage s’applique sur toute la durée de la vidéo, du premier au dernier plan, et non sur une seule séquence.
Limites et tarif
La vidéo peut atteindre 500 Mo et 60 min. Le service se paie à l’usage, en dollars US : $0.077 par requête, puis $0.0045 par minute. Une vidéo de dix minutes revient à environ $0.12, calculée sur la durée réelle, sans abonnement ni engagement. La capacité est en cours de déploiement : le prix est affiché, l’exécution ouvrira d’abord sur cette page, puis via l’API et les autres canaux à venir.
Cas d’usage
Signature de marque
Studio Lumen SAS appose son logo dans un coin de chaque vidéo publiée pour que sa signature reste visible même si le fichier est repartagé ailleurs.
Contenu protégé
Élodie Garnier marque ses vidéos de formation d’un filigrane centré, afin de décourager la diffusion de ses modules payants hors de sa plateforme.
Aperçu avant achat
Un vidéaste diffuse une version filigranée en aperçu et réserve la version propre au client une fois la commande réglée.
Questions fréquentes
Puis-je utiliser mon logo comme filigrane ?
Oui. Fournissez une image de logo, de préférence sur fond transparent, pour qu’elle se pose proprement sur la vidéo sans rectangle visible autour.
Où le filigrane apparaît-il ?
Où vous le décidez : un coin pour rester discret, le centre pour une protection plus marquée. L’opacité se règle afin de signer l’image sans gêner la lecture.
Le filigrane couvre-t-il toute la vidéo ?
Oui, il s’applique du premier au dernier plan, sur toute la durée, et non sur une seule séquence. Il accompagne la vidéo partout où elle est diffusée.
Combien coûte l’ajout d’un filigrane ?
Le tarif est de $0.077 par requête, plus $0.0045 par minute. Dix minutes reviennent à environ $0.12, en dollars US, sans abonnement.
Ma vidéo est-elle supprimée après le marquage ?
Oui. Le fichier et le logo transitent par nos serveurs le temps du réencodage, via un transfert chiffré, puis ils sont effacés une fois la vidéo marquée récupérée.
L’outil est-il déjà disponible ?
Il est en cours de déploiement. Le tarif est publié ; l’exécution ouvrira sous peu, sur 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/watermark \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"audio":"https://ejemplo.com/audio.mp3"}'const res = await fetch("https://api.kit.forhosting.com/video/watermark", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"audio": "https://ejemplo.com/audio.mp3"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video/watermark",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"audio": "https://ejemplo.com/audio.mp3"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video/watermark", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"audio":"https://ejemplo.com/audio.mp3"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"audio":"https://ejemplo.com/audio.mp3"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video/watermark", 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
{
"audio": "https://ejemplo.com/audio.mp3"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.watermark",
"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. |