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

gemini-omni-1.1-flash$0.088 / 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": "Gemini Omni 1.1 Flash",
  "prompt": "A cinematic scene with careful composition",
  "resolution": "720p",
  "size": "16:9"
}')
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 .

Dieses Modell erfordert öffentliche Medien-URLs. 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.

gemini-omni-1.1-flash
prompt
stringoptional

What to make, or for a picture or video what to animate or change. Describe pacing in words; there is no duration field.

resolution
stringoptional

Output resolution; it sets the per-second rate.

360p720p1080p4k
size
stringoptional

Forwarded as aspect_ratio. A video input keeps its own ratio.

16:99:16
images
string[]optional

One public picture is the first frame. Several pictures, image_reference_mode=multi, or pictures beside a video are references (who or what appears). Up to 10 including frames.

metadata.video_urls
string[]optional

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

Ablauf der Antwort

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

Einreichen
{
  "id": "task_xxx",
  "task_id": "task_xxx",
  "object": "video",
  "model": "Gemini Omni 1.1 Flash",
  "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.