# Wan 2.7 I2V - Core.Today AI API > Alibaba Wan 2.7 image-to-video model. Animates a first frame (and optional last frame or continuation clip) with audio synchronization, up to 15 seconds, at 720p or 1080p. - **Provider**: Alibaba - **Model ID**: wan-video/wan-2.7-i2v - **Category**: Video Generation - **Credits**: 1740 per second, tiered by resolution - **Speed**: Medium - **Quality**: High ## Features - Image-to-video animation from a first frame - Optional last-frame targeting or continuation from an existing video clip - Audio synchronization for voice and music (auto-generated or user-supplied) - Automatic prompt expansion - 720p/1080p output, up to 15 seconds ## Use Cases - Animating product photos or illustrations into short video clips - First-and-last-frame video generation for controlled transitions - Extending an existing short video clip with a new continuation - Multilingual voice-synced content driven by a static image ## API Endpoint Base URL: https://api.core.today/v1 Create Prediction: POST /predictions Get Status: GET /predictions/{job_id} ## Authentication Header: X-API-Key: YOUR_API_KEY ## Input Parameters ### Optional - **prompt**: string - Text prompt for video generation - **first_frame**: string - First frame image to animate into video (jpg/png/bmp/webp, ≤20MB) - **last_frame**: string - Last frame image for first-and-last-frame video generation (jpg/png/bmp/webp, ≤20MB). Requires first_frame. - **first_clip**: string - Video clip to continue from (mp4/mov, 2-10s, ≤100MB). Cannot be combined with first_frame. - **audio**: string - Audio file (wav/mp3, 3-30s, ≤15MB) for voice/music synchronization. If not provided, the model auto-generates matching audio. - **negative_prompt**: string - Negative prompt — describes content that should not appear in the video - **resolution**: string (default: 1080p) - Output video resolution Options: 720p, 1080p - **duration**: integer (default: 5) - Duration of the generated video in seconds - **enable_prompt_expansion**: boolean (default: true) - Automatically expand and optimize the prompt for better results. Improves quality for short prompts but increases latency. - **seed**: integer - Random seed for reproducible generation. Range: 0-2147483647 ## Examples ### Animate a product photo Turn a static product image into a short animated video clip. ```json { "model": "wan-video/wan-2.7-i2v", "input": { "first_frame": "https://example.com/product-shot.jpg", "prompt": "The product slowly rotates on a reflective surface as soft studio light sweeps across it.", "resolution": "1080p", "duration": 5 } } ``` ### First-and-last-frame transition Generate a controlled transition between two images using first and last frame anchors. ```json { "model": "wan-video/wan-2.7-i2v", "input": { "first_frame": "https://example.com/scene-day.jpg", "last_frame": "https://example.com/scene-night.jpg", "prompt": "Time gradually shifts from day to night over the same landscape.", "duration": 8 } } ``` ## Response Format ```json { "job_id": "abc123", "status": "pending | processing | completed | failed", "result": "URL or data (when completed)" } ``` ## Usage Flow 1. POST /predictions with model and input -> receive job_id 2. GET /predictions/{job_id} -> poll until status is completed or failed 3. Result contains output URL(s) ## Tips - first_clip lets you continue an existing video instead of starting from a single frame — but it can't be combined with first_frame. - last_frame requires first_frame to already be set; use both together for controlled first-and-last-frame transitions. - Leave `audio` empty to let the model auto-generate matching sound. - duration can go up to 15 seconds, billed proportionally more at the per-second rate for longer clips. ## Documentation https://replicate.com/wan-video/wan-2.7-i2v