aisplice

Nach Fähigkeit

Videos

Videos laufen immer als Task: einreichen, dann abfragen oder einen Callback erhalten. Längere und schärfere Clips kosten mehr.

#1. Modell wählen

doubao-seedance-2.5$0.216 / AnfrageLimits und Status

13 Modelle sind dafür online. Ein Wechsel ändert den Code unten.

#2. Anfrage kopieren

Ersetzen Sie YOUR_API_KEY durch Ihren Schlüssel und führen Sie die Anfrage aus. Angezeigt werden die Optionen, die dieses Modell akzeptiert.

POSThttps://www.aisplice.store/v1/videosBearer API keyAsynchroner Task

OptionenEs werden nur Optionen angezeigt, die für dieses Modell veröffentlicht sind.

# Requires curl and jq
API_KEY="${API_KEY:-YOUR_API_KEY}"

# 1. Submit once
SUBMITTED=$(curl --fail-with-body -sS https://www.aisplice.store/v1/videos \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: model-docs-$(date +%s)-$$" \\
  -d '{
  "model": "Seedance 2.5",
  "prompt": "A cinematic scene with careful composition",
  "nsfw_check": false,
  "duration": 5,
  "resolution": "720p",
  "metadata": {
    "generate_audio": true,
    "watermark": false,
    "output_format": "mp4",
    "return_last_frame": false
  },
  "size": "1:1"
}')
TASK_ID=$(printf '%s' "$SUBMITTED" | jq -r '.task_id // .id // empty')
if [ -z "$TASK_ID" ]; then
  printf '%s\n' "$SUBMITTED" >&2
  exit 1
fi
echo "task_id=$TASK_ID"

# 2. Poll until terminal
while true; do
  STATUS_JSON=$(curl --fail-with-body -sS \
    "https://www.aisplice.store/v1/videos/$TASK_ID" \
    -H "Authorization: Bearer $API_KEY")
  STATUS=$(printf '%s' "$STATUS_JSON" | jq -r '.status // empty' | tr '[:upper:]' '[:lower:]')
  echo "status=$STATUS"
  case "$STATUS" in
    completed|succeeded|success) break ;;
    failed|failure|cancelled|canceled)
      printf '%s\n' "$STATUS_JSON" | jq .
      exit 1
      ;;
  esac
  sleep 5
done

# 3. Fetch the final result
curl --fail-with-body -sS \
  "https://www.aisplice.store/v1/videos/$TASK_ID/content" \
  -H "Authorization: Bearer $API_KEY" | jq .

Für den Produktivbetrieb werden öffentliche Medien-URLs empfohlen. Laden Sie zuerst eine lokale Datei hoch und setzen Sie dann public_url in die Modellanfrage. Vermeiden Sie große Base64-Bodys.

Upload-Leitfaden lesen

Alle Parameter

Alle Felder, die dieses Modell akzeptiert, mit den zulässigen Werten.

model
stringerforderlich

Exakte Modellkennung für diese Anfrage.

doubao-seedance-2.5
prompt
stringerforderlich

Anweisung, die das gewünschte Ergebnis beschreibt.

duration
integeroptional

Output seconds; -1 lets Seedance choose automatically.

-1456789101112131415161718192021222324252627282930
resolution
stringoptional

Angeforderte Ausgabeauflösung.

480p720p1080p
size
stringoptional

First/last-frame and edit modes require adaptive.

adaptive21:916:94:31:13:49:16
images
string[]optional

Up to 30 image references. Use image_tail with exactly one first-frame image for first/last-frame mode.

metadata.video_urls
string[]optional

Öffentliche HTTP(S)-URLs von Quellvideos. Maximal 10 Elemente.

Ablauf der Antwort

Task-Status, Endzustände und Beispiele für Ergebnisantworten.

Einreichen
{
  "id": "task_xxx",
  "task_id": "task_xxx",
  "object": "video",
  "model": "Seedance 2.5",
  "status": "queued"
}

Wartet

queued · submitted · in_progress · processing

Erfolg

completed · succeeded · success

Fehlschlag

failed · failure · cancelled · canceled

Alle Felder: /v1/videos in der API-Referenz →

#3. Ergebnis abrufen

Der Einreichungsaufruf antwortet sofort mit einer task_id. Fragen Sie den Task alle paar Sekunden ab, bis status completed ist, oder übergeben Sie webhook_url, dann benachrichtigen wir Sie, sobald er fertig ist.

GET https://www.aisplice.store/v1/videos/{task_id}

GET https://www.aisplice.store/v1/videos/{task_id}/content

Dauer und Auflösung bestimmen die Preisstufe. Ein laufender Task kann abgebrochen werden; siehe API-Referenz.

Nur bei Erfolg berechnet

Ein fehlgeschlagener oder abgebrochener Task wird automatisch erstattet. Das Anfrageprotokoll zeigt die endgültigen Kosten jedes Tasks.

Statuswerte und Abfragen →Callback statt Abfragen →

#Wenn etwas schiefgeht

  • 400 mit einem Feldnamen: Diese Option akzeptiert das Modell nicht; verwenden Sie die Werte aus Schritt 2.
  • Referenzbild oder -video abgelehnt: Es muss eine öffentliche URL sein, die das Modell herunterladen kann.
  • Inhalt vom Modell abgelehnt: Formulieren Sie den Prompt um; abgelehnte Anfragen werden nicht berechnet.
  • 402: Das Guthaben deckt diese Anfrage nicht; laden Sie im Wallet auf und versuchen Sie es dann erneut.
  • 429: Langsamer werden und nach Retry-After Sekunden erneut versuchen.
  • 503 model_not_found: Der Modellname ist falsch oder das Modell ist offline; wählen Sie eines aus Schritt 1.

Andere Fehler nachschlagen →

#Start- und Endframes, Referenzbilder und -videos

Modelle, die sie akzeptieren, zeigen die Felder in Schritt 2: Startframe, Endframe, Referenzbilder oder ein Referenzvideo. Übergeben Sie öffentliche URLs; lokale Dateien laden Sie zuerst hoch.

So laden Sie eine lokale Datei hoch →

In Ihr Produkt einbauenWelche Optionen Sie Ihren Nutzern zuerst zeigen und welche Sie für später aufheben.
Welche Optionen Sie Ihren Nutzern zuerst zeigenBeginnen Sie mit dem Prompt und einer Preis-Stellschraube; ergänzen Sie den Rest, sobald der Basisablauf funktioniert.+

Kreative Absicht

Felder wie prompt gehören in die UI, weil Nutzer das Ergebnis, das sie damit verändern, direkt verstehen.

Kostenmultiplikator

Felder wie duration, resolution, size und count sollten erst eingeführt werden, wenn sich die Preise bereits nachvollziehbar erklären lassen.

Moduswechsel

Felder wie image, mask oder Fortsetzungs-IDs verändern den Ablauf selbst und sollten nur in eigenen Modi erscheinen.

Systeminterna

Felder wie webhook_secret sind für Integratoren gedacht, nicht für alltägliche Creator, und gehören daher nicht in die Standard-UI.

  • prompt
    Anzeigen, wenn
    Immer. Es legt die Szene oder die Bewegungsrichtung fest.
    Empfohlener Standard
    In der UI erforderlich.
    Warum es wichtig ist
    Ohne es können Nutzer die Absicht des Clips nicht steuern.
  • image / images
    Anzeigen, wenn
    Nur bei referenzbasierten oder Bild-zu-Video-Produkten anzeigen.
    Empfohlener Standard
    In reinen Prompt-Abläufen ausblenden.
    Warum es wichtig ist
    Es ändert den Erstellungsmodus und sollte eine bewusste Produktentscheidung sein.
  • duration
    Anzeigen, wenn
    Anzeigen, sobald der asynchrone Basisablauf stabil ist und die Preise sichtbar sind.
    Empfohlener Standard
    Mit der kürzesten unterstützten Dauer beginnen.
    Warum es wichtig ist
    Es ist einer der größten Kosten- und Latenztreiber bei der Videogenerierung.
  • resolution
    Anzeigen, wenn
    Anzeigen, wenn Kunden ausdrücklich 720p-, 1080p- oder 4K-Ausgabe vergleichen.
    Empfohlener Standard
    Serverseitig eine empfohlene Auflösung festlegen.
    Warum es wichtig ist
    Eine höhere Auflösung erhöht Kosten, Wartezeit und Fehleranfälligkeit.
  • webhook_url / webhook_secret
    Anzeigen, wenn
    Nur für Backend-Integratoren anzeigen, nicht für normale Endnutzer.
    Empfohlener Standard
    In UI-Produkten Polling bevorzugen.
    Warum es wichtig ist
    Sie dienen der Systemintegration, nicht der Kreativität der Endnutzer, und gehören daher nicht in Bedienelemente für Endkunden.
recommended-rollout.txt
Phase 1
- prompt
- one size or one duration default
- submit -> poll -> content

Phase 2
- one quality or resolution selector
- clear pricing hint

Phase 3
- advanced controls such as reference media, continuation, webhook, or vendor-specific tuning

Eine einzige Quelle für Ergebnisse

Wenn ein Task fertig ist, richten Sie Ihre App auf die Plattform-URL aus, die /content zurückgibt. So bleiben Details des Upstream-Anbieters verborgen und die Wiedergabe älterer Ergebnisse stabil.

Immer noch nicht gelöst?

Senden Sie uns die Anfrage-ID oder die Fehlermeldung, und wir sehen uns das an.