Wan 2.7 VideoEdit API auf Novita AI: So bearbeiten Sie Videos mit KI

Wan 2.7 VideoEdit API auf Novita AI: So bearbeiten Sie Videos mit KI

Wan 2.7 VideoEdit auf Novita AI ist der richtige Endpunkt, wenn Sie bereits Filmmaterial haben und das Modell die Szene umgestalten oder neu schreiben lassen möchten, ohne die Bewegung von Grund auf neu aufzubauen. Sie senden ein Quellvideo an POST https://api.novita.ai/v3/async/wan2.7-videoedit, erhalten eine task_id zurück und fragen dann GET /v3/async/task-result ab, bis der bearbeitete Clip bereit ist. Diese Anleitung zeigt die genaue Request-Struktur, wann Referenzbilder hinzugefügt werden sollten und die Implementierungsdetails, die wichtig sind, bevor Sie es in die Produktion einbinden.

Wann Wan 2.7 VideoEdit das richtige Werkzeug ist

Verwenden Sie Wan 2.7 VideoEdit, wenn Timing und Kamerabewegung in Ihrem Quellclip bereits gut genug sind und Sie möchten, dass KI das ändert, was der Betrachter sieht, anstatt wie die Einstellung aufgebaut ist.

Typische Anwendungsfälle:

  • Sie haben einen Live-Action-Clip und möchten ihn in eine Anime-, Film- oder stilisierte Renderung umwandeln.
  • Sie müssen Kleidung, Umgebung, Requisiten oder Atmosphäre ändern, während der ursprüngliche Bewegungsbogen erhalten bleibt.
  • Sie möchten eine promptgesteuerte Transformation auf das Filmmaterial anwenden und das Erscheinungsbild optional mit einem Referenzbild untermauern.

Es ist nicht der richtige Endpunkt, wenn:

  • Sie eine völlig neue Bewegung allein aus Text benötigen. Verwenden Sie stattdessen Wan 2.7 T2V.
  • Sie ein Standbild animieren möchten. Verwenden Sie stattdessen Wan 2.7 I2V.
  • Sie ein Multi-Charakter-Rollenspiel mit benannten Referenz-Slots in einer generierten Szene benötigen. Verwenden Sie stattdessen Wan 2.7 R2V.

Diese Unterscheidung ist wichtig, da VideoEdit von einem Eingabeclip ausgeht. Wenn die ursprüngliche Bewegung falsch ist, wird das Modell die Choreografie nicht für Sie korrigieren.

Bestätigter Endpunkt und Workflow

Wan 2.7 VideoEdit auf Novita AI verwendet einen Submit-Endpunkt und den gemeinsamen asynchronen Task-Result-Endpunkt:

Feld Wert
Submit-Endpunkt POST https://api.novita.ai/v3/async/wan2.7-videoedit
Ergebnis-Polling GET https://api.novita.ai/v3/async/task-result?task_id=<id>
Auth-Header Authorization: Bearer $NOVITA_API_KEY
Inhaltstyp application/json
Offizielle Dokumentation Wan 2.7 VideoEdit API-Referenz

Die API ist asynchron. Ein erfolgreicher Submit-Aufruf gibt eine task_id zurück, nicht die fertige Video-URL. Ihre Anwendung sollte diese Task-ID speichern und eine Polling- oder Hintergrundjob-Logik darum herum aufbauen.

Schritt 1: Novita AI API-Schlüssel erhalten

Erstellen Sie einen Schlüssel über die Novita AI-Schlüsselverwaltung und bewahren Sie ihn in einer Umgebungsvariable auf:

export NOVITA_API_KEY="your_api_key_here"

Härten Sie den Schlüssel nicht im Browser-Code, in mobilen Apps oder in eingecheckten Konfigurationsdateien.

Schritt 2: Die Request-Struktur verstehen

Wan 2.7 VideoEdit verwendet einen flachen JSON-Body. Die Request verschachtelt keine Felder unter input oder parameters.

Mindestens senden Sie:

  • video_url
  • prompt

Die dokumentierten optionalen Felder, die Sie normalerweise zuerst beachten, sind:

  • reference_image_url für eine Look-/Style-Referenz
  • resolution
  • duration
  • audio_setting
  • prompt_extend
  • seed

Schritt 3: Ihre erste VideoEdit-Request senden

Dies ist die kleinste praktische Request:

curl -s -X POST https://api.novita.ai/v3/async/wan2.7-videoedit \
  -H "Authorization: Bearer $NOVITA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://example.com/source-clip.mp4",
    "prompt": "Verwandle diese Büroflurszene in einen Neon-Cyberpunk-Korridor, behalte die Gehbewegung und den Kamerapfad bei",
    "resolution": "720P",
    "duration": 5
  }'

Erwartete Antwort:

{
  "task_id": "abc123..."
}

Zum Zeitpunkt des Submit ist nichts anderes garantiert. Behandeln Sie die Request als Job-Warteschlangenschritt, nicht als synchrone Bearbeitungsantwort.

Schritt 4: Den Task-Result-Endpunkt abfragen

Verwenden Sie die zurückgegebene task_id mit der gemeinsamen Task-Result-API:

curl -s "https://api.novita.ai/v3/async/task-result?task_id=abc123..." \
  -H "Authorization: Bearer $NOVITA_API_KEY"

Bauen Sie um diese Zustände herum:

Status Bedeutung
TASK_STATUS_QUEUED Akzeptiert und wartet auf Ausführung
TASK_STATUS_PROCESSING Bearbeitung läuft
TASK_STATUS_SUCCEED Bearbeitetes Video ist fertig
TASK_STATUS_FAILED Task fehlgeschlagen; prüfen Sie den Antwort-Body

Wenn der Task erfolgreich ist, enthält die Antwort ein videos-Array mit der bearbeiteten Ausgabe-URL und der URL-TTL. Laden Sie das Asset herunter oder verschieben Sie es umgehend, anstatt die gehostete URL als dauerhaften Speicher zu behandeln.

Schritt 5: Ein Referenzbild hinzufügen, wenn Sie eine engere visuelle Kontrolle benötigen

reference_image_url ist optional, ändert aber das Bearbeitungsverhalten auf nützliche Weise.

Verwenden Sie es, wenn:

  • Sie möchten, dass der endgültige Clip einem bestimmten Charakter-Look, Kostüm oder einer bestimmten Palette folgt.
  • Sie die Ausgabe in eine bestimmte künstlerische Richtung lenken möchten, anstatt alles dem Text-Prompt zu überlassen.
  • Die Bewegung des Quellvideos korrekt ist, die Szenenidentität aber bei reiner Textanleitung zu vage ist.

Beispiel-Request mit einem Referenzbild:

curl -s -X POST https://api.novita.ai/v3/async/wan2.7-videoedit \
  -H "Authorization: Bearer $NOVITA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://example.com/source-clip.mp4",
    "reference_image_url": "https://example.com/reference-look.png",
    "prompt": "Verwandle den Darsteller in das Erscheinungsbild und die Farbpalette des Referenzbildes, während der gleiche Tanzrhythmus beibehalten wird",
    "resolution": "1080P",
    "duration": 6,
    "audio_setting": "auto"
  }'

Wenn Ihr Ergebnis immer wieder abdriftet, besteht die übliche Lösung nicht in einem längeren Prompt, sondern in einem präziseren Prompt plus einem besseren Referenzbild.

Wichtige Parameter, die Sie wirklich beachten sollten

Parameter Typ Erforderlich Funktion
video_url string Ja Quellvideo zum Bearbeiten
prompt string Ja Beschreibt die Zieltransformation
reference_image_url string Nein Referenzbild zur Look- und Style-Untermauerung
resolution string Nein Ausgabeauflösung, dokumentierte Werte sind 720P und 1080P
duration integer Nein Ziellänge in Sekunden; 0 behält die volle Eingabevideolänge bei
audio_setting string Nein Steuert das Audiogenerierungsverhalten
prompt_extend boolean Nein Erlaubt dem Modell, kurze Prompts automatisch zu erweitern
seed integer Nein Verbessert die Reproduzierbarkeit bei Wiederholungen

Prüfen Sie die offizielle Parameterreferenz, bevor Sie Standardwerte annehmen. Videomodell-Felder ändern sich häufiger als Textmodell-Felder, und Ausgabebeschränkungen sind leicht falsch zu verstehen, wenn Sie sich auf Ihr Gedächtnis verlassen.

Dokumentierte Grenzen und praktische Einschränkungen

Stand 29. Juli 2026 dokumentieren die offiziellen Novita-Dokumente für Wan 2.7 VideoEdit diese Grenzen:

  • Unterstützte Auflösungen: 720P und 1080P
  • duration hat den Standardwert 0, was die volle Eingabevideolänge bedeutet; der dokumentierte explizite Ausgabezeitbereich liegt bei 2 bis 10 Sekunden, wenn Sie ihn setzen
  • Eingabevideoformate: mp4 und mov
  • Größenlimit für Eingabevideos: bis zu 100 MB
  • Referenzbildformate: jpg, jpeg, png, webp
  • Größenlimit für Referenzbilder: bis zu 20 MB
  • Ausgabevideoformat: mp4

Diese Einschränkungen werden leicht übersehen, wenn Sie eine generische Medienpipeline aufbauen. Der häufigste Integrationsfehler ist das Senden einer längeren oder größeren Quelldatei, als der Endpunkt akzeptiert.

Zwei praktische Auswirkungen:

  1. Wenn der bearbeitete Clip die Quelllänge beibehalten soll, lassen Sie duration weg oder setzen Sie es auf 0, anstatt einen 2-10-Sekunden-Zuschnitt zu erzwingen.
  2. Wenn Sie Prompts schnell testen, verwenden Sie zuerst 720P und wechseln Sie zu 1080P, sobald die Transformation funktioniert.

Python-Beispiel: Submit und Polling

import os
import time
import requests

API_KEY = os.environ["NOVITA_API_KEY"]
BASE_URL = "https://api.novita.ai"
HEADERS = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json",
}


def submit_video_edit(
    video_url: str,
    prompt: str,
    reference_image_url: str | None = None,
    resolution: str = "720P",
    duration: int = 0,
    audio_setting: str = "auto",
    prompt_extend: bool = True,
    seed: int | None = None,
) -> str:
    payload = {
        "video_url": video_url,
        "prompt": prompt,
        "resolution": resolution,
        "duration": duration,
        "audio_setting": audio_setting,
        "prompt_extend": prompt_extend,
    }
    if reference_image_url:
        payload["reference_image_url"] = reference_image_url
    if seed is not None:
        payload["seed"] = seed

    resp = requests.post(
        f"{BASE_URL}/v3/async/wan2.7-videoedit",
        headers=HEADERS,
        json=payload,
        timeout=60,
    )
    resp.raise_for_status()
    return resp.json()["task_id"]


def poll_result(task_id: str, interval: int = 5, timeout: int = 300) -> dict:
    deadline = time.time() + timeout
    while time.time() < deadline:
        resp = requests.get(
            f"{BASE_URL}/v3/async/task-result",
            headers=HEADERS,
            params={"task_id": task_id},
            timeout=60,
        )
        resp.raise_for_status()
        data = resp.json()
        status = data.get("task", {}).get("status")

        if status == "TASK_STATUS_SUCCEED":
            return data
        if status == "TASK_STATUS_FAILED":
            reason = data.get("task", {}).get("reason", "unknown")
            raise RuntimeError(f"Task {task_id} fehlgeschlagen: {reason}")

        time.sleep(interval)

    raise TimeoutError(f"Task {task_id} wurde nicht innerhalb von {timeout}s abgeschlossen")


if __name__ == "__main__":
    task_id = submit_video_edit(
        video_url="https://example.com/source-clip.mp4",
        prompt="Ändere die Straßenszene in eine regnerische retro-futuristische Stadt bei Nacht, behalte die ursprüngliche Kamerafahrt bei",
        reference_image_url="https://example.com/reference-frame.png",
        resolution="720P",
        duration=0,
        seed=42,
    )
    print(f"Task gesendet: {task_id}")

    result = poll_result(task_id)
    video = result["videos"][0]
    print("Bearbeitete Video-URL:", video["video_url"])
    print("URL-TTL:", video["video_url_ttl"])

cURL-Beispiel mit Shell-Polling

TASK_ID=$(curl -s -X POST https://api.novita.ai/v3/async/wan2.7-videoedit \
  -H "Authorization: Bearer $NOVITA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://example.com/source-clip.mp4",
    "prompt": "Wandle den Clip in eine handgezeichnete Anime-Stadtszene um, behalte die Laufbewegung bei",
    "resolution": "720P",
    "duration": 0,
    "prompt_extend": true
  }' | jq -r '.task_id')

while true; do
  RESULT=$(curl -s "https://api.novita.ai/v3/async/task-result?task_id=$TASK_ID" \
    -H "Authorization: Bearer $NOVITA_API_KEY")
  STATUS=$(echo "$RESULT" | jq -r '.task.status')

  if [ "$STATUS" = "TASK_STATUS_SUCCEED" ]; then
    echo "$RESULT" | jq -r '.videos[0].video_url'
    break
  fi

  if [ "$STATUS" = "TASK_STATUS_FAILED" ]; then
    echo "$RESULT"
    break
  fi

  sleep 5
done

Wenn Sie aus einem Backend-Dienst integrieren, verpacken Sie diese Polling-Schleife in einem Worker, anstatt eine Benutzeranfrage für das gesamte Generierungsfenster offen zu halten.

Preise, Credits und was Sie vor der Kostenschätzung überprüfen sollten

Novita AI gibt Preise für Videomodelle auf seinen Modell- und Preisseiten bekannt, aber diese Zahlen können sich ändern. Für Wan 2.7 VideoEdit überprüfen Sie die aktuellen Preise direkt auf der Novita AI-Preisseite und dem Modelleintrag, der in der offiziellen Dokumentation verlinkt ist, bevor Sie kundenorientierte Kostenschätzungen veröffentlichen.

Für die technische Planung ist die sicherere Annahme:

  • Die Kosten skalieren mit den Einstellungen des generierten Clips, nicht nur mit einer pauschalen Request-Gebühr.
  • 1080P-Läufe sind die falsche Basis für Iterationen.
  • Kürzere Clips sind einfacher zu validieren und günstiger zu debuggen.

Wenn Sie interne Tools entwickeln, behandeln Sie die Preisabfrage als Konfigurationsthema, nicht als eine in Code eingebettete Konstante.

Häufige Integrationsfehler

Senden von Roh-Uploads anstelle einer erreichbaren URL. Die dokumentierte Request-Struktur erwartet URL-basierte Medieneingaben. Stellen Sie sicher, dass Ihr Quellclip bereits unter einer stabilen URL verfügbar ist, auf die Ihr Server zugreifen kann.

Verwendung von VideoEdit für Bewegungsänderungen. VideoEdit ist ein Transformations-Endpunkt, kein Choreografie-Endpunkt. Wenn die ursprüngliche Bewegung falsch ist, generieren Sie mit T2V oder I2V neu.

Verwechslung der Grenzen von Quellvideo und Referenzbild. Das Quellvideo ist das größere Asset: mp4/mov, bis zu 100 MB. Das kleinere Limit von 20 MB gilt für reference_image_url, nicht für video_url.

Zu aggressives Polling. Den Task-Result-Endpunkt jede Sekunde aufzurufen, ist bei mehrsekündigen Video-Jobs unnötig. Ein Intervall von 5-10 Sekunden ist normalerweise ein besserer Ausgangspunkt.

Ignorieren der URL-TTL. Die Ergebnis-URL ist temporär. Sichern Sie das Asset umgehend, wenn der bearbeitete Clip nachgelagert wichtig ist.

Auslassen der Prompt-Spezifität. „Mach es besser“ ist kein Bearbeitungs-Prompt. Beschreiben Sie den Zielstil, die Umgebung, die Subjektbehandlung und welche Bewegung unverändert bleiben soll.

Welchen Wan 2.7-Endpunkt sollten Sie wählen?

Verwenden Sie diese schnelle Regel:

  • Wählen Sie VideoEdit, wenn Sie bereits ein Quellvideo haben.
  • Wählen Sie I2V, wenn Sie ein Quellbild haben oder eine Fortsetzung aus einem stillbildgeführten Workflow wünschen.
  • Wählen Sie T2V, wenn Sie nur Text haben.
  • Wählen Sie R2V, wenn Identitätskonsistenz und Referenz-Charakterkontrolle wichtiger sind als die Bearbeitung eines vorhandenen Clips.

Diese Trennung hält Ihre Integration einfach. Teams neigen dazu, Text-zu-Video für Aufgaben zu übernutzen, die eigentlich promptbasierte Bearbeitungsprobleme sind.

FAQ

Was ist der Novita AI-Endpunkt für Wan 2.7 VideoEdit?

POST https://api.novita.ai/v3/async/wan2.7-videoedit. Er gibt eine task_id zurück, dann fragen Sie GET https://api.novita.ai/v3/async/task-result?task_id=<id> auf Abschluss ab.

Kann ich zusammen mit dem Quellvideo ein Referenzbild angeben?

Ja. Die dokumentierte Request-Struktur unterstützt ein optionales reference_image_url neben video_url und prompt, was nützlich ist, um das endgültige Erscheinungsbild genauer zu steuern.

Welche Videolänge unterstützt Wan 2.7 VideoEdit auf Novita AI?

Laut Dokumentation vom 29. Juli 2026 hat duration den Standardwert 0, was die volle Eingabevideolänge bedeutet. Wenn Sie duration explizit setzen, liegt der dokumentierte Bereich bei 2-10 Sekunden.

Akzeptiert Wan 2.7 VideoEdit große Quellvideos?

Ja, innerhalb des dokumentierten Limits. Die offiziellen Dokumente listen mp4/mov-Eingaben bis zu 100 MB. Das separate Limit von 20 MB gilt für das optionale Referenzbild.

Sollte ich Wan 2.7 VideoEdit oder Wan 2.7 I2V verwenden?

Verwenden Sie VideoEdit, wenn Sie bereits einen Clip haben und ihn transformieren möchten. Verwenden Sie I2V, wenn Ihr Ausgangspunkt ein Standbild oder ein bildgeführter Workflow ist.

Empfohlene Artikel