API Video Summarization
Soumettez une vidéo de n'importe quelle durée et recevez une vue d'ensemble structurée, des hashtags et des temps forts générés par IA. L'API prend en charge tous les types de contenus, des clips courts aux vidéos de plusieurs heures, depuis les principales plateformes et les fichiers téléversés localement, avec des paramètres de langue.
Sources Vidéo Prises en Charge
L'API accepte les URLs des plateformes suivantes : YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble et plus encore.
Vous pouvez également résumer des fichiers vidéo ou audio locaux que vous téléversez — le téléversement local nécessite un abonnement Standard ou supérieur.
Flux de Travail
- Soumettez une tâche de résumé depuis une URL de vidéo
- Interrogez les résultats jusqu'à ce que le statut soit
SUCCEEDED
Soumettre une Tâche de Résumé
Soumettez une nouvelle tâche de résumé. C'est le point d'entrée pour toutes les fonctionnalités de résumé.
POST https://wayinvideo-api.wayin.ai/api/v2/summaries
Corps de la Requête
| Paramètre | Type | Obligatoire | Défaut | Description |
|---|---|---|---|---|
video_url | string | Oui | — | L'URL de la vidéo source ou l'identifiant du fichier téléversé |
source_lang | string | Non | null | Langue source de la vidéo (voir Langues prises en charge). Si null, le système détecte automatiquement la langue d'origine. |
target_lang | string | Non | null | Langue cible pour le contenu de sortie, y compris le résumé, les descriptions et les temps forts (voir Langues prises en charge). Si null, la langue de sortie correspond à source_lang. |
Exemple de Requête
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/summaries \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-d '{
"video_url": "https://www.youtube.com/watch?v=example",
"target_lang": "en"
}'
import requests
requests.post(
"https://wayinvideo-api.wayin.ai/api/v2/summaries",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
},
json={
"video_url": "https://www.youtube.com/watch?v=example",
"target_lang": "en",
},
)
await fetch("https://wayinvideo-api.wayin.ai/api/v2/summaries", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
"Content-Type": "application/json",
},
body: JSON.stringify({
video_url: "https://www.youtube.com/watch?v=example",
target_lang: "en",
}),
});
Réponse
{
"data": {
"id": "sum_proj_001",
"name": "sample project name",
"status": "CREATED"
}
}
| Champ | Type | Description |
|---|---|---|
id | string | Identifiant de la tâche (utilisé dans les requêtes suivantes) |
name | string | Nom de la tâche |
status | string | CREATED, QUEUED, ONGOING, SUCCEEDED, FAILED |
Exemples
Scénarios courants de résumé. Remplacez YOUR_API_KEY par une clé issue du Tableau de bord API.
Résumer une vidéo YouTube
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/summaries \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{"video_url": "https://www.youtube.com/watch?v=EXAMPLE"}'
Résumer un long épisode de podcast
Les podcasts de plusieurs heures fonctionnent de la même manière — soumettez et interrogez. La réponse inclut des temps forts de la timeline pour parcourir rapidement des heures d'audio.
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/summaries \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{"video_url": "https://www.youtube.com/watch?v=EXAMPLE"}'
Résumer un webinaire dans une autre langue
Définissez target_lang pour traduire le résumé, les temps forts et les descriptions dans la langue cible même lorsque la vidéo source est dans une langue différente.
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/summaries \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://www.youtube.com/watch?v=EXAMPLE",
"source_lang": "en",
"target_lang": "ja"
}'
Récupérer les Résultats du Résumé
Récupérez le résumé, les temps forts et les tags. Interrogez jusqu'à ce que status soit SUCCEEDED.
GET https://wayinvideo-api.wayin.ai/api/v2/summaries/results/{id}
Paramètres de Chemin
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
id | string | Oui | L'ID de tâche retourné par l'endpoint de soumission |
Exemple de Requête
curl -X GET https://wayinvideo-api.wayin.ai/api/v2/summaries/results/sum_proj_001 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2"
Réponse
{
"data": {
"status": "SUCCEEDED",
"title": "sample title",
"video_thumbnail": "https://cdn.example.com/thumb/video_001.jpg",
"summary": "sample summary text",
"tags": ["#topic1", "#topic2", "#topic3"],
"highlights": [
{
"start": 0,
"end": 196000,
"desc": "sample section title",
"events": [
{
"timestamp": 160,
"desc": "sample event description"
},
{
"timestamp": 17920,
"desc": "sample event description"
}
]
}
],
"cost_usage": 54.0
}
}
Champs de la Réponse de Résumé
| Champ | Type | Description |
|---|---|---|
status | string | CREATED, QUEUED, ONGOING, SUCCEEDED, FAILED |
error_message | string | Raison de l'erreur (présent uniquement quand status est FAILED) |
title | string | Titre généré par IA |
video_thumbnail | string | URL de la miniature de la vidéo |
summary | string | Aperçu textuel complet |
tags | string[] | Hashtags générés par IA |
highlights | array | Segments de temps forts de la timeline (voir ci-dessous) |
cost_usage | number | Crédits API consommés pour cette requête |
Objet Highlight
| Champ | Type | Description |
|---|---|---|
start | number | Temps de début en millisecondes |
end | number | Temps de fin en millisecondes |
desc | string | Titre / description de la section |
events | array | Événements clés au sein du temps fort |
Objet Event
| Champ | Type | Description |
|---|---|---|
timestamp | number | Horodatage de l'événement en millisecondes |
desc | string | Description de l'événement |
FAQ
Quelle est la durée maximale d'une vidéo ?
Il n'y a pas de limite stricte. L'API prend en charge les clips courts comme les vidéos longues, notamment les épisodes de podcast, les webinaires complets, les enregistrements de cours et les rediffusions de livestreams.
Que contient la réponse du résumé ?
Une vue d'ensemble structurée, des hashtags et une timeline de segments de temps forts avec horodatages de début/fin et descriptions. Les temps forts facilitent le rendu d'une interface timeline ou la génération automatique de marqueurs de chapitres.
Puis-je obtenir un résumé dans une langue différente de la source ?
Oui — passez target_lang pour traduire la vue d'ensemble, les descriptions et les temps forts dans la langue cible même lorsque la vidéo source est dans une langue différente.
Quelles sources vidéo sont prises en charge ?
Les URLs de YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble et plus encore, ainsi que les téléversements de fichiers locaux via l'API Upload.