Veo3 Image-to-Video
Generate high-quality videos from images and text descriptions using Google's Veo3 model
Tool Overview
The Veo3 Image-to-Video tool uses Google's Veo3 model to generate high-quality video content based on a starting image and text description. It supports setting both start and end frames for more precise video generation control.
Tool Identifier
veo3-image-to-video-fast-api
Parameters
Required Parameters
prompt
- Type:
string(required) - Description: Text description of the video content to guide AI video motion and scene generation
- Validation: Must be a non-empty string
- Example:
"The camera slowly zooms in while the subject turns to face the viewer"
image
- Type:
string(required) - Description: Image URL for the video's starting frame
- Format: Must be a complete HTTP/HTTPS URL (e.g.,
https://cdn.sjinn.ai/uploads/image.jpg) - Validation: Must be a non-empty string
Optional Parameters
aspect_ratio
- Type:
string(optional) - Default:
"16:9" - Supported Values:
"16:9"- Landscape format, suitable for YouTube, TV, and other platforms"9:16"- Portrait format, suitable for TikTok, Instagram Story, and other platforms
- Note: If any other value is provided, it will automatically default to
"16:9"
end_image_url
- Type:
string(optional) - Default:
""(no end frame) - Format: If provided, must be a complete HTTP/HTTPS URL
Pricing
- Credits Consumed: 420 credits per task
- Membership Requirement: None
Request Examples
Landscape Video (16:9)
curl -X POST https://sjinn.ai/api/un-api/create_tool_task \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tool_type": "veo3-image-to-video-fast-api",
"input": {
"prompt": "The person smiles and waves at the camera",
"image": "https://cdn.sjinn.ai/uploads/portrait.jpg",
"aspect_ratio": "16:9"
}
}'
Portrait Video (9:16)
curl -X POST https://sjinn.ai/api/un-api/create_tool_task \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tool_type": "veo3-image-to-video-fast-api",
"input": {
"prompt": "The model strikes a pose and looks at the camera",
"image": "https://cdn.sjinn.ai/uploads/model-portrait.jpg",
"aspect_ratio": "9:16"
}
}'
Advanced Usage (Start + End Frames)
curl -X POST https://sjinn.ai/api/un-api/create_tool_task \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tool_type": "veo3-image-to-video-fast-api",
"input": {
"prompt": "Smooth transition from day to night",
"image": "https://cdn.sjinn.ai/uploads/scene-day.jpg",
"end_image_url": "https://cdn.sjinn.ai/uploads/scene-night.jpg",
"aspect_ratio": "16:9"
}
}'
Using JavaScript
const response = await fetch('https://sjinn.ai/api/un-api/create_tool_task', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool_type: 'veo3-image-to-video-fast-api',
input: {
prompt: 'The person smiles and waves at the camera',
image: 'https://cdn.sjinn.ai/uploads/portrait.jpg',
aspect_ratio: '16:9',
},
}),
});
const result = await response.json();
console.log('Task ID:', result.data.task_id);
Using Python
import requests
url = 'https://sjinn.ai/api/un-api/create_tool_task'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
data = {
'tool_type': 'veo3-image-to-video-fast-api',
'input': {
'prompt': 'The person smiles and waves at the camera',
'image': 'https://cdn.sjinn.ai/uploads/portrait.jpg',
'aspect_ratio': '16:9'
}
}
response = requests.post(url, json=data, headers=headers)
result = response.json()
print('Task ID:', result['data']['task_id'])
Response Examples
Success Response
{
"success": true,
"errorMsg": "",
"error_code": 0,
"data": {
"task_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Error Response
{
"success": false,
"errorMsg": "image is required",
"error_code": 400
}
Best Practices
- Image Quality: Use high-quality, clear starting images for better video results
- Prompt Matching: Ensure text description matches image content to avoid unnatural motion
- Aspect Ratio Selection:
- Starting image aspect ratio should match the
aspect_ratioparameter - Use
16:9for landscape platforms like YouTube, Bilibili, and TV - Use
9:16for portrait platforms like TikTok, Instagram Story, and Kuaishou - Invalid values will automatically default to
16:9
- Starting image aspect ratio should match the
- End Frame Usage:
- End frame allows precise control of the video's final state
- Start and end frames should have a reasonable transition relationship
- Without an end frame, AI will freely generate the video ending based on the prompt
- Generation Time: Video generation typically takes 2-5 minutes
