Zum Hauptinhalt springen

Überblick

Die Video-Generierung ist asynchron. Nach dem Absenden einer Anfrage erhalten Sie eine task_id und eine poll_url. Anschließend pollen Sie den Task, bis das endgültige Ergebnis vorliegt.
Für das zuverlässigste Polling-Verhalten verwenden Sie genau die poll_url, die in der Create-Response zurückgegeben wird.
Wenn eine Create-Response poll_url zurückgibt, verwenden Sie genau diese URL. Wenn sie auf /v1/tasks/{id} zeigt, behandeln Sie sie als kanonischen festen Status-Endpunkt.
Die Audioausgabe ist modellabhängig. In LemonData wird die Veo-3-Familie standardmäßig mit aktiviertem Audio behandelt, wenn output_audio weggelassen wird. Wenn ein Modell Audio-Steuerung unterstützt, schalten Sie sie explizit über output_audio. Das camelCase-Alias outputAudio wird aus Kompatibilitätsgründen ebenfalls akzeptiert.
Für Produktionsintegrationen sollten Sie öffentlich erreichbare https-URLs für Bild-, Video- und Audioeingaben bevorzugen. Kompatible Modelle unterstützen weiterhin Inline-data:-URLs, aber große base64-Payloads erschweren Retry, Beobachtbarkeit und Debugging.

Request-Body

model
string
Standard:"sora-2"
Video-Modell-ID. Der API-Standardwert ist sora-2. Die aktuelle öffentliche Modellmatrix und unterstützte Fähigkeiten finden Sie im Leitfaden zur Video-Generierung.
prompt
string
erforderlich
Textbeschreibung des Videos. Für die meisten öffentlichen Videomodelle ist dieses Feld erforderlich.
operation
string
Auszuführende Video-Operation. Der öffentliche Vertrag unterstützt text-to-video, image-to-video, reference-to-video, start-end-to-video, video-to-video, video-extension, audio-to-video und motion-control. LemonData kann die Operation aus den Eingaben ableiten, aber in Produktion wird eine explizite Angabe empfohlen.
image_url
string
Startbild-URL für Bild-zu-Video. Für die breiteste Kompatibilität sollte image_url bevorzugt werden.
image
string
Inline-Bild als data:-URL (zum Beispiel data:image/jpeg;base64,...). Wird von kompatiblen Modellen unterstützt, aber image_url ist in der Praxis robuster.
reference_images
array
Referenzbilder für Referenzbild-zu-Video. Es können bis zu 3 Einträge übergeben werden. Öffentlich erreichbare https-URLs werden empfohlen; kompatible Modelle akzeptieren auch data:-URLs.
reference_image_type
string
Optionales Rollenfeld für Modelle, die zwischen asset und style unterscheiden.
video_url
string
Öffentlich erreichbare Quellvideo-URL. Für die derzeit öffentlichen video-to-video-Flows und motion-control-Modelle erforderlich.
audio_url
string
Öffentlich erreichbare Audio-URL für audio-to-video-Modelle.
task_id
string
Provider-seitige Task-ID für bestimmte Fortsetzungs-, Erweiterungs- oder Ableitungs-Flows.
extend_at
integer
Modellspezifischer Startoffset für bestimmte video-extension-Flows.
extend_times
string
Modellspezifischer Multiplikator oder Wiederholungszähler für bestimmte video-extension-Flows.
duration
integer
Videodauer in Sekunden. Zulässige Werte sind modellabhängig.
aspect_ratio
string
Seitenverhältnis, zum Beispiel 16:9, 9:16 oder 1:1.
resolution
string
Ausgabeauflösung, zum Beispiel 720p, 1080p oder 4k. Die Unterstützung ist modellabhängig.
output_audio
boolean
Modellabhängiger Audio-Output-Schalter. In LemonData wird die Veo-3-Familie bei Auslassung standardmäßig als true behandelt. Das camelCase-Alias outputAudio wird ebenfalls akzeptiert.
fps
integer
Bildrate (1–120). Nur bei Modellen wirksam, die FPS öffentlich unterstützen.
negative_prompt
string
Inhalte, die in der Generierung vermieden werden sollen.
seed
integer
Zufalls-Seed für reproduzierbare Ergebnisse.
cfg_scale
number
Prompt-Treue (0–20), nur bei unterstützenden Modellen wirksam.
motion_strength
number
Bewegungsstärke (0–1), nur bei unterstützenden Modellen wirksam.
start_image
string
Startframe-Bild-URL oder kompatibler Bildeingang für start-end-to-video.
end_image
string
Endframe-Bild-URL oder kompatibler Bildeingang für start-end-to-video.
size
string
Größen-Tier für einige OpenAI-kompatible Videomodelle.
watermark
boolean
Wasserzeichen-Schalter für Modelle, die ihn öffentlich anbieten.
effect_type
string
Modellspezifischer Effekt-Selektor für bestimmte Editier- oder Effekt-Flows.
user
string
Eindeutige Kennung des Endnutzers.

Kompatibilitätshinweise

  • Die kanonischen öffentlichen Felder sind snake_case: reference_images, reference_image_type und output_audio.
  • Aus Kompatibilitätsgründen akzeptiert LemonData auch die camelCase-Aliasse referenceImages, referenceImageType und outputAudio.
  • Wenn operation fehlt, leitet LemonData sie aus den Eingaben ab. Für Produktion wird dennoch eine explizite Angabe empfohlen.

Best Practices für Eingaben

  • Für image_url, reference_images, video_url und audio_url sollten öffentlich erreichbare https-URLs bevorzugt werden.
  • Vermeiden Sie möglichst, base64 und Remote-URLs innerhalb derselben Anfrage zu mischen.
  • Wenn Sie signierte URLs verwenden, sollte die Gültigkeit den Retry-Zeitraum und die asynchrone Task-Erstellung abdecken.

Antwort

id
string
Kanonische asynchrone Aufgaben-ID. Wenn id und task_id beide vorhanden sind, behandeln Sie sie als dieselbe Aufgabe.
task_id
string
Eindeutige Task-ID für das Polling.
poll_url
string
Empfohlene Polling-URL für diesen Task. Verwenden Sie diesen Pfad unverändert.
status
string
Initialer Status: pending.
created
integer
Unix-Zeitstempel der Task-Erstellung.
model
string
Verwendetes Modell.
curl -X POST "https://api.lemondata.cc/v1/videos/generations" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2",
    "prompt": "A cat walking through a garden, cinematic lighting",
    "operation": "text-to-video",
    "duration": 4,
    "aspect_ratio": "16:9"
  }'
{
  "id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "status": "pending",
  "model": "sora-2",
  "created": 1706000000
}

Bild-zu-Video

response = requests.post(
    "https://api.lemondata.cc/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "hailuo-2.3-standard",
        "prompt": "The scene begins from the provided image and adds gentle natural motion.",
        "operation": "image-to-video",
        "image_url": "https://example.com/image.jpg",
        "duration": 6,
        "aspect_ratio": "16:9"
    }
)

Referenzbild-zu-Video

Für Modelle mit dedizierter Referenzbild-Konditionierung verwenden Sie operation=reference-to-video. Im öffentlichen Vertrag von LemonData werden Referenzbilder über reference_images übergeben.
response = requests.post(
    "https://api.lemondata.cc/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "veo3.1",
        "prompt": "Keep the same subject identity and palette while adding subtle motion.",
        "operation": "reference-to-video",
        "reference_images": [
            "https://example.com/ref-a.jpg",
            "https://example.com/ref-b.jpg"
        ],
        "reference_image_type": "asset",
        "duration": 8,
        "resolution": "720p",
        "aspect_ratio": "9:16"
    }
)

Start- und Endframe-Steuerung

Verwenden Sie start_image und end_image, um ersten und letzten Frame zu kontrollieren.
response = requests.post(
    "https://api.lemondata.cc/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "viduq2-pro",
        "prompt": "Smooth transition from day to night",
        "operation": "start-end-to-video",
        "start_image": "https://example.com/day.jpg",
        "end_image": "https://example.com/night.jpg",
        "duration": 5,
        "resolution": "720p",
        "aspect_ratio": "16:9"
    }
)

Video-zu-Video

Wenn ein Modell ein bestehendes Video als Haupteingabe akzeptiert, verwenden Sie operation=video-to-video.
response = requests.post(
    "https://api.lemondata.cc/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "topaz-video-upscale",
        "operation": "video-to-video",
        "video_url": "https://example.com/source.mp4",
        "prompt": "Upscale the clip while preserving the original motion.",
        "resolution": "1080p"
    }
)

Bewegungssteuerung

Wenn ein Modell sowohl ein Motivbild als auch ein Bewegungsreferenzvideo benötigt, verwenden Sie operation=motion-control. LemonData normalisiert die öffentliche Form image_url + video_url in den Upstream-Vertrag.
response = requests.post(
    "https://api.lemondata.cc/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "kling-3.0-motion-control",
        "operation": "motion-control",
        "prompt": "Keep the subject stable while following the motion reference.",
        "image_url": "https://example.com/subject.png",
        "video_url": "https://example.com/motion.mp4",
        "resolution": "720p"
    }
)

Aktuelle Verfügbarkeit von Audio-to-Video und Video-Extension

Der öffentliche Vertrag von LemonData akzeptiert audio-to-video und video-extension für modellspezifische Flows. In der aktuell allgemein aktivierten öffentlichen Modellliste dieses Docs-Builds gibt es jedoch kein breit aktiviertes Modell, das diese Fähigkeiten öffentlich anbietet. Prüfen Sie die aktuelle Verfügbarkeit vor der Integration über die Models API oder die Modellseite.

Aktueller öffentlicher Modellbestand

Diese Liste ist mit dem aktuell aktivierten öffentlichen Videomodellbestand in diesem Dokumentations-Build abgestimmt. Für den neuesten Stand verwenden Sie die Models API.

OpenAI

ModelÖffentliche Operationen
sora-2Text-zu-Video, Bild-zu-Video
sora-2-proText-zu-Video, Bild-zu-Video
sora-2-pro-storyboardBild-zu-Video

Kuaishou

ModelÖffentliche Operationen
kling-3.0-motion-controlBewegungssteuerung
kling-3.0-videoText-zu-Video, Bild-zu-Video, Start-Endbild-zu-Video
kling-v2.5-turbo-proText-zu-Video, Bild-zu-Video, Start-Endbild-zu-Video
kling-v2.5-turbo-stdText-zu-Video, Bild-zu-Video
kling-v2.6-proText-zu-Video, Bild-zu-Video, Start-Endbild-zu-Video
kling-v2.6-stdText-zu-Video, Bild-zu-Video
kling-v3.0-proText-zu-Video, Bild-zu-Video, Start-Endbild-zu-Video
kling-v3.0-stdText-zu-Video, Bild-zu-Video, Start-Endbild-zu-Video
kling-video-o1-proText-zu-Video, Bild-zu-Video, Referenzbild-zu-Video, Start-Endbild-zu-Video, Video-zu-Video
kling-video-o1-stdText-zu-Video, Bild-zu-Video, Referenzbild-zu-Video, Start-Endbild-zu-Video, Video-zu-Video

Google

ModelÖffentliche Operationen
veo3Text-zu-Video, Bild-zu-Video
veo3-fastText-zu-Video, Bild-zu-Video
veo3-proText-zu-Video, Bild-zu-Video
veo3.1Text-zu-Video, Bild-zu-Video, Referenzbild-zu-Video, Start-Endbild-zu-Video
veo3.1-fastText-zu-Video, Bild-zu-Video, Referenzbild-zu-Video, Start-Endbild-zu-Video
veo3.1-proText-zu-Video, Bild-zu-Video, Start-Endbild-zu-Video

ByteDance

ModelÖffentliche Operationen
seedance-1.5-proText-zu-Video, Bild-zu-Video

MiniMax

ModelÖffentliche Operationen
hailuo-2.3-fastBild-zu-Video
hailuo-2.3-proText-zu-Video, Bild-zu-Video
hailuo-2.3-standardText-zu-Video, Bild-zu-Video

Alibaba

ModelÖffentliche Operationen
wan-2.2-plusText-zu-Video, Bild-zu-Video
wan-2.5Text-zu-Video, Bild-zu-Video
wan-2.6Text-zu-Video, Bild-zu-Video, Referenzbild-zu-Video

Shengshu

ModelÖffentliche Operationen
viduq2Text-zu-Video, Referenzbild-zu-Video
viduq2-proBild-zu-Video, Referenzbild-zu-Video, Start-Endbild-zu-Video
viduq2-pro-fastBild-zu-Video, Start-Endbild-zu-Video
viduq2-turboBild-zu-Video, Start-Endbild-zu-Video
viduq3-proText-zu-Video, Bild-zu-Video, Start-Endbild-zu-Video
viduq3-turboText-zu-Video, Bild-zu-Video, Start-Endbild-zu-Video

xAI

ModelÖffentliche Operationen
grok-imagine-image-to-videoBild-zu-Video
grok-imagine-text-to-videoText-zu-Video
grok-imagine-upscaleVideo-zu-Video

Other

ModelÖffentliche Operationen
topaz-video-upscaleVideo-zu-Video