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": "Omni-Flash-Ext",
    "prompt": "a girl is dancing happily in a sunny garden",
    "duration": 10,
    "resolution": "1080p",
    "aspect_ratio": "9:16"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KS1H7ZYSJWH1N779S2FSHTKA"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt

Use this file to discover all available pages before exploring further.

curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "Omni-Flash-Ext",
    "prompt": "a girl is dancing happily in a sunny garden",
    "duration": 10,
    "resolution": "1080p",
    "aspect_ratio": "9:16"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KS1H7ZYSJWH1N779S2FSHTKA"
    }
  ]
}

Authentifizierung

Authorization
string
erforderlich
Alle Anfragen erfordern eine Authentifizierung per Bearer Token.API-Schlüssel abrufen:Besuchen Sie die Seite zur API-Schlüsselverwaltung, um Ihren API-Schlüssel zu erhalten.Fügen Sie beim Senden von Anfragen den folgenden Header hinzu:
Authorization: Bearer YOUR_API_KEY

Anfrageparameter

model
string
erforderlich
Name des Videogenerierungsmodells. Muss Omni-Flash-Ext sein.
prompt
string
erforderlich
Beschreibung des Videoinhalts. Wir empfehlen, Szene, Subjekt, Aktion, Umgebung, Kameraführung, visuellen Stil und Audiohinweise detailliert zu beschreiben.Beispiel: "a girl is dancing happily in a sunny garden"
duration
integer
Standard:"6"
Videodauer in Sekunden.Unterstützte Werte: 4, 6, 8, 10.
Andere Werte wie 5 oder 7 geben einen invalid_duration-Fehler zurück.
Übergeben Sie duration nicht, wenn Sie ein Referenzvideo hochladen. duration und video_urls können nicht gleichzeitig übergeben werden.
resolution
string
Standard:"720p"
Auflösung des Videos. Werte sind unabhängig von der Groß-/Kleinschreibung.Unterstützte Werte:
  • 720p
  • 1080p
  • 4k
Andere Auflösungen geben einen invalid_resolution-Fehler zurück.
aspect_ratio
string
Standard:"16:9"
Seitenverhältnis des Videos. Damit steuern Sie die Ausgabe in Quer- oder Hochformat.Übliche Werte:
  • 16:9 — Querformat
  • 9:16 — Hochformat
Standard: 16:9
size
string
Kompatibilitätsfeld. Hat die gleiche Bedeutung wie aspect_ratio. Wenn beide angegeben sind, halten Sie sie konsistent.
image_urls
array<url>
Array mit URLs der Referenzbilder. Sie können es weglassen, 1 Bild oder 3 Bilder bereitstellen:
  • Weggelassen oder leeres Array: Text-to-Video
  • 1 Bild: Image-to-Video mit einem Bild
  • 3 Bilder: Fusion von Referenzbildern
Es werden nur öffentlich zugängliche Bild-URLs unterstützt.
Der Modus „Erstes Bild + letztes Bild” mit 2 Bildern wird nicht unterstützt. Die Übergabe von 2 Bildern gibt einen unsupported_image_count-Fehler zurück. 4 oder mehr Bilder sind nicht vollständig verifiziert und werden nicht empfohlen.
video_urls
array<url>
Array mit URLs der Referenzvideos. Sie können es weglassen oder 1 Referenzvideo bereitstellen.Es werden nur öffentlich zugängliche HTTP/HTTPS-Video-URLs unterstützt. Es kann zusammen mit image_urls übergeben werden: Bilder dienen als Identitäts- oder Kompositionsreferenz, das Video als Bewegungsreferenz.
Omni-Flash-Ext unterstützt nur 0 oder 1 Referenzvideo. Die Übergabe von 2 oder mehr Videos gibt einen unsupported_video_count-Fehler zurück.
Übergeben Sie duration nicht, wenn Sie video_urls übergeben. video_urls und duration können nicht gleichzeitig übergeben werden.

Antwort

code
integer
Statuscode der Antwort. Erfolgreiche Anfragen geben 200 zurück.
data
array
Zurückgegebenes Task-Array.

Aufgabenergebnis abfragen

Die Videogenerierung erfolgt asynchron. Nach der Einreichung gibt die API eine task_id zurück. Verwenden Sie den Endpunkt Aufgabenstatus abrufen, um Fortschritt und Ergebnisse abzufragen.
cURL
curl --request GET \
  --url https://api.apimart.ai/v1/tasks/task_01KS1H7ZYSJWH1N779S2FSHTKA \
  --header 'Authorization: Bearer <token>'
Wir empfehlen, nach der Einreichung 5–10 Sekunden bis zur ersten Abfrage zu warten und dann alle 5–10 Sekunden zu pollen. Eine einzelne Aufgabe wird in der Regel in etwa 3–5 Minuten abgeschlossen.

Beispiel für ein erfolgreiches Ergebnis

{
  "code": 200,
  "data": {
    "id": "task_01KS1H7ZYSJWH1N779S2FSHTKA",
    "status": "completed",
    "progress": 100,
    "created": 1779246294,
    "completed": 1779246534,
    "actual_time": 240,
    "estimated_time": 600,
    "cost": 0.4,
    "result": {
      "videos": [
        {
          "url": ["https://cdn.example.com/videos/abc.mp4"],
          "expires_at": 1779332760
        }
      ]
    }
  }
}

Beispiel für ein fehlgeschlagenes Ergebnis

{
  "code": 200,
  "data": {
    "id": "task_01KS1H7ZYSJWH1N779S2FSHTKA",
    "status": "failed",
    "progress": 100,
    "created": 1779246294,
    "completed": 1779246534,
    "actual_time": 240,
    "estimated_time": 600,
    "cost": 0,
    "error": {
      "message": "invalid duration 7, must be one of 4/6/8/10",
      "code": "task_failed"
    }
  }
}

Anwendungsfälle

Szenario 1: Text-zu-Video

{
  "model": "Omni-Flash-Ext",
  "prompt": "a beautiful sunset over the ocean with seagulls flying",
  "duration": 6,
  "resolution": "720p",
  "aspect_ratio": "16:9"
}

Szenario 2: Video mit einem Bild

{
  "model": "Omni-Flash-Ext",
  "prompt": "make the character smile and slowly turn around, cinematic camera motion",
  "duration": 6,
  "resolution": "1080p",
  "aspect_ratio": "9:16",
  "image_urls": ["https://example.com/character.jpg"]
}

Szenario 3: Fusion von 3 Referenzbildern

{
  "model": "Omni-Flash-Ext",
  "prompt": "a creative scene combining these elements with smooth camera motion",
  "duration": 10,
  "resolution": "1080p",
  "aspect_ratio": "9:16",
  "image_urls": [
    "https://example.com/scene.jpg",
    "https://example.com/character.jpg",
    "https://example.com/product.jpg"
  ]
}

Szenario 4: Kurzes 4K-Video

{
  "model": "Omni-Flash-Ext",
  "prompt": "close-up of a hummingbird hovering in front of a red flower",
  "duration": 4,
  "resolution": "4k",
  "aspect_ratio": "16:9"
}

Szenario 5: Generierung mit Referenzvideo

{
  "model": "Omni-Flash-Ext",
  "prompt": "the same scene but at night with neon lights",
  "resolution": "720p",
  "aspect_ratio": "16:9",
  "video_urls": ["https://example.com/reference.mp4"]
}

Fehlercodes

HTTPFehlertypBedeutungEmpfohlene Aktion
400invalid_request_errormodel ist nicht Omni-Flash-Ext, prompt ist leer oder das JSON-Format ist ungültigÜberprüfen Sie den Request-Body
400invalid_durationduration ist nicht 4, 6, 8 oder 10Verwenden Sie eine unterstützte Dauer
400invalid_resolutionresolution ist nicht 720p, 1080p oder 4kVerwenden Sie eine unterstützte Auflösung
400unsupported_image_countAnzahl von image_urls nicht unterstützt, meist durch die Übergabe von 2 Bildern verursachtVerwenden Sie 0, 1 oder 3 Bilder
400unsupported_video_countAnzahl von video_urls nicht unterstützt, meist durch die Übergabe von 2 oder mehr Videos verursachtVerwenden Sie 0 oder 1 Referenzvideo
401authentication_errorUngültiges TokenÜberprüfen Sie den Bearer Token
402payment_requiredUnzureichendes GuthabenAufladen und erneut versuchen
429rate_limit_errorRatenlimit überschrittenParallelität reduzieren oder es später erneut versuchen
Wenn eine Aufgabe fehlschlägt, gibt die Status-API der Aufgabe den Fehlergrund in data.error zurück. Häufige Ursachen sind vorübergehende Kontingenterschöpfungen beim Upstream, fehlgeschlagene Inhaltsmoderation oder Timeout beim Upstream.