Zum Hauptinhalt springen
POST
/
v1
/
videos
/
generations
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "happyhorse-1.1",
    "prompt": "A little girl walking down the road, cinematic feel",
    "resolution": "1080P",
    "size": "16:9",
    "duration": 5,
    "seed": 42
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
    }
  ]
}
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "happyhorse-1.1",
    "prompt": "A little girl walking down the road, cinematic feel",
    "resolution": "1080P",
    "size": "16:9",
    "duration": 5,
    "seed": 42
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
    }
  ]
}

Autorisierung

Authorization
string
erforderlich
Alle API-Endpunkte erfordern eine Bearer-Token-AuthentifizierungAPI-Key abrufen:Besuchen Sie die Seite zur API-Key-Verwaltung, um Ihren API-Key zu erhaltenFügen Sie ihn zum Request-Header hinzu:
Authorization: Bearer YOUR_API_KEY

Modus-Routing

happyhorse-1.1 ist der einheitliche Einstieg für Text-to-Video / Image-to-Video / Reference-Image-to-Video. Das Backend ermittelt den Modus automatisch anhand der eingehenden Parameter. Alle Modi werden nach derselben Regel abgerechnet (nur Auflösung × Sekunden):
Übergebene FelderRoutet zuModusbeschreibung
Nur promptText-to-Video (T2V)Video rein aus Text generieren
prompt + first_frame_imageImage-to-Video (I2V)Animation aus einem Erstbild
prompt + image_urls (1–9 Bilder)Reference-Image-to-Video (R2V)Neue Szene aus Referenzbildern generieren
Routing-Priorität (hoch nach niedrig): first_frame_image > image_urls > nur prompt. Regeln zur gegenseitigen Ausschließlichkeit: Die beiden Medienfelder (first_frame_image / image_urls) sind gegenseitig ausschließend. Werden beide sich ausschließende Felder gleichzeitig übergeben, wird 400 mixed_media_not_allowed zurückgegeben.

Anfrageparameter

model
string
erforderlich
Name des Videogenerierungsmodells, fest auf happyhorse-1.1
prompt
string
Beschreibung des Videoinhalts, bis zu 2500 Zeichen; darf keine Sondertoken enthaltenBeispiel: "A little girl walking down the road, cinematic feel"
first_frame_image
string
Erstes Einzelbild, löst I2V (Image-to-Video) aus. Unterstützt URL oder base64 (data:image/<mime>;base64,<payload>, das Gateway lädt es automatisch in OSS hoch)Schließt sich gegenseitig aus mit image_urls
Anforderungen an das Erstbild:
  • Format: JPEG / JPG / PNG / BMP / WEBP
  • Kurze Seite: ≥ 300 px
  • Seitenverhältnis: 1:2.5 bis 2.5:1
  • Dateigröße: ≤ 10 MB
image_urls
array<string>
Bilder-Array (R2V-Modus): 1–9 Bilder, dienen als Subjekt-/Stilreferenzen zur Generierung einer neuen SzeneUnterstützt URL oder base64Schließt sich gegenseitig aus mit first_frame_image
Anforderungen an Referenzbilder:
  • Format: JPEG / JPG / PNG / BMP / WEBP
  • Kurze Seite: empfohlen ≥ 720p
  • Seitenverhältnis: kurz / lang ≥ 0,4
  • Dateigröße: ≤ 10 MB
  • Anzahl: 1–9 Bilder
resolution
string
Standard:"1080P"
Videoauflösung (beeinflusst die Abrechnung)Optionen:
  • 720P – Standard
  • 1080P – Hohe Auflösung (Standard)
duration
integer
Standard:"5"
Videodauer in Sekunden (beeinflusst die Abrechnung)Unterstützter Bereich: jede Ganzzahl von 3 bis 15Standard: 5
size
string
Standard:"16:9"
SeitenverhältnisUnterstützte Formate:
  • 16:9 – Querformat Breitbild (Standard)
  • 9:16 – Hochformat
  • 1:1 – Quadrat
  • 4:3 – Querformat
  • 3:4 – Hochformat
Im I2V-Modus wird dieser Parameter ignoriert — das Ausgabe-Seitenverhältnis wird automatisch durch das Eingabemedium (Erstbild) bestimmt
watermark
boolean
Standard:"false"
Soll dem generierten Video ein Wasserzeichen hinzugefügt werden?
  • true: Wasserzeichen hinzufügen
  • false: kein Wasserzeichen (Standard)
seed
integer
Zufallsseed zur Steuerung der Zufälligkeit des generierten InhaltsWertebereich: [0, 2147483647]. Wenn weggelassen, wird ein zufälliger Seed verwendet.
  • Bei identischen Anfragen erzeugt das Modell unterschiedliche Ergebnisse, wenn unterschiedliche Seed-Werte empfangen werden (z. B. ohne Seed)
  • Bei identischen Anfragen erzeugt das Modell ähnliche Ergebnisse, wenn derselbe Seed-Wert empfangen wird, eine exakte Übereinstimmung ist jedoch nicht garantiert

Antwort

code
integer
Statuscode der Antwort, 200 bei Erfolg
data
array
Datenarray der Antwort

Anwendungsfälle

Fall 1: Text-zu-Video T2V (einfachste Anfrage)

{
  "model": "happyhorse-1.1",
  "prompt": "A little girl walking down the road, cinematic feel"
}

Fall 2: Text-zu-Video T2V (vollständige Parameter)

{
  "model": "happyhorse-1.1",
  "prompt": "A coastal road at sunset, slow-motion camera push-in, cinematic feel",
  "resolution": "1080P",
  "size": "16:9",
  "duration": 8,
  "seed": 42
}

Fall 3: Bild-zu-Video I2V (first_frame_image)

{
  "model": "happyhorse-1.1",
  "prompt": "Bring the scene in the image to life",
  "first_frame_image": "https://example.com/first_frame.png",
  "resolution": "1080P",
  "duration": 5
}

Fall 4: Referenz-Bild-zu-Video R2V (mehrere Referenzen)

{
  "model": "happyhorse-1.1",
  "prompt": "The protagonist from image 1 runs through the scene from image 2, then picks up the prop from image 3. Keep a 3D cartoon style with smooth motion.",
  "image_urls": [
    "https://example.com/img_01.jpg",
    "https://example.com/img_02.png",
    "https://example.com/img_03.jpeg"
  ],
  "resolution": "1080P",
  "size": "16:9",
  "duration": 5
}

Fall 5: 720P zur Kosteneinsparung

{
  "model": "happyhorse-1.1",
  "prompt": "Waves crashing on the beach at sunset",
  "resolution": "720P",
  "size": "16:9",
  "duration": 5
}

Leitfaden zur Moduswahl

AnforderungEmpfohlene Vorgehensweise
Video nur aus Text generierenNur prompt übergeben (T2V)
Ein Bild „lebendig” machen (als Erstbild verwenden)first_frame_image übergeben (I2V)
Eine neue Szene aus einer Sammlung von Referenzbildern generierenimage_urls übergeben (1–9, R2V)
Kosten sparenresolution: "720P" verwenden

Tipps zur Nutzung

  1. Logik des einheitlichen Einstiegs: Die Eingabefelder bestimmen den Modus. Beachten Sie, dass die beiden Medienfelder (first_frame_image / image_urls) gegenseitig ausschließend sind
  2. size wirkt nur in T2V/R2V: Im I2V-Modus wird size ignoriert — das Ausgabe-Seitenverhältnis wird durch das Eingabemedium bestimmt
  3. Dauer: 5–10 Sekunden ist der optimale Bereich. Zu kurz führt zu ruckartiger Bewegung; zu lang erhöht die Upstream-Verarbeitungszeit erheblich
  4. Qualität des Erstbildes: klar, gut komponiert, Subjekt zentriert — verbessert die I2V-Ausgabe deutlich
  5. Prompt-Formulierung: Beschreiben Sie Bewegung / Kamera / Atmosphäre (z. B. „slow push-in, cinematic, warm tones”) für bessere Ergebnisse als rein statische Szenenbeschreibungen
Aufgabenergebnisse abfragenDie Videogenerierung ist eine asynchrone Aufgabe, die nach der Übermittlung eine task_id zurückgibt. Verwenden Sie den Endpunkt Aufgabenstatus abrufen, um den Generierungsfortschritt und die Ergebnisse abzufragen.