APIMaster.ai

Seedance 2.0 Fast API zur Videogenerierung

Seedance 2.0 Fast Parameter, Referenzmedien, asynchrone Aufgaben, authentifizierte Downloads und Dauerabrechnung auf APIMaster.

Seedance 2.0 Fast Videoerstellung

Verwenden Sie seedance-2.0-fast für Text-zu-Video, Bild-zu-Video, Erstellung des ersten/letzten Frames sowie Video- oder Audio-Referenzen. Fast unterstützt 480p und 720p, mit Ausgabelängen von 4 bis 15 Sekunden.

Für die Erstellung des ersten/letzten Frames setzen Sie aspect_ratio: "adaptive" explizit. Referenz-Audio muss von einem Bild oder Video begleitet werden. Bewahren Sie Ihren APIMaster API-Schlüssel auf Ihrem Server auf.

Endpunkte und Authentifizierung

Basis-URL: https://apimaster.ai/v1. Senden Sie Authorization: Bearer YOUR_API_KEY beim Einreichen, Abfragen und Herunterladen.

Vorgang Methode und Pfad
Video erstellen POST /v1/videos/generations
Kompatibles Ergebnis abfragen GET /v1/video/generations/{task_id}
OpenAI-ähnliches Ergebnis abfragen GET /v1/videos/{task_id}
Video herunterladen GET /v1/videos/{task_id}/content
Angeforderter letzter Frame herunterladen GET /v1/videos/{task_id}/last-frame

Verwenden Sie die von APIMaster zurückgegebene öffentliche task_id. Videoaufgaben und Medienprüfungsaufgaben sind unterschiedliche Ressourcen: Verwenden Sie für Videos die oben genannten Video-Abfrage-Endpunkte. Eine angenommene Anfrage erstellt eine asynchrone Aufgabe; HTTP-Erfolg bedeutet nicht, dass das Video fertiggestellt ist.

Parameter

Feld Typ Erforderlich / Standard Beschreibung
model string Erforderlich seedance-2.0-fast
prompt string Erforderlich Bis zu 4000 Zeichen. Beschreiben Sie das Subjekt, Bewegung, Szene, Kamera und gewünschtes Audio; prägnante Prompts sind leichter zu kontrollieren.
duration integer 5 Ausgabelänge, 4–15 Sekunden. -1 wird nicht unterstützt.
resolution string 720p 480p oder 720p; 1080p und 4k werden nicht unterstützt.
aspect_ratio string 16:9 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, oder adaptive.
ratio string Gleich wie aspect_ratio APIMaster Alias. Wenn beide erscheinen, müssen ihre Werte übereinstimmen.
size string Gleich wie aspect_ratio Ein Seitenverhältnis wie 16:9 oder adaptive. Bevorzugen Sie aspect_ratio und resolution, um die beiden Dimensionen separat auszudrücken. Widersprüchliche Angaben geben 400 zurück.
seed integer Ausgelassen Steuert die Variation; übereinstimmende Seeds garantieren keine identische Ausgabe.
generate_audio boolean true Begleitendes Audio erzeugen; verwenden Sie false für stille Ausgabe.
image_urls string[] Ausgelassen Bis zu 9 Referenzbilder. Öffentliche Bild-URLs oder genehmigte APIMaster asset:// IDs.
image_with_roles object[] Ausgelassen Bildobjekte mit url und role; können nicht zusammen mit image_urls erscheinen. Siehe Rollenregeln unten.
video_urls string[] Ausgelassen Bis zu 3 Referenzvideos, mit einer gesamten abrechenbaren Eingabelänge von höchstens 15 Sekunden. Siehe Materialanforderungen.
audio_urls string[] Ausgelassen Bis zu 3 Referenz-Audiodateien, kombinierte Länge höchstens 15 Sekunden. Erfordert Bild- oder Videoreferenzen.
return_last_frame boolean false Bei erfolgreichem Abschluss eine authentifizierte APIMaster Download-URL für den letzten Frame zurückgeben, wenn das Ergebnis einen letzten Frame enthält.
nsfw_check boolean false Text-/Bildinhaltsmoderation vor der Erstellung anfordern. Videos und Audio sind in dieser Moderationsprüfung nicht enthalten.
tools object[] Ausgelassen Suchwerkzeug-Deklaration: [{"type":"web_search"}].

Entwurfsgenerierung und Entwurfs-Upgrades sind exklusiv für Seedance 2.5. Übergeben Sie draft: true oder draft_task_id nicht an dieses Modell.

Referenzmaterialien

Stellen Sie öffentlich zugängliche HTTPS-URLs oder genehmigte IDs aus Ihrer APIMaster-Mediathek bereit. Dateien hinter Login-Seiten oder solche, die Ihre eigenen Autorisierungs-Header erfordern, können nicht abgerufen werden. Ein erfolgreicher Bild-Upload impliziert keine inhaltliche Genehmigung oder die Einhaltung aller Modellanforderungen.

Material Anforderungen
Referenzbilder Bis zu 9; verwenden Sie gut lesbare RGB-JPEG/PNG-Bilder. Der APIMaster-Bild-Upload-Endpunkt hat sein eigenes Limit von 20 MiB und akzeptiert JPEG, PNG, GIF und WebP.
Referenzvideos Bis zu 3; MP4/MOV, H.264/H.265-Video; AAC/MP3-Audio, falls vorhanden. Verwenden Sie 480p–720p Referenzvideo. Die kombinierte Referenzdauer muss innerhalb von 15 abrechenbaren Sekunden liegen. APIMaster überprüft die zugängliche MP4/MOV-Dauer vor der Berechnung; die Dauer der Eingabeclips wird für diese Prüfung und Abrechnung auf ganze Sekunden aufgerundet.
Referenzaudio Bis zu 3; WAV oder MP3, maximal 20 MB pro Datei, kombinierte Dauer maximal 15 Sekunden. Muss immer von einem Bild- oder Videoreferenz begleitet werden.

Verwenden Sie klare Bilder mit ausreichendem Detail, vermeiden Sie beschädigte oder unvollständige Dateien und halten Sie die Bewegung im Referenzvideo konsistent mit Ihrer Eingabeaufforderung. Medien können eine asynchrone Format- oder Inhaltsprüfung auch dann nicht bestehen, wenn die Einreichung akzeptiert wurde.

Bildrollen

role Bedeutung
first_frame Startbild; maximal eins
last_frame Endbild; maximal eins, erfordert ein Startbild
reference_image Referenzbild, einschließlich genehmigter Charakter-Assets

Für Aufgaben mit Start-/Endbild setzen Sie aspect_ratio auf adaptive und lassen Sie video_urls und audio_urls weg. Verwenden Sie image_with_roles für explizite Rollen; übergeben Sie nicht zusätzlich image_urls.

{
  "model": "seedance-2.0-fast",
  "prompt": "A paper boat drifts gently from the starting composition to the ending composition",
  "duration": 5,
  "resolution": "720p",
  "aspect_ratio": "adaptive",
  "image_with_roles": [
    {"url": "https://your-storage.example/start.png", "role": "first_frame"},
    {"url": "https://your-storage.example/end.png", "role": "last_frame"}
  ],
  "generate_audio": false
}

Uploads und Mediathek

Laden Sie ein lokales Bild mit POST /v1/uploads/images hoch, verwenden Sie das Multipart-Feld file und Bearer-Autorisierung. Die zurückgegebene Top-Level-url kann als öffentliche Bildeingabe verwendet werden.

curl "https://apimaster.ai/v1/uploads/images" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@reference.png"

Für wiederverwendbare Materialien oder Charakter-Assets erstellen Sie eine Gruppe mit POST /v1/seedance2/private-avatar/groups, reichen Sie Materialien mit POST /v1/seedance2/private-avatar/assets ein, fragen Sie den Prüfstatus mit GET /v1/tasks/{asset_task_id} ab und verwenden Sie nur Active-Assets als asset://{asset_id}. Diese Ressourcen gehören zu Ihrem Konto. Geben Sie model: "seedance-2.0-fast" explizit an. Asset-IDs von einer anderen Plattform oder einem anderen Konto können hier nicht verwendet werden.

Siehe den Mediathek-Workflow für Erstellung, Einreichung, Prüfung, Teilausfälle und Löschung. Die Upload- und Asset-Management-Endpunkte sind gemeinsam; die Generierungslimits auf dieser Seite gelten für Fast. Eine fehlgeschlagene Prüfung kann keinen detaillierten Grund zurückgeben; verwenden Sie klares, konformes Material in einem unterstützten Format und reichen Sie eine neue Prüfung ein. Erstellen Sie keine Aufgabe wiederholt neu, während eine bestehende Prüfung noch verarbeitet wird.

Ein Video einreichen

curl "https://apimaster.ai/v1/videos/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model":"seedance-2.0-fast",
    "prompt":"A small paper boat on calm water at sunrise, gentle tracking shot",
    "duration":5,
    "resolution":"720p",
    "aspect_ratio":"16:9",
    "generate_audio":true,
    "return_last_frame":true
  }'

Erstellungsantwort:

{"code":200,"data":[{"status":"submitted","task_id":"task_PUBLIC_VIDEO_ID"}]}

Ein Submit-Timeout ist mehrdeutig: Die Anfrage könnte akzeptiert worden sein. Überprüfen Sie Ihren Aufgabenverlauf, bevor Sie erneut einreichen; eine weitere erfolgreiche Einreichung erstellt eine separate abrechenbare Aufgabe.

Video- und Audio-Referenzen

{
  "model": "seedance-2.0-fast",
  "prompt": "Follow the reference motion and keep the scene consistent with the image",
  "duration": 5,
  "resolution": "720p",
  "aspect_ratio": "adaptive",
  "image_urls": ["https://your-storage.example/reference.png"],
  "video_urls": ["https://your-storage.example/reference.mp4"],
  "audio_urls": ["https://your-storage.example/reference.mp3"],
  "generate_audio": true
}

Abfragen und Herunterladen

Poll alle 3–5 Sekunden. Stoppen Sie bei Erfolg oder Fehler.

curl "https://apimaster.ai/v1/video/generations/task_PUBLIC_VIDEO_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"

Kompatible Abfrage bei Erfolg:

{
  "code":"success",
  "message":"",
  "data":{
    "error":null,
    "format":"mp4",
    "metadata":null,
    "status":"succeeded",
    "task_id":"task_PUBLIC_VIDEO_ID",
    "url":"https://apimaster.ai/v1/videos/task_PUBLIC_VIDEO_ID/content",
    "actual_time":118,
    "last_frame_url":"https://apimaster.ai/v1/videos/task_PUBLIC_VIDEO_ID/last-frame"
  }
}

Das Beispiel enthält optionale Abschlussfelder. actual_time ist die verstrichene Zeit zwischen Übermittlung und Abschluss in Sekunden, nicht die abrechenbare Videodauer. last_frame_url wird weggelassen, wenn kein letztes Frame angefordert wurde oder nicht verfügbar ist. Fehlgeschlagene Aufgaben enthalten keine erfolgsabhängigen Felder für verstrichene Zeit oder das letzte Frame.

OpenAI-Stil Abfrage:

curl "https://apimaster.ai/v1/videos/task_PUBLIC_VIDEO_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"
Bedeutung Kompatibler data.status OpenAI-Stil status
Wartend queued queued
Wird generiert processing in_progress
Erfolg succeeded completed
Fehler failed failed

Das OpenAI-ähnliche Objekt verwendet id für die öffentliche Aufgaben-ID und url für die Video-Download-URL. Optionale actual_time und last_frame_url erscheinen auf der obersten Ebene. Bei einem Fehler lesen Sie error.message im entsprechenden Ergebnisobjekt. Antworten enthalten keine monetären Felder.

Herunterladen mit dem API-Schlüssel desselben Kontos. Das Öffnen einer Ergebnis-URL ohne Autorisierung reicht nicht aus. Speichern Sie die Ausgabe umgehend.

curl -L "https://apimaster.ai/v1/videos/task_PUBLIC_VIDEO_ID/content" \
  -H "Authorization: Bearer YOUR_API_KEY" -o output.mp4
curl -L "https://apimaster.ai/v1/videos/task_PUBLIC_VIDEO_ID/last-frame" \
  -H "Authorization: Bearer YOUR_API_KEY" -o last-frame.jpg

Vollständiger Python-Workflow

import os
import time
import requests

base = "https://apimaster.ai/v1"
headers = {"Authorization": f"Bearer {os.environ['APIMASTER_API_KEY']}"}
response = requests.post(base + "/videos/generations", headers=headers, json={
    "model": "seedance-2.0-fast",
    "prompt": "A small paper boat on calm water at sunrise",
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "generate_audio": True,
    "return_last_frame": True,
}, timeout=90)
response.raise_for_status()
task_id = response.json()["data"][0]["task_id"]
for _ in range(240):
    response = requests.get(base + "/video/generations/" + task_id,
                            headers=headers, timeout=30)
    response.raise_for_status()
    task = response.json()["data"]
    if task["status"] == "failed":
        raise RuntimeError((task.get("error") or {}).get("message", "Video failed"))
    if task["status"] == "succeeded":
        print("Elapsed seconds:", task.get("actual_time"))
        for field, filename in [("url", "output.mp4"), ("last_frame_url", "last-frame.jpg")]:
            if task.get(field):
                with requests.get(task[field], headers=headers, stream=True, timeout=120) as result:
                    result.raise_for_status()
                    with open(filename, "wb") as out:
                        for chunk in result.iter_content(1024 * 1024):
                            out.write(chunk)
        break
    time.sleep(5)
else:
    raise TimeoutError("Task still processing; query the same task_id later")

Abrechnung nach Dauer

Es gibt vier Tarifstufen: 480P, 720P, 480P-input und 720P-input. Eine Stufe mit der Bezeichnung "uploaded videos" bedeutet, dass die Anfrage Referenz-Video-Input enthält. Wählen Sie die Input-Stufe für die angeforderte Ausgabeauflösung, auch wenn Bild-/Audio-Referenzen ebenfalls vorhanden sind.

  • Ohne Referenzvideo: Generierte Videosekunden × Einheitspreis der entsprechenden Auflösung.
  • Mit Referenzvideo: (Gesamte Referenz-Videosekunden + generierte Videosekunden) × Einheitspreis der entsprechenden Input-Stufe.
  • Der konfigurierte Basiseinheitspreis wird mit den geltenden Kanal- und Konto-/Gruppenkoeffizienten multipliziert, um Ihren endgültigen Einheitspreis zu erhalten. Überprüfen Sie Ihre Modellkarte und Verbrauchsaufzeichnungen im Wallet auf den gültigen Preis.

Beispielsweise verwenden ein 4-Sekunden-Referenzvideo und eine 5-Sekunden-Ausgabe 9 abrechenbare Sekunden auf der Input-Stufe. Der Einheitspreis der Input-Stufe kann vom regulären Tarif abweichen; berechnen Sie nicht nur die Ausgabedauer oder wenden Sie den regulären Tarif auf Video-Referenzen an. Bilder und Audio fügen keine Referenz-Videosekunden hinzu. Generiertes Audio führt für diese vier konfigurierten Preise nicht zu einer separaten Ton-/Stille-Stufe.

Die Einreichung reserviert die angeforderte Ausgabedauer sowie, falls vorhanden, die verifizierte Eingabe-Videodauer. Eine weggelassene Ausgabedauer reserviert 5 Ausgabesekunden. Die Aufgabe behält ihren zum Einreichungszeitpunkt gültigen Tarif bei; bei Fertigstellung wird die tatsächliche Dauer abgerechnet. Bei fehlgeschlagener Generierung wird die Gebühr für die Videoaufgabe erstattet.

Fehler und Fehlerbehebung

Ungültige Anfragen geben einen HTTP-Fehler zurück. Lesen Sie sowohl die JSON-Fehlermeldung als auch den Statuscode. Die Parameterüberprüfung verwendet den Fehler-Wrapper von APIMaster, zum Beispiel:

{"code":"invalid_request","message":"First/last-frame tasks require adaptive aspect_ratio","data":null}
Problem Maßnahme
Nicht unterstützte Auflösung / Dauer Wählen Sie 480p oder 720p und eine Ganzzahl-Dauer von 4 bis 15.
Widersprüchliches Seitenverhältnis oder Größe Verwenden Sie konsistente aspect_ratio, ratio, size und resolution; am besten behalten Sie nur das explizite Seitenverhältnis/Auflösungs-Paar.
Einschränkungen für ersten/letzten Frame Verwenden Sie adaptive, höchstens eine von jeder Rolle, und lassen Sie Video-/Audio-Referenzen weg.
Referenzvideo kann nicht überprüft werden Stellen Sie eine zugängliche, vollständige MP4-/MOV-Datei mit einer gültigen Dauer bereit.
Referenz-Audio ohne Bild/Video Fügen Sie Bild-/Video-Referenzen hinzu oder entfernen Sie die Audio-Referenz.
Ablehnung durch Inhaltsmoderation Ändern Sie den Text oder das Bild und stellen Sie eine neue Anfrage. Ein Fehler des Moderationsdienstes kann die Generierung fortsetzen lassen; dies ist keine absolute Sicherheitsgarantie.
FormatUnsupported / Asynchrone Ablehnung aufgrund von Format/Inhalt Lesen Sie error.message der fehlgeschlagenen Aufgabe, prüfen Sie Format- und Materialanforderungen und ersetzen Sie die Quelle.
401 Geben Sie einen gültigen Bearer-API-Schlüssel an.
Unzureichendes Guthaben Laden Sie Guthaben auf oder verwenden Sie einen Schlüssel mit ausreichendem Kontingent.
429 / Vorübergehender Dienstfehler Warten Sie und wiederholen Sie den Vorgang mit Backoff; vermeiden Sie doppelte Einreichungen nach einem mehrdeutigen Timeout.

Synchrone Anfragen mit ungültigen Parametern erstellen keine Videoaufgaben oder berechnen Generierungskosten. Angenommene Aufgaben können asynchron dennoch fehlschlagen; prüfen Sie den endgültigen Aufgabenstatus, bevor Sie ein Ergebnis verwenden.

Siehe auch: Überblick zur Videogenerierung, Seedance 2.0, Seedance 2.0 Mini und Seedance 2.5.