References and elements
Animate an approved still, keep a face consistent, match a product. Upload once, reuse everywhere: app, API and agents.
Three ways in
| How | Use when |
|---|---|
POST /v1/assets | You have the bytes: multipart field file, or a raw body with Content-Type and X-Filename. |
POST /v1/uploads | Large files or agents: a one-time URL you PUT to with curl, valid 30 minutes, no API key in the command. |
{ url } or { take_id } | A public https link, or one of your finished takes. Private network addresses are refused. |
The file type comes from the bytes, never the name or header. Images up to 20 MB, video up to 200 MB, audio up to 30 MB. The same file uploaded twice is stored once. Every asset comes back with a signed URL valid for an hour; that is also how providers fetch it. Uploads are deleted after 60 days, with the outputs.
# upload a frame
curl https://edengen.ai/v1/assets -H "Authorization: Bearer $TAKES_API_KEY" -H "Content-Type: image/png" -H "X-Filename: frame.png" --data-binary @frame.png
# animate it
curl https://edengen.ai/v1/takes -H "Authorization: Bearer $TAKES_API_KEY" -H "Content-Type: application/json" -H "Prefer: wait=60" -d '{"model":"kling-3","prompt":"She turns to the window, no music, no cut","resolution":"720p","duration":5,
"references":[{"asset_id":"as_...","role":"first_frame"}]}'Roles
| Role | Meaning |
|---|---|
first_frame | The video starts on this exact image (image-to-video). |
last_frame | The video ends on it. |
reference | Look, identity or motion to follow, not a fixed frame. Images, videos or audio depending on the model. |
What each model accepts
| Model | Accepts |
|---|---|
| Seedance 2.5 | 9 reference images, 3 reference videos, 3 audio tracks, a first frame |
| Seedance 2.0 | 9 reference images, 3 reference videos, 3 audio tracks, a first frame, a last frame |
| Seedance 2.0 Mini | 4 reference images, a first frame |
| Kling 3.0 | a first frame, a last frame |
| Kling 3.0 Omni | 7 reference images, 1 reference video, a first frame, a last frame |
| Veo 3.1 | 3 reference images, a first frame, a last frame |
| Veo 3.1 Fast | 3 reference images, a first frame, a last frame |
| MiniMax H3 | 4 reference images, 1 reference video, 1 audio track, a first frame |
| Wan 3.0 | a first frame |
| Nano Banana Pro | 14 reference images |
| Nano Banana 2.1 | 14 reference images |
| GPT Image 2.5 | 10 reference images |
| Seedream 5.0 Pro | 14 reference images |
| Recraft V4.1 | 1 reference image |
| Pika 2.5 | a first frame |
| FLUX.1 Schnell | no references |
| FLUX.2 Dev | no references |
| Pruna p-image | no references |
| FastWan QAD | no references |
| LTX 2.3 Fast | a first frame, a last frame |
| Pika H3 Flex | a first frame, a last frame |
| Drama 3 | no references |
| Eleven Music v2.5 | no references |
| Eleven Music v2 | no references |
| Seedream 4.0 | no references |
| Ideogram Vector 1.0 | no references |
| Kling v4 | no references |
| HeyGen Video 1 | no references |
| FIBO 2 | no references |
| FLUX 3 Max | no references |
| Increase Resolution | no references |
| Genfill v2 | no references |
| Guided Remove Background | no references |
| FIBO Edit 1.5 | no references |
| Qwen Image 2.1 | no references |
| FLUX 3 Image Klein | no references |
| FLUX 3 Image | no references |
| Gemini 3.8 Flash-Lite TTS | no references |
| Gemini 3.8 Flash TTS | no references |
| Gemini 3.5 Transcribe | no references |
| FLUX Video Upscale | no references |
| Grok Imagine Image 2.0 | no references |
| FLUX 3 | no references |
| Voice Separation | no references |
| Seed ASR 2.0 | no references |
| MAI Voice 2 Flash | no references |
| MAI Voice 2 | no references |
| Qwen-Audio-3.0-TTS Plus | no references |
| Qwen-Audio-3.0-TTS Flash | no references |
| Midjourney v8.1 | no references |
| Midjourney v7 | no references |
| Kling v3 4K | no references |
| Whisper | no references |
| Reve Image | no references |
| Seed Audio 1.0 | no references |
| Gemini Omni Flash | no references |
| Nano Banana 2 Lite | no references |
| Grok Imagine 1.5 | no references |
| Nano Banana 2 | no references |
| Grok Imagine Video | no references |
| Wan 2.7 Pro | no references |
| Wan 2.7 | no references |
| Eleven Dubbing | no references |
| Eleven Voice Changer | no references |
| Eleven Music v1 | no references |
| Veo 3.1 Lite | no references |
| Nano Banana | no references |
| Nano Banana 2 (Preview) | no references |
| Nano Banana Pro (Preview) | no references |
| Kling v2.6 Standard | no references |
| Creative Upscale | no references |
| Creative Upscaler | no references |
| Expand | no references |
| Qwen Image Edit Multiple Angles | no references |
| Wan 2.6 | no references |
| Kling Avatar v2 Standard | no references |
| Kling Avatar v2 Pro | no references |
| Kling v2.6 Pro | no references |
| Kling O1 Pro | no references |
| FLUX 2 Klein 4B | no references |
| FLUX 2 Pro | no references |
| FLUX 2 Flex | no references |
| Hailuo 2.3 Fast | no references |
| Seedance 1.5 Pro | no references |
| Seedream 4.5 | no references |
| Seedream 5.0 Lite | no references |
| Grok Imagine Image | no references |
| Qwen Image Max | no references |
| Qwen Image 2 Pro | no references |
| Qwen Image 2 | no references |
| Kling v3 Pro | no references |
| Kling O1 Standard | no references |
| Wan 2.5 | no references |
| ViduQ3 Pro | no references |
| ViduQ3 Turbo | no references |
| mischief 1 | no references |
| Grok Imagine Video 1.5 Lite | no references |
| FLUX Video Edit | no references |
| H3 Max | no references |
| Wan 3.0 Prime | no references |
| Avatar IV | no references |
| FLUX 3 Video | no references |
| Aleph 2.0 | no references |
| Gen-4.5 | no references |
| Grok Imagine Video 1.5 | no references |
| HappyHorse 1.1 | no references |
| HappyHorse 1.0 | no references |
| Video v3.0 Pro | no references |
| Video O1 | no references |
| Hailuo 2.3 | no references |
| Riverflow V2.6 Pro | no references |
| Qwen Image 2.1 Turbo | no references |
| Qwen Image 2.1 Pro | no references |
| K3 Edit | no references |
| Seedream 5.0 Flash | no references |
| Recraft V4.1 Flash | no references |
| Recraft V4 Styles Pro | no references |
| Recraft V4 Styles Vector | no references |
| Recraft V4 Styles Pro Vector | no references |
| Recraft V4 Styles | no references |
| Qwen Image 3 Pro | no references |
| Qwen Image 3 | no references |
| Krea 2 Large | no references |
| Krea 2 Medium | no references |
| Krea 2 Medium Turbo | no references |
| Riverflow V2.5 Pro | no references |
| Riverflow V2.5 Fast | no references |
| Grok Imagine Image Quality | no references |
| Recraft V4.1 Pro Vector | no references |
| Recraft V4.1 Vector | no references |
| Recraft V4.1 Utility Pro | no references |
| Recraft V4.1 Utility | no references |
| Recraft V4.1 Pro | no references |
| Recraft V4 Pro Vector | no references |
| Recraft V4 Vector | no references |
| Recraft V4 Pro | no references |
| Recraft V4 | no references |
| Recraft V3 | no references |
| Riverflow V2 Pro | no references |
| Riverflow V2 Fast | no references |
| FLUX.2 Max | no references |
| Z-Image Turbo | no references |
| Kling 4.0 | no references |
| GPT Image 2 | no references |
| Eleven Multilingual v2 | no references |
| MiniMax Speech 2.8 HD | no references |
| MiniMax Speech 2.8 Turbo | no references |
| Sume Remix Motion Transfer | 8 reference images, 1 reference video |
| Sume Remix Object Swap | 8 reference images, 1 reference video |
| Sume Remix Restyle | 1 reference video |
| Sume Remix Lite Motion Transfer | 8 reference images, 1 reference video |
| Sume Remix Lite Object Swap | 8 reference images, 1 reference video |
| Sume Remove Background | 1 reference image |
| Sume Topaz Video - 24 fps | 1 reference video |
| Sume Depth Anything V3 | 1 reference video |
| Sume LatentSync - Video Lipsync | 1 reference video, 1 audio track |
| Sume Kling Avatar 2 - Talking Image | 1 reference image, 1 audio track |
Ask for something a model cannot take and the request fails before anything is charged, naming what it does accept. Video or audio references route Seedance and MiniMax to their reference-to-video endpoints automatically.
Elements
An element is a named set of up to 9 images: a character, product, location or style. Pass { element_id } and it expands to its images, so the same face or packshot follows you across shots and models. Notes on the element are for you and your agents to reuse in prompts.
from takes import Takes
client = Takes(base_url="https://edengen.ai")
faces = [client.assets.upload(p)["id"] for p in ["anna-front.png", "anna-34.png", "anna-full.png"]]
anna = client.elements.create("Anna", faces, kind="character", notes="freckles, green eyes, leather jacket")
take = client.takes.run(model="kling-omni", prompt="Anna walks into the rain, no music",
resolution="1080p", duration=5, references=[{"element_id": anna["id"]}])From agents
MCP tools: takes_create_upload_link (returns a curl command the agent runs locally), takes_import_reference (URL or take), takes_list_references, takes_create_element, and references on takes_create.