Generate videos with unified public operations such as text-to-video, image-to-video, reference-to-video, keyframe control, motion control, and video-to-video.
LemonData provides access to video generation models through a single unified API. Video generation is asynchronous: submit a request, receive a task ID and poll_url, then poll for the final result.
The model inventory changes over time. For the latest public availability, use the Models API or visit the Models page.
If a create response returns poll_url, call that exact URL. When it points to /v1/tasks/{id}, treat that as the canonical fixed status endpoint.
Audio behavior is model-dependent. In LemonData, Veo 3 family requests default to audio-on when output_audio is omitted. Some public models are silent-only or do not expose a stable toggle.
For production integrations, prefer publicly reachable https URLs over inline base64 for images, videos, and audio. Inline data: URLs are still supported by compatible models, but URLs are easier to retry, inspect, and debug.
LemonData’s current public video contract centers on these operations:
text-to-video
image-to-video
reference-to-video
start-end-to-video
video-to-video
motion-control
The request contract also accepts audio-to-video and video-extension for model-specific flows, but the current generally enabled public model inventory in this docs build does not include a broadly enabled model that advertises either capability.
For seedance-2.0 and seedance-2.0-fast, LemonData currently supports up to 9 reference images plus up to 3 reference videos and 3 reference audios. duration controls generated output length only; it does not define a separate reference video input duration limit.
response = requests.post(f"{BASE}/videos/generations", headers=headers, 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" ], "duration": 8, "resolution": "720p", "aspect_ratio": "9:16" })
Billing is model-dependent. Some public video models are effectively priced per request, while others are priced per second. Check the Models page or the Pricing API for the current public price surface.