API Video Notes
Soumettez une URL de vidéo ou un fichier téléversé afin de générer un résumé et, si vous le souhaitez, une note structurée par IA. Vous pouvez personnaliser les instructions de la note, sa langue de sortie, sa longueur souhaitée, ses horodatages et l'inclusion éventuelle d'images pertinentes extraites de la vidéo source.
Chaque réponse comprend une vue d'ensemble structurée, des hashtags et des temps forts de la chronologie. Lorsque la génération de notes par IA est activée, la réponse inclut également la note aux formats Markdown et texte brut. Lorsqu'elle n'est pas activée, la réponse contient uniquement les informations liées au résumé.
Sources Vidéo Prises en Charge
L'API accepte les URL de vidéos provenant de YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble et bien d'autres plateformes.
Vous pouvez également traiter les fichiers vidéo locaux que vous téléversez — le téléversement local nécessite un abonnement Starter ou supérieur.
Flux de Travail
- Soumettez une tâche Video Notes à l'aide d'une URL de vidéo ou de l'identifiant d'un fichier téléversé
- Interrogez l'endpoint de résultats jusqu'à ce que
statussoitSUCCEEDED
Soumettre une Tâche Video Notes
Créez une tâche avec ou sans génération de note par IA. Incluez note_params pour générer une note par IA ; omettez-le si vous avez uniquement besoin du résumé, des hashtags et des temps forts de la chronologie.
POST https://wayinvideo-api.wayin.ai/api/v2/notes
Corps de la Requête
| Paramètre | Type | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|---|
video_url | string | Oui | — | URL de la vidéo source ou identifiant du fichier téléversé |
source_lang | string | Non | null | Langue source de la vidéo (voir Langues prises en charge). Si la valeur est null, le système détecte automatiquement la langue d'origine. |
target_lang | string | Non | null | Langue cible du résumé et des temps forts générés (voir Langues prises en charge). Si la valeur est null, la langue de sortie suit la langue source détectée. |
note_params | object | Non | null | Paramètres de génération de la note par IA. Omettez cet objet pour ignorer la génération de note par IA. |
Paramètres de la Note
| Paramètre | Type | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|---|
enable_note | boolean | Oui si note_params est fourni | — | Définissez sur true pour générer une note par IA |
generate_params | object | Oui si note_params est fourni | — | Paramètres de génération de la note par IA |
Paramètres de Génération de la Note
| Paramètre | Type | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|---|
prompt | string | Oui | — | Instructions décrivant la structure, le contenu ou le sujet souhaité pour la note |
language | string | Non | null | Langue de sortie de la note par IA uniquement ; elle n'affecte ni le résumé ni les temps forts (voir Langues prises en charge) |
length_option | string | Oui | — | Longueur souhaitée de la note : short, medium ou long |
include_timestamp | boolean | Oui | — | Indique s'il faut ajouter des horodatages de la vidéo source aux sections et points clés concernés, afin d'aider les lecteurs à retrouver les passages correspondants dans la vidéo |
image_visual | boolean | Non | false | Indique s'il faut inclure des images pertinentes extraites de la vidéo source |
Exemple de Requête
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/notes \
-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",
"source_lang": "en",
"target_lang": "en",
"note_params": {
"enable_note": true,
"generate_params": {
"prompt": "Organize the main ideas and action items",
"language": "en",
"length_option": "medium",
"include_timestamp": true,
"image_visual": false
}
}
}'
import requests
requests.post(
"https://wayinvideo-api.wayin.ai/api/v2/notes",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
},
json={
"video_url": "https://www.youtube.com/watch?v=EXAMPLE",
"target_lang": "en",
"note_params": {
"enable_note": True,
"generate_params": {
"prompt": "Organize the main ideas and action items",
"language": "en",
"length_option": "medium",
"include_timestamp": True,
},
},
},
)
await fetch('https://wayinvideo-api.wayin.ai/api/v2/notes', {
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',
note_params: {
enable_note: true,
generate_params: {
prompt: 'Organize the main ideas and action items',
language: 'en',
length_option: 'medium',
include_timestamp: true,
},
},
}),
});
Réponse de Soumission
{
"data": {
"id": "note_proj_001",
"name": "sample project name",
"status": "CREATED"
}
}
| Champ | Type | Description |
|---|---|---|
id | string | Identifiant de la tâche utilisé pour récupérer les résultats |
name | string | Nom de la tâche dérivé de la vidéo source |
status | string | Statut initial de la tâche ; les tâches acceptées renvoient CREATED |
Exemples
Les exemples ci-dessous présentent des cas d'usage courants de Video Notes. Remplacez YOUR_API_KEY par une clé provenant du Tableau de bord API.
Générer des Notes Concises avec des Horodatages
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/notes \
-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",
"note_params": {
"enable_note": true,
"generate_params": {
"prompt": "Create concise notes covering the main ideas",
"length_option": "short",
"include_timestamp": true
}
}
}'
Générer des Notes de Réunion Axées sur l'Action
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/notes \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{
"video_url": "UPLOADED_FILE_ID",
"note_params": {
"enable_note": true,
"generate_params": {
"prompt": "Create meeting notes with decisions, owners, and action items",
"length_option": "medium",
"include_timestamp": true
}
}
}'
Traiter une Vidéo sans Note par IA
Omettez note_params pour obtenir le résumé, les hashtags et les temps forts de la chronologie sans données de note.
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/notes \
-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",
"target_lang": "en"
}'
Récupérer les Résultats Video Notes
Après avoir soumis une tâche, interrogez cet endpoint jusqu'à ce que status soit SUCCEEDED. La réponse obtenue contient les informations du résumé et, lorsqu'elle a été demandée, la note générée par IA.
GET https://wayinvideo-api.wayin.ai/api/v2/notes/results/{id}
Paramètres de Chemin
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
id | string | Oui | ID de la tâche renvoyé par l'endpoint de soumission |
Requête de Résultats
curl -X GET https://wayinvideo-api.wayin.ai/api/v2/notes/results/note_proj_001 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2"
import requests
requests.get(
"https://wayinvideo-api.wayin.ai/api/v2/notes/results/note_proj_001",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
},
)
await fetch(
'https://wayinvideo-api.wayin.ai/api/v2/notes/results/note_proj_001',
{
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'x-wayinvideo-api-version': 'v2',
},
}
);
Exemple de Réponse Réussie
{
"data": {
"summary_id": "vdsmr_001",
"status": "SUCCEEDED",
"title": "sample title",
"video_thumbnail": "https://cdn.example.com/thumb/video_001.jpg",
"summary": "sample summary text",
"note_data": "# Main Ideas\n\n- **00:45** First key point\n- **03:20** Second key point",
"note_text": "Main Ideas\n\n00:45 First key point\n03:20 Second key point",
"tags": ["#topic1", "#topic2"],
"highlights": [
{
"start": 0,
"end": 196000,
"desc": "sample section title",
"events": [
{
"timestamp": 45000,
"desc": "sample event description"
}
]
}
],
"cost_usage": 54.0
}
}
Champs de la Réponse
| Champ | Type | Description |
|---|---|---|
summary_id | string | Identifiant du résumé généré |
status | string | Statut de la tâche : CREATED, QUEUED, ONGOING, SUCCEEDED ou FAILED |
error_message | string | Motif de l'erreur ; présent uniquement lorsque status vaut FAILED |
title | string | Titre généré par IA |
video_thumbnail | string | URL de la miniature de la vidéo source |
summary | string | Vue d'ensemble structurée de la vidéo |
note_data | string | Note par IA conservant la structure Markdown, adaptée à un rendu Markdown ; omise si elle n'a pas été demandée |
note_text | string | Version en texte brut de la note par IA, sans syntaxe Markdown ; omise si elle n'a pas été demandée |
tags | string[] | Hashtags générés par IA |
highlights | array | Sections de la chronologie avec horodatages et événements clés |
cost_usage | number | API Units consommées par la tâche |
Objet Highlight
| Champ | Type | Description |
|---|---|---|
start | number | Heure de début en millisecondes |
end | number | Heure de fin en millisecondes |
desc | string | Titre ou description de la section |
events | array | Événements clés du temps fort |
Objet Event
| Champ | Type | Description |
|---|---|---|
timestamp | number | Heure de l'événement en millisecondes |
desc | string | Description de l'événement |
FAQ
Quelle est la Différence entre Video Notes et Video Summarization ?
L'API Video Summarization génère une vue d'ensemble, des hashtags et des temps forts de la chronologie. L'API Video Notes renvoie les mêmes informations de résumé et peut également générer une note personnalisable aux formats Markdown et texte brut.
La Génération d'une Note par IA est-elle Obligatoire ?
Non. Omettez note_params pour obtenir les informations de résumé sans note par IA. Pour générer une note, fournissez note_params, définissez enable_note sur true et incluez generate_params.prompt.
Quelle est la Différence entre note_data et note_text ?
note_data conserve la structure Markdown générée pour afficher les titres, listes, emphases et autres éléments de mise en forme. note_text contient la même note sans la syntaxe Markdown, ce qui convient à l'indexation de recherche, aux embeddings, aux aperçus ou au stockage en texte brut.
Puis-je Contrôler le Format de la Note ?
Oui. Utilisez generate_params.prompt pour les instructions, language pour la langue de la note, length_option pour la longueur souhaitée, include_timestamp pour les horodatages et image_visual pour inclure des images pertinentes de la vidéo.
Quelles Sources Vidéo sont Prises en Charge ?
Les URL de YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble et bien d'autres plateformes, ainsi que les fichiers locaux téléversés via l'API Upload.