Wan 2.7 VideoEdit API auf Novita AI: Vorhandene Clips mit Prompts und Referenzbildern bearbeiten

Wan 2.7 VideoEdit API auf Novita AI: Vorhandene Clips mit Prompts und Referenzbildern bearbeiten

Wan 2.7 VideoEdit auf Novita AI ist der richtige Endpunkt, wenn Sie bereits Filmmaterial haben und das Modell die Szene neu gestalten oder umschreiben soll, 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.

Einen Vergleich der verschiedenen Modi finden Sie unter Wan 2.7 auf Novita AI: Text-zu-Video vs. Bild-zu-Video vs. Referenz-zu-Video.

Wann Wan 2.7 VideoEdit das richtige Werkzeug ist

Verwenden Sie Wan 2.7 VideoEdit, wenn das Timing und die Kamerabewegung in Ihrem Quellclip bereits gut genug sind und Sie möchten, dass die KI ä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-, Cinema- oder stilisierte Darstellung 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 Filmmaterial anwenden und das Erscheinungsbild optional mit einem Referenzbild untermauern.

Es ist nicht der richtige Endpunkt, wenn:

  • Sie eine völlig neue Bewegung nur 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 Referenzslots in einer generierten Szene benötigen. Verwenden Sie stattdessen Wan 2.7 R2V.

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

Verifizierter Endpunkt und Workflow

Wan 2.7 VideoEdit auf Novita AI verwendet einen Einreichungs-Endpunkt und den gemeinsamen asynchronen Aufgabenergebnis-Endpunkt:

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

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

Schritt 1: Erhalten Sie einen Novita AI API-Key

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

export NOVITA_API_KEY="your_api_key_here"

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

Schritt 2: Verstehen Sie die Request-Struktur

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

Mindestens senden Sie:

  • video_url
  • prompt

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

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

Schritt 3: Senden Sie Ihre erste VideoEdit-Anfrage

Dies ist die kleinste praktische Anfrage:

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 neonfarbenen Cyberpunk-Korridor, behalte die Gehbewegung und den Kamerapfad bei",
    "resolution": "720P",
    "duration": 5
  }'

Erwartete Antwort:

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

Zum Zeitpunkt der Einreichung wird nichts weiter garantiert. Betrachten Sie die Anfrage als einen Schritt zum Einreihen von Jobs, nicht als synchrone Bearbeitungsantwort.

Schritt 4: Fragen Sie den Aufgabenergebnis-Endpunkt ab

Verwenden Sie die zurückgegebene task_id mit dem gemeinsamen Aufgabenergebnis-Endpunkt:

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

Bauen Sie um diese Status herum:

Status Bedeutung
TASK_STATUS_QUEUED Akzeptiert und wartet auf Ausführung
TASK_STATUS_PROCESSING Bearbeitung läuft
TASK_STATUS_SUCCEED Bearbeitetes Video ist bereit
TASK_STATUS_FAILED Aufgabe fehlgeschlagen; überprüfen Sie den Antwortbody

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

Schritt 5: Fügen Sie ein Referenzbild hinzu, 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 Farbpalette folgt.
  • Sie die Ausgabe in eine bestimmte künstlerische Richtung lenken möchten, anstatt alles dem Text-Prompt zu überlassen.
  • Die Quellvideobewegung korrekt ist, aber die Szenenidentität bei reiner Textsteuerung 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": "Transformiere den Darsteller in das Aussehen und die Farbpalette des Referenzbildes, während du das gleiche Tanz-Timing beibehältst",
    "resolution": "1080P",
    "duration": 6,
    "audio_setting": "auto"
  }'

Wenn Ihr Ergebnis immer wieder abweicht, ist die übliche Lösung nicht ein längerer Prompt. Es ist ein präziserer Prompt plus ein besseres Referenzbild.

Wichtige Parameter, die Sie wirklich beachten sollten

Parameter Typ Erforderlich Funktion
video_url string Ja Quellvideo zum Bearbeiten
prompt string Ja Beschreibt die angestrebte Transformation
reference_image_url string Nein Referenzbild zur Untermauerung von Look und Stil
resolution string Nein Ausgabeauflösung, dokumentierte Werte umfassen 720P und 1080P
duration integer Nein Ziellänge der Ausgabe in Sekunden; 0 behält die volle Eingabevideolänge bei
audio_setting string Nein Steuert das Verhalten der Audio-Generierung
prompt_extend boolean Nein Lässt das Modell kurze Prompts automatisch erweitern
seed integer Nein Verbessert die Reproduzierbarkeit bei Wiederholungen

Überprüfen Sie die offizielle Parameterreferenz, bevor Sie Standardwerte annehmen. Videomodell-Felder ändern sich häufiger als Textmodell-Felder, und Ausgabebeschränkungen sind leicht falsch einzuschätzen, 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 standardmäßig auf 0, was der vollen Eingabevideolänge entspricht; der dokumentierte explizite Ausgabe-Dauerbereich liegt bei 2 bis 10 Sekunden, wenn Sie ihn setzen
  • Eingabevideoformate: mp4 und mov
  • Eingabevideogrößenlimit: bis zu 100 MB
  • Referenzbildformate: jpg, jpeg, png, webp
  • Referenzbildgrößenlimit: bis zu 20 MB
  • Ausgabevideoformat: mp4

Diese Einschränkungen übersieht man leicht, wenn man eine generische Medien-Pipeline aufbaut. 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-Trim zu erzwingen.
  2. Wenn Sie Prompts schnell testen, verwenden Sie zuerst 720P und wechseln Sie zu 1080P erst, wenn die Transformation funktioniert.

Python-Beispiel: Einreichen und Abfragen

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", "unbekannt")
            raise RuntimeError(f"Aufgabe {task_id} fehlgeschlagen: {reason}")

        time.sleep(interval)

    raise TimeoutError(f"Aufgabe {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="Verwandle 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"Aufgabe eingereicht: {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 es in einen Backend-Service integrieren, verpacken Sie diese Polling-Schleife in einen Worker, anstatt eine Benutzeranfrage über das gesamte Generierungsfenster offen zu halten.

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

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

Für die technische Planung ist die sicherere Annahme:

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

Wenn Sie interne Tools bauen, behandeln Sie die Preisabfrage als Konfigurationsanliegen, nicht als konstante, in Code eingebettete Größe.

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 Transformationsendpunkt, kein Choreografie-Endpunkt. Wenn die ursprüngliche Bewegung falsch ist, generieren Sie mit T2V oder I2V neu.

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

Zu aggressives Polling. Den Aufgabenergebnis-Endpunkt jede Sekunde aufzurufen, ist für mehrsekündige 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. Speichern 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 Behandlung des Subjekts und welche Bewegung unverändert bleiben soll.

Welchen Wan 2.7 Endpunkt sollten Sie wählen?

Verwenden Sie diese Schnellregel:

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

Diese Trennung hält Ihre Integration einfach. Teams nutzen Text-zu-Video oft übermäßig für Aufgaben, die eigentlich promptbasierte Bearbeitungsprobleme sind.

Wenn Sie Orchestrierung um diesen Endpunkt herum aufbauen, vergleichen Sie Macaron V1 Tall Quick Start auf Novita AI und Qwen3.8-Max auf Novita AI für höhergewichtige Modellanker.

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 bereitstellen?

Ja. Die dokumentierte Request-Struktur unterstützt ein optionales reference_image_url neben video_url und prompt, was nützlich ist, um den endgültigen Look enger zu steuern.

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

Stand 29. Juli 2026 standardmäßig duration auf 0, was der vollen Eingabevideolänge entspricht. Wenn Sie duration explizit setzen, liegt der dokumentierte Bereich bei 2-10 Sekunden.

Akzeptiert Wan 2.7 VideoEdit große Quellvideos?

Ja, innerhalb der dokumentierten Grenze. Die offiziellen Dokumente listen mp4/mov-Eingabe bis zu 100 MB auf. Das separate 20-MB-Limit 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 bildgesteuerter Workflow ist.

Empfohlene Artikel