models

happyhorse-1.1-r2v

Markdown · JSON

happyhorse-1.1-r2v

Modell zur Videoerzeugung aus Referenzbildern und einem Textszenario. Hilft, das Erscheinungsbild von Figuren, Gegenstände und den visuellen Stil in einer neuen Szene beizubehalten.

Über das Modell

Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.

HappyHorse-1.1-R2V erstellt eine neue Videoszene aus Referenzbildern und einer Textvorgabe. Alibaba richtet das Modell darauf aus, erkennbare Figuren, Objekte und den visuellen Stil bei der Erzeugung von Bewegung zu erhalten. Die Referenzen bestimmen Inhalt und Erscheinungsbild der Szene; der Text beschreibt, wie diese Elemente miteinander interagieren sollen.

Rollen der visuellen Vorlagen

Es können ein bis neun Bilder verwendet werden. Sie können eine Figur, einen Gegenstand, die Umgebung oder die gestalterische Darstellung vorgeben. In der Beschreibung lassen sich die Nummer einer Referenz und ein konkretes Objekt darin nennen, um das Bildmaterial mit dem entsprechenden Teil der Handlung zu verbinden. Das ist besonders nützlich, wenn Elemente mehrerer Bilder zu einer Komposition zusammengeführt werden sollen.

Anders als im Modus mit Anfangsframe dienen die Referenzen hier als Grundlage für den Inhalt einer neuen Szene. Die Textvorgabe ist erforderlich: Sie verbindet das Erscheinungsbild der Objekte mit der Handlung, der Kamerabewegung und der gesamten Inszenierung. Der Hersteller hebt visuelle Konsistenz und filmische Bewegung hervor; das Ergebnis bleibt eine Generierung und ist kein Zusammenschnitt der Ausgangsbilder.

Akzeptiert werden JPEG, JPG, PNG und WEBP mit höchstens 20 MB pro Datei. Die kürzere Bildseite muss mindestens 400 Pixel lang sein; empfohlen wird Material auf dem Niveau von 720P oder höher. Die Eingabe dieses Modus besteht ausschliesslich aus Bildern und Text.

Dauer, Bildformat und Ton

Das Ergebnis wird als MP4 mit 24 Bildern pro Sekunde gespeichert. Die Dauer wird als ganze Zahl zwischen 3 und 15 Sekunden festgelegt. Bei der Auflösung stehen 480P, 720P und 1080P zur Auswahl; die Erzeugung einer Tonbegleitung wird unterstützt.

Verfügbar sind horizontale, vertikale und quadratische Bildformate: 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 und 21:9. Mit dem Format lässt sich der Kompositionsraum der neuen Szene im Voraus bestimmen.

Der Text kann in jeder Sprache verfasst werden. Die Grenze beträgt 5000 nichtchinesische oder 2500 chinesische Zeichen; der überzählige Teil wird abgeschnitten. Die wichtigsten Rollen der Referenzen, die Handlung und die Bewegung müssen in diesem Umfang Platz finden. Der anfängliche Zufallswert kann die Ähnlichkeit von Varianten beeinflussen, garantiert aber keine exakte Wiederholung eines Clips.

Ailoot · Videoerzeugung POST /v1/videos/generations happyhorse-1.1-r2v

happyhorse-1.1-r2v

Alibaba /happyhorse-1.1-r2v
Modell-ID
  • happyhorse-1.1-r2v
  • happyhorse-r2v
  • happyhorse-r2v-latest

Einstieg

Modell zur Videoerzeugung aus Referenzbildern und einem Textszenario. Hilft, das Erscheinungsbild von Figuren, Gegenstände und den visuellen Stil in einer neuen Szene beizubehalten.

Zulässige Eingaben
Text · Bilder
Ergebnisse
Video

In Ailoot verfügbar · Eingaben und Methoden

Ailoot · Videoerzeugung POST /v1/videos/generations
Eingabe
text, image
Ausgabe
video
Ausgabeformat
mp4
FeldTypAnforderungWerte und LimitsStandard
FeldmodelTypstringAnforderungErforderlichWerte und Limits
happyhorse-1.1-r2v
Standard—
FeldpromptTypstringAnforderungErforderlichWerte und Limits
Mindestlänge: 1
Standard—
FelddurationTypintegerAnforderungOptionalWerte und Limits
Minimum: 3
Maximum: 15
Einheit: Sekunden
Standard5
FeldresolutionTypstringAnforderungOptionalWerte und Limits
480P, 720P, 1080P
Standard720P
FeldratioTypstringAnforderungOptionalWerte und Limits
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Standard16:9
Feldimage_urlsTyphttps_url|data_image_url[]AnforderungErforderlichWerte und Limits
Mindestanzahl Elemente: 1
Maximale Anzahl Elemente: 9
Maximale Anzahl dekodierter Bytes: 20'971'520
MIME-Typen: image/jpeg, image/png, image/webp
Standard—
Kombinationen von Eingabematerialien

reference_images_to_video · Erforderlich: prompt, image_urls

Methodenparameter und Lebenszyklus
ParameterVertrag
Parametercontent_typeVertragapplication/json
ParameterrequiredVertragmodel, prompt, image_urls
Parametermaterial_typesVertragtext, image
ParameteroptionalVertragduration, resolution, ratio
Parameterduration_integer_rangeVertrag3, 15
Parameterdefault_durationVertrag5
ParameterresolutionVertrag480P, 720P, 1080P
Parameterdefault_resolutionVertrag720P
ParameterratioVertrag16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Parameterratio_must_omitVertragfalse
Parameterimage_urlsVertrag{"min_count":1,"max_count":9,"schemes":["https","Rasterdaten als base64"],"max_data_image_bytes":20971520}

Lebenszyklus: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

Methodenstrukturen und IDs sind exakt; die Fähigkeiten des Anbieters sind von der Zulassung einer Anfrage zu unterscheiden.

Tarife

Ailoot-Methodentarife

Ailoot VideoerzeugungPOST /v1/videos/generations
Ausgabe
$ 0.18 pro Sekunde bei 1080p
Ausgabe
$ 0.07 pro Sekunde bei 480p
Ausgabe
$ 0.14 pro Sekunde bei 720p

Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschliessenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →

Beispielanfragen

Ailoot · Videoerzeugung

Bildreferenz
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URLS_FILE:?Set a JSON file containing your actual reference-image URLs}"
export AILOOT_IMAGE_URLS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-1.1-r2v", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
f=Path(os.environ["AILOOT_IMAGE_URLS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual reference URL JSON file")
urls=json.loads(f.read_text())
if not isinstance(urls,list) or not 1<=len(urls)<=9:raise SystemExit("Provide one to nine reference-image URLs")
for u in urls:
    z=urlsplit(u) if isinstance(u,str) else None
    if not z or z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Each reference must be an actual HTTPS image URL")
p["image_urls"]=urls
p["ratio"]="16:9"
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
print(json.dumps(r))
PY_RESULT

Ergebnisse abrufen und speichern

Ailoot · Videoerzeugung

mp4

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Auftragsstatus prüfen
GET · Status
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
Alle fertiggestellten Dateien speichern
GET · Alle fertiggestellten Dateien
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
Abrufe anderer Inhalte
GET · Inhalt
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Alle fertiggestellten Ergebnisse aufbewahren

Speichern Sie jedes fertiggestellte Video oder jede zurückgegebene Datei; rufen Sie jede tatsächlich zurückgegebene Datei-URL ab.

Bewahren Sie jedes zurückgegebene Datenelement und jeden Ausgabeindex auf. content_url bezeichnet nur die erste Ausgabe; rufen Sie jeden tatsächlichen Inhaltspfad und jedes Asset ab. GET des Inhalts ohne index liefert nicht alle Ausgaben.

Wenn die ursprüngliche Antwort geprüft werden muss

Lesen Sie den bestehenden ursprünglichen Auftrag; reichen Sie einen Sendevorgang mit unbekanntem Ausgang niemals erneut ein.

Antwortfelder
FeldTyp
FeldidTypstring
FeldobjectTypstring
FeldmodelTypstring
FeldstatusTypstring
Feldcontent_urlTypsigned URL
Felddata[]Typsigned URL
FeldusageTypobject
Feldresult_pending_checkTypboolean
Fehler und nächste Schritte
AntwortBedingungNächster Schritt
Antwort400 · invalid_request_errorBedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültigNächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren.
Antwort409 · video_not_readyBedingungDer ursprüngliche Ergebnisinhalt ist noch nicht verfügbarNächster SchrittFragen Sie die ursprünglich zurückgegebene ID ab und beachten Sie Retry-After.
Antwortserver_errorBedingungDie zurückgegebene Antwort gibt an, dass der Vorgang oder das Ergebnis eine Prüfung erfordertNächster SchrittDie ursprünglich zurückgegebene Vorgangs-/Aufgaben-ID, die Anfrageheader und die Antwort aufbewahren; mit unterstützten Leseaufrufen für diesen ursprünglichen Vorgang fortfahren. Die Erstellungsanfrage nicht erneut senden.

Aliasnamen

Modellaliasnamen

Ailoot happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest

Aliasnamen für Methodenpfade

Verwenden Sie die oben angezeigten Methodenpfade.

Zugehörige Aufrufer-IDs

happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest

Ailoot · Videoerzeugung POST /v1/videos/generations happyhorse-r2v

happyhorse-r2v

Alibaba /happyhorse-r2v
Modell-ID
  • happyhorse-1.1-r2v
  • happyhorse-r2v
  • happyhorse-r2v-latest

Einstieg

Modell zur Videoerzeugung aus Referenzbildern und einem Textszenario. Hilft, das Erscheinungsbild von Figuren, Gegenstände und den visuellen Stil in einer neuen Szene beizubehalten.

Zulässige Eingaben
Text · Bilder
Ergebnisse
Video

In Ailoot verfügbar · Eingaben und Methoden

Ailoot · Videoerzeugung POST /v1/videos/generations
Eingabe
text, image
Ausgabe
video
Ausgabeformat
mp4
FeldTypAnforderungWerte und LimitsStandard
FeldmodelTypstringAnforderungErforderlichWerte und Limits
happyhorse-r2v
Standard—
FeldpromptTypstringAnforderungErforderlichWerte und Limits
Mindestlänge: 1
Standard—
FelddurationTypintegerAnforderungOptionalWerte und Limits
Minimum: 3
Maximum: 15
Einheit: Sekunden
Standard5
FeldresolutionTypstringAnforderungOptionalWerte und Limits
480P, 720P, 1080P
Standard720P
FeldratioTypstringAnforderungOptionalWerte und Limits
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Standard16:9
Feldimage_urlsTyphttps_url|data_image_url[]AnforderungErforderlichWerte und Limits
Mindestanzahl Elemente: 1
Maximale Anzahl Elemente: 9
Maximale Anzahl dekodierter Bytes: 20'971'520
MIME-Typen: image/jpeg, image/png, image/webp
Standard—
Kombinationen von Eingabematerialien

reference_images_to_video · Erforderlich: prompt, image_urls

Methodenparameter und Lebenszyklus
ParameterVertrag
Parametermaterial_typesVertragtext, image
ParameterrequiredVertragnull
Parameteroptional_controlsVertragnull

Lebenszyklus: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

Methodenstrukturen und IDs sind exakt; die Fähigkeiten des Anbieters sind von der Zulassung einer Anfrage zu unterscheiden.

Tarife

Ailoot-Methodentarife

Ailoot VideoerzeugungPOST /v1/videos/generations
Ausgabe
$ 0.18 pro Sekunde bei 1080p
Ausgabe
$ 0.07 pro Sekunde bei 480p
Ausgabe
$ 0.14 pro Sekunde bei 720p

Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschliessenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →

Beispielanfragen

Ailoot · Videoerzeugung

Bildreferenz
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URLS_FILE:?Set a JSON file containing your actual reference-image URLs}"
export AILOOT_IMAGE_URLS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-r2v", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
f=Path(os.environ["AILOOT_IMAGE_URLS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual reference URL JSON file")
urls=json.loads(f.read_text())
if not isinstance(urls,list) or not 1<=len(urls)<=9:raise SystemExit("Provide one to nine reference-image URLs")
for u in urls:
    z=urlsplit(u) if isinstance(u,str) else None
    if not z or z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Each reference must be an actual HTTPS image URL")
p["image_urls"]=urls
p["ratio"]="16:9"
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
print(json.dumps(r))
PY_RESULT

Ergebnisse abrufen und speichern

Ailoot · Videoerzeugung

mp4

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Auftragsstatus prüfen
GET · Status
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
Alle fertiggestellten Dateien speichern
GET · Alle fertiggestellten Dateien
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
Abrufe anderer Inhalte
GET · Inhalt
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Alle fertiggestellten Ergebnisse aufbewahren

Speichern Sie jedes fertiggestellte Video oder jede zurückgegebene Datei; rufen Sie jede tatsächlich zurückgegebene Datei-URL ab.

Bewahren Sie jedes zurückgegebene Datenelement und jeden Ausgabeindex auf. content_url bezeichnet nur die erste Ausgabe; rufen Sie jeden tatsächlichen Inhaltspfad und jedes Asset ab. GET des Inhalts ohne index liefert nicht alle Ausgaben.

Wenn die ursprüngliche Antwort geprüft werden muss

Lesen Sie den bestehenden ursprünglichen Auftrag; reichen Sie einen Sendevorgang mit unbekanntem Ausgang niemals erneut ein.

Antwortfelder
FeldTyp
FeldidTypstring
FeldobjectTypstring
FeldmodelTypstring
FeldstatusTypstring
Feldcontent_urlTypsigned URL
Felddata[]Typsigned URL
FeldusageTypobject
Feldresult_pending_checkTypboolean
Fehler und nächste Schritte
AntwortBedingungNächster Schritt
Antwort400 · invalid_request_errorBedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültigNächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren.
Antwort409 · video_not_readyBedingungDer ursprüngliche Ergebnisinhalt ist noch nicht verfügbarNächster SchrittFragen Sie die ursprünglich zurückgegebene ID ab und beachten Sie Retry-After.
Antwortserver_errorBedingungDie zurückgegebene Antwort gibt an, dass der Vorgang oder das Ergebnis eine Prüfung erfordertNächster SchrittDie ursprünglich zurückgegebene Vorgangs-/Aufgaben-ID, die Anfrageheader und die Antwort aufbewahren; mit unterstützten Leseaufrufen für diesen ursprünglichen Vorgang fortfahren. Die Erstellungsanfrage nicht erneut senden.

Aliasnamen

Modellaliasnamen

Ailoot happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest

Aliasnamen für Methodenpfade

Verwenden Sie die oben angezeigten Methodenpfade.

Zugehörige Aufrufer-IDs

happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest

Ailoot · Videoerzeugung POST /v1/videos/generations happyhorse-r2v-latest

happyhorse-r2v-latest

Alibaba /happyhorse-r2v-latest
Modell-ID
  • happyhorse-1.1-r2v
  • happyhorse-r2v
  • happyhorse-r2v-latest

Einstieg

Modell zur Videoerzeugung aus Referenzbildern und einem Textszenario. Hilft, das Erscheinungsbild von Figuren, Gegenstände und den visuellen Stil in einer neuen Szene beizubehalten.

Zulässige Eingaben
Text · Bilder
Ergebnisse
Video

In Ailoot verfügbar · Eingaben und Methoden

Ailoot · Videoerzeugung POST /v1/videos/generations
Eingabe
text, image
Ausgabe
video
Ausgabeformat
mp4
FeldTypAnforderungWerte und LimitsStandard
FeldmodelTypstringAnforderungErforderlichWerte und Limits
happyhorse-r2v-latest
Standard—
FeldpromptTypstringAnforderungErforderlichWerte und Limits
Mindestlänge: 1
Standard—
FelddurationTypintegerAnforderungOptionalWerte und Limits
Minimum: 3
Maximum: 15
Einheit: Sekunden
Standard5
FeldresolutionTypstringAnforderungOptionalWerte und Limits
480P, 720P, 1080P
Standard720P
FeldratioTypstringAnforderungOptionalWerte und Limits
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Standard16:9
Feldimage_urlsTyphttps_url|data_image_url[]AnforderungErforderlichWerte und Limits
Mindestanzahl Elemente: 1
Maximale Anzahl Elemente: 9
Maximale Anzahl dekodierter Bytes: 20'971'520
MIME-Typen: image/jpeg, image/png, image/webp
Standard—
Kombinationen von Eingabematerialien

reference_images_to_video · Erforderlich: prompt, image_urls

Methodenparameter und Lebenszyklus
ParameterVertrag
Parametermaterial_typesVertragtext, image
ParameterrequiredVertragnull
Parameteroptional_controlsVertragnull

Lebenszyklus: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

Methodenstrukturen und IDs sind exakt; die Fähigkeiten des Anbieters sind von der Zulassung einer Anfrage zu unterscheiden.

Tarife

Ailoot-Methodentarife

Ailoot VideoerzeugungPOST /v1/videos/generations
Ausgabe
$ 0.18 pro Sekunde bei 1080p
Ausgabe
$ 0.07 pro Sekunde bei 480p
Ausgabe
$ 0.14 pro Sekunde bei 720p

Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschliessenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →

Beispielanfragen

Ailoot · Videoerzeugung

Bildreferenz
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URLS_FILE:?Set a JSON file containing your actual reference-image URLs}"
export AILOOT_IMAGE_URLS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-r2v-latest", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
f=Path(os.environ["AILOOT_IMAGE_URLS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual reference URL JSON file")
urls=json.loads(f.read_text())
if not isinstance(urls,list) or not 1<=len(urls)<=9:raise SystemExit("Provide one to nine reference-image URLs")
for u in urls:
    z=urlsplit(u) if isinstance(u,str) else None
    if not z or z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Each reference must be an actual HTTPS image URL")
p["image_urls"]=urls
p["ratio"]="16:9"
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
print(json.dumps(r))
PY_RESULT

Ergebnisse abrufen und speichern

Ailoot · Videoerzeugung

mp4

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Auftragsstatus prüfen
GET · Status
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
Alle fertiggestellten Dateien speichern
GET · Alle fertiggestellten Dateien
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
Abrufe anderer Inhalte
GET · Inhalt
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Alle fertiggestellten Ergebnisse aufbewahren

Speichern Sie jedes fertiggestellte Video oder jede zurückgegebene Datei; rufen Sie jede tatsächlich zurückgegebene Datei-URL ab.

Bewahren Sie jedes zurückgegebene Datenelement und jeden Ausgabeindex auf. content_url bezeichnet nur die erste Ausgabe; rufen Sie jeden tatsächlichen Inhaltspfad und jedes Asset ab. GET des Inhalts ohne index liefert nicht alle Ausgaben.

Wenn die ursprüngliche Antwort geprüft werden muss

Lesen Sie den bestehenden ursprünglichen Auftrag; reichen Sie einen Sendevorgang mit unbekanntem Ausgang niemals erneut ein.

Antwortfelder
FeldTyp
FeldidTypstring
FeldobjectTypstring
FeldmodelTypstring
FeldstatusTypstring
Feldcontent_urlTypsigned URL
Felddata[]Typsigned URL
FeldusageTypobject
Feldresult_pending_checkTypboolean
Fehler und nächste Schritte
AntwortBedingungNächster Schritt
Antwort400 · invalid_request_errorBedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültigNächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren.
Antwort409 · video_not_readyBedingungDer ursprüngliche Ergebnisinhalt ist noch nicht verfügbarNächster SchrittFragen Sie die ursprünglich zurückgegebene ID ab und beachten Sie Retry-After.
Antwortserver_errorBedingungDie zurückgegebene Antwort gibt an, dass der Vorgang oder das Ergebnis eine Prüfung erfordertNächster SchrittDie ursprünglich zurückgegebene Vorgangs-/Aufgaben-ID, die Anfrageheader und die Antwort aufbewahren; mit unterstützten Leseaufrufen für diesen ursprünglichen Vorgang fortfahren. Die Erstellungsanfrage nicht erneut senden.

Aliasnamen

Modellaliasnamen

Ailoot happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest

Aliasnamen für Methodenpfade

Verwenden Sie die oben angezeigten Methodenpfade.

Zugehörige Aufrufer-IDs

happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest

FAQ · happyhorse-1.1-r2v
Welche Eingaben und Ergebnisse sind verfügbar?

POST /v1/videos/generations · happyhorse-1.1-r2v: text, image → video

POST /v1/videos/generations · happyhorse-r2v: text, image → video

POST /v1/videos/generations · happyhorse-r2v-latest: text, image → video

Welche Felder verwendet die Anfrage?

POST /v1/videos/generations · happyhorse-1.1-r2v: model, prompt, duration, resolution, ratio, image_urls

POST /v1/videos/generations · happyhorse-r2v: model, prompt, duration, resolution, ratio, image_urls

POST /v1/videos/generations · happyhorse-r2v-latest: model, prompt, duration, resolution, ratio, image_urls

Welche Grenzen gelten?

POST /v1/videos/generations · happyhorse-1.1-r2v: duration.minimum: 3; duration.maximum: 15

POST /v1/videos/generations · happyhorse-r2v: duration.minimum: 3; duration.maximum: 15

POST /v1/videos/generations · happyhorse-r2v-latest: duration.minimum: 3; duration.maximum: 15

Weitere Details

Verbinden Sie Ailoot mit Claude Code, OpenCode, Hermes oder Ihrer eigenen Anwendung.

Das Unternehmen und sein Projektportfolio

Das Unternehmen und sein Projektportfolio: Millionen von Kunden; monatliche Umsätze in Milliardenhöhe.

Tokens mit Rabatt kaufen.

Aborabatt für regelmäßige Arbeit. Aktionscodes bieten bis 50% beim Tokenkauf.

Abo
Wählen Sie einen Tarif mit Rabatt für Ihre regelmäßigen Anfragen.
Aktionscode bis 50%
Geben Sie den Code beim Kauf ein. Der Preis wird nach den gültigen Aktionsbedingungen berechnet.
Ausgaben in der Historie
Modell, Tokens und Betrag werden für jede Anfrage gespeichert.

Abo wählen · Modellpreise ansehen

Verbinden Sie die API mit dem Produkt, das Sie verkaufen.

SaaS, Anwendungen und Bots nach dem offiziellen Angebot und Lizenzvertrag von Ailoot. Fordern Sie für den Weiterverkauf eine Reseller-Lizenz an.

Kommerzielle Anwendung
Integrieren Sie Text-, Bild-, Video- und Audioerzeugung in kostenpflichtige Funktionen Ihres Dienstes.
Reseller-Lizenz
Senden Sie Projektbeschreibung und Zugangsmodell. Fordern Sie schriftliche Nutzungs- und Weiterverkaufsbedingungen an.
Dokumente auf der Website
Offizielles Angebot, Lizenzvertrag und Datenschutzerklärung sind vor der Verbindung zugänglich.

Reseller-Lizenz anfordern · Offizielles Angebot und Lizenzvertrag