# Video-Enhancer-API

> Verbessern Sie eine Plattform-Videodatei oder eine hochgeladene Datei auf 1080p, 2K oder 4K, optional mit Textschärfung und einem Ausschnitt von bis zu 10 Minuten.

## Video-Enhancer-API

Senden Sie ein Video, das bereits auf der Plattform liegt, oder eine hochgeladene Datei, und erhalten Sie eine verbesserte Version in 1080p, 2K oder 4K. Die Schärfung von Bildtext lässt sich ein- oder ausschalten. Sie können das ganze Video oder einen Ausschnitt von bis zu 10 Minuten verarbeiten.

## Unterstützte Videoquellen

Übergeben Sie eine Datei-URL der Plattform oder die `identity` aus der [Upload-API](https://wayin.ai/de/api-docs/upload/). Lokale Uploads erfordern ein **Starter**-Abonnement oder höher.

### Ablauf

1. **Senden** Sie eine Verbesserungsaufgabe mit Quellvideo und Zielauflösung
2. **Fragen** Sie das Ergebnis ab, bis `status` `DONE` oder `ERROR` ist
3. Lesen Sie `output_url`, wenn `status` `DONE` ist

---

## Endpunkte

| Methode | Pfad                                  | Beschreibung                      |
| ------- | ------------------------------------- | --------------------------------- |
| `POST`  | `/api/v2/video-enhancer`              | Verbesserungsaufgabe senden       |
| `GET`   | `/api/v2/video-enhancer/results/{id}` | Aufgabenergebnis abrufen          |

Alle Anfragen benötigen:

```http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
x-wayinvideo-api-version: v2
```

---

## Verbesserungsaufgabe senden

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

### Anfragekörper

| Parameter        | Typ     | Erforderlich | Standard | Beschreibung                                                                                                                                                                      |
| ---------------- | ------- | ------------ | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `video_url`      | string  | Ja           | —        | Datei-URL der Plattform oder die `identity` aus der [Upload-API](https://wayin.ai/de/api-docs/upload/).                                                                                              |
| `target_res`     | string  | Ja           | —        | Ausgabeauflösung. Erlaubte Werte: `1080p`, `2k`, `4k`.                                                                                                                            |
| `enable_text_hd` | boolean | Nein         | `true`   | Bildtext schärfen. Wird das Feld weggelassen, gilt `true`.                                                                                                                        |
| `start_ms`       | integer | Nein         | —        | Ausschnittbeginn in Millisekunden. Wenn `start_ms` und `end_ms` fehlen, wird das ganze Video verarbeitet, weiterhin mit der Obergrenze von 10 Minuten. Nur eines der beiden Felder wird abgelehnt. |
| `end_ms`         | integer | Nein         | —        | Ausschnittende in Millisekunden. Muss größer als `start_ms` sein und darf die Quelldauer nicht überschreiten.                                                                    |

Der verarbeitete Bereich darf höchstens 10 Minuten lang sein. Die Abrechnung nutzt diesen Bereich und rundet auf die nächste volle Sekunde auf. Die Sätze stehen auf der Seite [Abrechnung](https://wayin.ai/de/api-docs/pricing/).

### Beispielanfrage

```bash
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/video-enhancer \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-wayinvideo-api-version: v2" \
  -d '{
    "video_url": "EF_up_06wguq1afbwg1",
    "target_res": "1080p",
    "enable_text_hd": true,
    "start_ms": 0,
    "end_ms": 8000
  }'
```

```python
import requests

requests.post(
    "https://wayinvideo-api.wayin.ai/api/v2/video-enhancer",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "x-wayinvideo-api-version": "v2",
    },
    json={
        "video_url": "EF_up_06wguq1afbwg1",
        "target_res": "1080p",
        "enable_text_hd": True,
        "start_ms": 0,
        "end_ms": 8000,
    },
)
```

```javascript
await fetch('https://wayinvideo-api.wayin.ai/api/v2/video-enhancer', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'x-wayinvideo-api-version': 'v2',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    video_url: 'EF_up_06wguq1afbwg1',
    target_res: '1080p',
    enable_text_hd: true,
    start_ms: 0,
    end_ms: 8000,
  }),
});
```

### Antwort

Eine neu gesendete Aufgabe ist in der Regel `PENDING` (in der Warteschlange) oder `IN_PROGRESS` (wird bereits ausgeführt).

```json
{
  "data": {
    "id": "proj_01HQ2X8J3K4L5M6N7O8P9Q0R",
    "status": "IN_PROGRESS"
  }
}
```

| Feld         | Typ    | Beschreibung                                                                                  |
| ------------ | ------ | --------------------------------------------------------------------------------------------- |
| `id`         | string | Project-ID. Wird im Ergebnispfad übergeben.                                                  |
| `status`     | string | `PENDING` (Warteschlange), `IN_PROGRESS` (läuft), `DONE` (fertig) oder `ERROR` (fehlgeschlagen). |
| `output_url` | string | URL des verbesserten Videos. Nur vorhanden, wenn `status` `DONE` ist.                        |

---

## Verbesserungsergebnis abrufen

Fragen Sie mit der `id` aus der Sendeantwort ab, bis `status` `DONE` oder `ERROR` ist. Lesen Sie `output_url`, wenn `status` `DONE` ist.

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

### Beispielanfrage

```bash
curl -X GET https://wayinvideo-api.wayin.ai/api/v2/video-enhancer/results/proj_01HQ2X8J3K4L5M6N7O8P9Q0R \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-wayinvideo-api-version: v2"
```

### Antwort

```json
{
  "data": {
    "id": "proj_01HQ2X8J3K4L5M6N7O8P9Q0R",
    "status": "DONE",
    "output_url": "https://cdn.viralhub.ai/user/video_0_8000_1080p.mp4"
  }
}
```

Die Felder entsprechen der Sendeantwort. `output_url` ist enthalten, wenn die Aufgabe abgeschlossen ist.

---

## Abrechnung

Der Video-Enhancer verbraucht **API-Einheiten** für den verarbeiteten Bereich, aufgerundet auf die nächste volle Sekunde. Weniger als 1 Sekunde zählt als 1 Sekunde.

| Zielauflösung | API-Einheiten   |
| ------------- | --------------- |
| 1080p         | 1 pro Sekunde   |
| 2K (`2k`)     | 2 pro Sekunde   |
| 4K (`4k`)     | 4 pro Sekunde   |

Wenn nicht genügend API-Einheiten vorhanden sind, wird die Aufgabe nicht erstellt und es werden keine Einheiten abgezogen. Siehe [Abrechnung](https://wayin.ai/de/api-docs/pricing/) und [Statuscodes](https://wayin.ai/de/api-docs/status-codes/).

---

## Fehler

Fehlgeschlagene Anfragen verwenden die üblichen Statuscodes und Antwortformate. Siehe [Statuscodes](https://wayin.ai/de/api-docs/status-codes/).
