# Video Notes API

> Erstellen Sie strukturierte KI-Notizen aus Videos – mit individuellen Prompts, Zeitstempeln, Längenvorgaben und optionalen Videoframes.

## Video Notes API

Senden Sie eine Video-URL oder eine hochgeladene Datei, um Zusammenfassungsinformationen und optional eine strukturierte KI-Notiz zu erstellen. Sie können die Anweisungen für die Notiz, die Ausgabesprache, die gewünschte Länge, Zeitstempel und die Einbindung relevanter Frames aus dem Quellvideo anpassen.

Jede Antwort enthält eine strukturierte Übersicht, Hashtags und Timeline-Highlights. Wenn die Erstellung einer KI-Notiz aktiviert ist, enthält die Antwort die Notiz sowohl im Markdown- als auch im Klartextformat. Ist die Erstellung einer KI-Notiz nicht aktiviert, enthält die Antwort nur die zusammenfassungsbezogenen Informationen.

## Unterstützte Videoquellen

Die API akzeptiert Video-URLs von YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble und weiteren Plattformen.

Sie können auch [lokale Videodateien hochladen](https://wayin.ai/de/api-docs/upload/) und verarbeiten – für lokale Uploads ist ein **Starter**-Abonnement oder höher erforderlich.

### Ablauf

1. **Senden Sie** eine Video-Notes-Aufgabe mit einer Video-URL oder der Kennung einer hochgeladenen Datei
2. **Fragen Sie** den Ergebnis-Endpunkt ab, bis `status` den Wert `SUCCEEDED` hat

---

## Video-Notes-Aufgabe einreichen

Erstellen Sie eine Aufgabe mit oder ohne KI-Notiz. Fügen Sie `note_params` hinzu, um eine KI-Notiz zu erstellen. Lassen Sie das Objekt weg, wenn Sie nur die Zusammenfassung, Hashtags und Timeline-Highlights benötigen.

```http
POST https://wayinvideo-api.wayin.ai/api/v2/notes
```

### Anfragekörper

| Parameter     | Typ    | Erforderlich | Standard | Beschreibung                                                                                                                                                                                    |
| ------------- | ------ | ------------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `video_url`   | string | Ja           | —        | URL des Quellvideos oder Kennung der hochgeladenen Datei                                                                                                                                        |
| `source_lang` | string | Nein         | `null`   | Quellsprache des Videos (siehe [Unterstützte Sprachen](https://wayin.ai/de/api-docs/supported-languages/)). Bei `null` erkennt das System die Originalsprache automatisch.                                         |
| `target_lang` | string | Nein         | `null`   | Zielsprache der erstellten Zusammenfassung und Highlights (siehe [Unterstützte Sprachen](https://wayin.ai/de/api-docs/supported-languages/)). Bei `null` entspricht die Ausgabesprache der erkannten Quellsprache. |
| `note_params` | object | Nein         | `null`   | Einstellungen für die Erstellung der KI-Notiz. Lassen Sie dieses Objekt weg, um keine KI-Notiz zu erstellen.                                                                                    |

### Notizparameter

| Parameter         | Typ     | Erforderlich, wenn `note_params` angegeben ist | Standard | Beschreibung                                     |
| ----------------- | ------- | ---------------------------------------------- | -------- | ------------------------------------------------ |
| `enable_note`     | boolean | Ja                                             | —        | Auf `true` setzen, um eine KI-Notiz zu erstellen |
| `generate_params` | object  | Ja                                             | —        | Einstellungen für die Erstellung der KI-Notiz    |

### Parameter zur Notizerstellung

| Parameter           | Typ     | Erforderlich | Standard | Beschreibung                                                                                                                                                               |
| ------------------- | ------- | ------------ | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `prompt`            | string  | Ja           | —        | Anweisungen zur gewünschten Struktur, zum Inhalt oder zum Schwerpunkt der Notiz                                                                                            |
| `language`          | string  | Nein         | `null`   | Ausgabesprache ausschließlich für die KI-Notiz; Zusammenfassung und Highlights bleiben davon unberührt (siehe [Unterstützte Sprachen](https://wayin.ai/de/api-docs/supported-languages/))     |
| `length_option`     | string  | Ja           | —        | Gewünschte Notizlänge: `short`, `medium` oder `long`                                                                                                                       |
| `include_timestamp` | boolean | Ja           | —        | Legt fest, ob relevanten Abschnitten und wichtigen Punkten Zeitstempel des Quellvideos hinzugefügt werden, damit Leser die entsprechenden Stellen im Video leichter finden |
| `image_visual`      | boolean | Nein         | `false`  | Legt fest, ob relevante, aus dem Quellvideo extrahierte Frames eingebunden werden                                                                                          |

### Beispielanfrage

```bash
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
      }
    }
  }'
```

```python
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,
            },
        },
    },
)
```

```javascript
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,
      },
    },
  }),
});
```

### Antwort auf das Einreichen

```json
{
  "data": {
    "id": "note_proj_001",
    "name": "sample project name",
    "status": "CREATED"
  }
}
```

| Feld     | Typ    | Beschreibung                                                        |
| -------- | ------ | ------------------------------------------------------------------- |
| `id`     | string | Aufgabenkennung zum Abrufen der Ergebnisse                          |
| `name`   | string | Aus dem Quellvideo abgeleiteter Aufgabenname                        |
| `status` | string | Anfänglicher Aufgabenstatus; akzeptierte Aufgaben liefern `CREATED` |

---

## Beispiele

Die folgenden Beispiele zeigen häufige Anwendungsfälle für Video Notes. Ersetzen Sie `YOUR_API_KEY` durch einen Schlüssel aus dem [API-Dashboard](https://wayin.ai/wayinvideo/api-dashboard).

### Prägnante Notizen mit Zeitstempeln erstellen

```bash
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
      }
    }
  }'
```

### Handlungsorientierte Besprechungsnotizen erstellen

```bash
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
      }
    }
  }'
```

### Ein Video ohne KI-Notiz verarbeiten

Lassen Sie `note_params` weg, um die Zusammenfassung, Hashtags und Timeline-Highlights ohne Notizdaten zurückzugeben.

```bash
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"
  }'
```

---

## Video-Notes-Ergebnisse abrufen

Fragen Sie diesen Endpunkt nach dem Einreichen einer Aufgabe ab, bis `status` den Wert `SUCCEEDED` hat. Die erfolgreiche Antwort enthält Zusammenfassungsinformationen und, falls angefordert, die erstellte KI-Notiz.

```http
GET https://wayinvideo-api.wayin.ai/api/v2/notes/results/{id}
```

### Pfadparameter

| Parameter | Typ    | Erforderlich | Beschreibung                                               |
| --------- | ------ | ------------ | ---------------------------------------------------------- |
| `id`      | string | Ja           | Vom Endpunkt zum Einreichen zurückgegebene Aufgabenkennung |

### Ergebnisanfrage

```bash
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"
```

```python
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",
    },
)
```

```javascript
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',
    },
  }
);
```

### Beispiel für eine erfolgreiche Antwort

```json
{
  "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
  }
}
```

### Antwortfelder

| Feld              | Typ      | Beschreibung                                                                                                           |
| ----------------- | -------- | ---------------------------------------------------------------------------------------------------------------------- |
| `summary_id`      | string   | Kennung der erstellten Zusammenfassung                                                                                 |
| `status`          | string   | Aufgabenstatus: `CREATED`, `QUEUED`, `ONGOING`, `SUCCEEDED` oder `FAILED`                                              |
| `error_message`   | string   | Fehlerursache; nur vorhanden, wenn `status` den Wert `FAILED` hat                                                      |
| `title`           | string   | KI-generierter Titel                                                                                                   |
| `video_thumbnail` | string   | URL des Vorschaubilds des Quellvideos                                                                                  |
| `summary`         | string   | Strukturierte Übersicht des Videos                                                                                     |
| `note_data`       | string   | KI-Notiz mit erhaltener Markdown-Struktur zur Markdown-Darstellung; wird weggelassen, wenn sie nicht angefordert wurde |
| `note_text`       | string   | Klartextversion der KI-Notiz ohne Markdown-Syntax; wird weggelassen, wenn sie nicht angefordert wurde                  |
| `tags`            | string[] | KI-generierte Hashtags                                                                                                 |
| `highlights`      | array    | Timeline-Abschnitte mit Zeitstempeln und wichtigen Ereignissen                                                         |
| `cost_usage`      | number   | Von der Aufgabe verbrauchte API-Einheiten                                                                              |

### Highlight-Objekt

| Feld     | Typ    | Beschreibung                                 |
| -------- | ------ | -------------------------------------------- |
| `start`  | number | Startzeit in Millisekunden                   |
| `end`    | number | Endzeit in Millisekunden                     |
| `desc`   | string | Abschnittstitel oder -beschreibung           |
| `events` | array  | Wichtige Ereignisse innerhalb des Highlights |

### Ereignisobjekt

| Feld        | Typ    | Beschreibung                  |
| ----------- | ------ | ----------------------------- |
| `timestamp` | number | Ereigniszeit in Millisekunden |
| `desc`      | string | Ereignisbeschreibung          |

---

## FAQ

### Worin unterscheiden sich Video Notes und Video Summarization?

Die [Video Summarization API](https://wayin.ai/de/api-docs/video-summarization/) erstellt eine Übersicht, Hashtags und Timeline-Highlights. Die Video Notes API gibt dieselben Zusammenfassungsinformationen zurück und kann zusätzlich eine anpassbare Notiz im Markdown- und Klartextformat erstellen.

### Ist die Erstellung einer KI-Notiz erforderlich?

Nein. Lassen Sie `note_params` weg, um Zusammenfassungsinformationen ohne KI-Notiz zurückzugeben. Um eine Notiz zu erstellen, geben Sie `note_params` an, setzen Sie `enable_note` auf `true` und fügen Sie `generate_params.prompt` hinzu.

### Worin unterscheiden sich `note_data` und `note_text`?

`note_data` behält die erstellte Markdown-Struktur bei, sodass Überschriften, Listen, Hervorhebungen und andere Formatierungen dargestellt werden können. `note_text` enthält dieselbe Notiz ohne Markdown-Syntax und eignet sich daher für Suchindizes, Embeddings, Vorschauen oder die Klartextspeicherung.

### Kann ich das Format der Notiz steuern?

Ja. Verwenden Sie `generate_params.prompt` für Anweisungen, `language` für die Sprache der Notiz, `length_option` für die gewünschte Länge, `include_timestamp` für Zeitstempel und `image_visual`, um relevante Videoframes einzubinden.

### Welche Videoquellen werden unterstützt?

URLs von YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble und weiteren Plattformen sowie lokale Datei-Uploads über die [Upload-API](https://wayin.ai/de/api-docs/upload/).
