
Seedance 2.0 Mini — Start/End Frame To Video
by BytePlusSet a start and end image and Seedance 2.0 Mini fills in fluid, physically accurate motion between them — fast and budget-friendly.
seedance-2-mini-start-end-frame-videoInput
Output
Looking for something different?
Models that trade off differently against the one you are viewing
Better quality
Newer flagship models that generally produce stronger results.
Faster Generation
Built for speed when you are iterating on a prompt.



Lower cost per run
Open-source models we host, unlimited on the $149/month plan.




Related Models
Discover similar models you might be interested in
About Seedance 2.0 Mini — Start/End Frame To Video
Seedance 2.0 Mini — Start/End Frame To Video is a video generation AI model by BytePlus, available on ModelsLab through the API and the playground above. API access starts at $21/month, and open-source models are unlimited on the $149/month plan.
Seedance 2.0 Mini — Start/End Frame To Video facts
- Provider
- BytePlus
- Price
- From $0.044 per second of video
- Added to ModelsLab
- June 21, 2026
- Model ID
- seedance-2-mini-start-end-frame-video
Key Features
- AI video generation from text or image input
- Motion control and camera movement parameters
- Adjustable frame rate and video duration
- High-quality cinematic output up to 1080p
- Native audio generation support
Quick Start
Integrate Seedance 2.0 Mini — Start/End Frame To Video into your application with a single API call. Get your API key from the pricing page to get started.
import requestsimport jsonurl = "https://modelslab.com/api/v7/video-fusion/image-to-video"headers = {"Content-Type": "application/json"}data = {"model_id": "seedance-2-mini-start-end-frame-video","prompt": "Transition from dawn to night as the camera flies forward across the city skyline, lights gradually turning on, colors shifting from orange warmth to neon blues.","key": "YOUR_API_KEY"}try:response = requests.post(url, headers=headers, json=data)response.raise_for_status() # Raises an HTTPError for bad responses (4XX or 5XX)result = response.json()print("API Response:")print(json.dumps(result, indent=2))except requests.exceptions.HTTPError as http_err:print(f"HTTP error occurred: {http_err} - {response.text}")except Exception as err:print(f"Other error occurred: {err}")
const endpointUrl = 'https://modelslab.com/api/v7/video-fusion/image-to-video';const requestBody = {"model_id": "seedance-2-mini-start-end-frame-video","prompt": "Transition from dawn to night as the camera flies forward across the city skyline, lights gradually turning on, colors shifting from orange warmth to neon blues.","key": "YOUR_API_KEY"};async function makeApiRequest() {try {const response = await fetch(endpointUrl, {method: 'POST',headers: {'Content-Type': 'application/json',},body: JSON.stringify(requestBody)});if (!response.ok) {let errorResult;try {errorResult = await response.json();} catch (e) {errorResult = { error: { message: await response.text() } };}throw new Error(`API Error (${response.status}): ${errorResult.error?.message || response.statusText || 'Unknown error'}`);}const result = await response.json();console.log('API Response:', result);return result;} catch (error) {console.error('Error making API request:', error.message);throw error;}}makeApiRequest();
curl -X POST "https://modelslab.com/api/v7/video-fusion/image-to-video" \-H "Content-Type: application/json" \-d '{"model_id": "seedance-2-mini-start-end-frame-video","prompt": "Transition from dawn to night as the camera flies forward across the city skyline, lights gradually turning on, colors shifting from orange warmth to neon blues.","key": "YOUR_API_KEY"}'
<?php$url = 'https://modelslab.com/api/v7/video-fusion/image-to-video';$headers = ['Content-Type: application/json'];$data = ['model_id' => 'seedance-2-mini-start-end-frame-video','prompt' => 'Transition from dawn to night as the camera flies forward across the city skyline, lights gradually turning on, colors shifting from orange warmth to neon blues.','key' => 'YOUR_API_KEY',];$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_TIMEOUT, 30);$response = curl_exec($ch);$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);$curlError = curl_error($ch);if ($curlError) {echo 'Curl error: ' . $curlError;} else {echo "HTTP Status Code: " . $httpCode . "\n";$result = json_decode($response, true);if (json_last_error() !== JSON_ERROR_NONE) {echo "Error decoding JSON: " . json_last_error_msg() . "\n";echo "Raw response: " . $response . "\n";} else {echo "API Response:\n";print_r($result);}}?>
Pricing
Seedance 2.0 Mini — Start/End Frame To Video API costs $0.044 per generation, scaled by your settings. Plans start at $21/month, and open-source models are unlimited on the $149/month plan. View pricing plans
Use Cases
- Marketing and promotional video creation
- Social media short-form video content
- Product demos and explainer videos
- Creative storytelling and animation












