Skip to main content

Veo3 Video - Image to Video

Transform static images into dynamic videos using Google's advanced Veo3 video generation model with comprehensive control over video quality, duration, and audio generation.

Note: Image files must first be uploaded using the Asset API before processing. The imageUrl parameter should contain the path returned from the Asset API upload.

Endpoint

Request Headers

FieldValue
API-KEY<api-key>
Content-Typeapplication/json

Request Parameters

Field NameTypeExampleDescriptionRequired
typestringIMAGE_TO_VIDEOFeature identifier✔️
modelstringveo3AI model to use✔️
conversationIdstringIMAGE_TO_VIDEOConversation context✔️
promptObject.imageUrlstringimages/example.jpgSource image path from Asset API upload✔️
promptObject.promptstringgentle waves movingText description of desired motion/scene✔️
promptObject.task_typestringveo3-videoModel variant to use (see available task types below)
promptObject.generate_audiobooleantrueGenerate audio for the video
promptObject.aspect_ratiostring16:9Video aspect ratio
promptObject.veo3_durationstring8sVideo duration
promptObject.resolutionstring1080pVideo resolution quality
promptObject.tail_image_urlstringimages/end.jpgEnd frame image for keyframe control
promptObject.reference_image_urlsstring[]["images/ref1.jpg"]Reference images for style (max 3, only with 8s & 16:9)

Parameter Options

task_type (Model Variants):

  • veo3-video - Standard quality Veo3 (default)
  • veo3-video-fast - Fast generation mode (lower quality, faster processing)
  • veo3.1-video - Veo3.1 model for enhanced quality
  • veo3.1-video-fast - Veo3.1 fast mode

aspect_ratio:

  • 16:9 - Widescreen format (default)
  • 9:16 - Vertical format
  • 1:1 - Square format

veo3_duration:

  • 8s - 8 second video (default)

resolution:

  • 720p - HD quality (1280x720)
  • 1080p - Full HD quality (1920x1080, default)

tail_image_url:

  • End frame image for keyframe control (image-to-video transition)
  • Cannot be used together with reference_image_urls

reference_image_urls:

  • Array of up to 3 image URLs for style/content reference
  • Only supported when duration is 8s and aspect_ratio is 16:9
  • Cannot be used together with tail_image_url
  • Images must be uploaded via Asset API first | promptObject.tail_image_url | string | images/end.jpg | End frame image for keyframe control | ❌ | | promptObject.reference_image_urls | string[] | ["images/ref1.jpg"] | Reference images for style (max 3, only with 8s & 16:9) | ❌ |

Code Examples

curl --location 'https://api.1min.ai/api/features' \
--header 'API-KEY: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"type": "IMAGE_TO_VIDEO",
"model": "veo3-video",
"conversationId": "IMAGE_TO_VIDEO",
"promptObject": {
"imageUrl": "images/2025_10_22_08_29_30_730_cat.png",
"task_type": "veo3-video",
"generate_audio": true,
"aspect_ratio": "16:9",
"veo3_duration": "8s",
"resolution": "1080p",
"prompt": "hello"
}
}'

Interactive Playground

API Playground

https://api.1min.ai/api/features
Path to the source image file uploaded via Asset API
Describe the motion and animation you want to see in the video
Choose model variant - Standard for quality, Fast for speed, 3.1 for latest features
Generate accompanying audio for the video
Choose the aspect ratio for your video output
Choose the duration for your generated video
Choose the video resolution quality
Path to end frame image for keyframe control (uploaded via Asset API)
Comma-separated image URLs for reference (max 3, only with 8s & 16:9)

Generated cURL Command:

curl -X POST "https://api.1min.ai/api/features" \
-H "API-KEY: <your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"type": "IMAGE_TO_VIDEO",
"model": "veo3-video",
"conversationId": "IMAGE_TO_VIDEO",
"promptObject": {
"imageUrl": "images/2025_10_22_08_29_30_730_cat.png",
"task_type": "veo3-video",
"generate_audio": true,
"aspect_ratio": "16:9",
"veo3_duration": "8s",
"resolution": "1080p",
"prompt": "hello"
}
}'

Response


{
"aiRecord": {
"uuid": "73ae328e-9fa2-492a-be60-7b9b98909471",
"userId": "c937fbcc-fa8f-4565-a440-c4d87f56fcb2",
"teamId": "a4e176b2-dabb-451e-9c58-62b451fa9630",
"teamUser": {
"teamId": "a4e176b2-dabb-451e-9c58-62b451fa9630",
"userId": "c937fbcc-fa8f-4565-a440-c4d87f56fcb2",
"userName": "John Doe",
"userAvatar": "https://lh3.googleusercontent.com/a/ACg8ocLqgsNsHRfmWF9d-E1RvJetVsEzxNOsOg-NXWNTpMxLDPJbwELI=s96-c",
"status": "ACTIVE",
"role": "ADMIN",
"creditLimit": 100000000,
"usedCredit": 25491660,
"createdAt": "2025-10-20T04:13:40.847Z",
"createdBy": "SYSTEM",
"updatedAt": "2025-10-22T08:31:13.089Z",
"updatedBy": "SYSTEM"
},
"model": "veo3-video",
"type": "IMAGE_TO_VIDEO",
"metadata": null,
"rating": null,
"feedback": null,
"conversationId": null,
"status": "SUCCESS",
"createdAt": "2025-10-22T08:36:21.976Z",
"aiRecordDetail": {
"promptObject": {
"prompt": "hello",
"imageUrl": "images/2025_10_22_08_29_30_730_cat.png",
"fast_mode": true,
"resolution": "1080p",
"aspect_ratio": "16:9",
"veo3_duration": "8s",
"generate_audio": true
},
"resultObject": [
"development/videos/2025_10_22_15_39_03_377_651521.mp4"
],
"responseObject": {}
},
"additionalData": null,
"temporaryUrl": "https://s3.us-east-1.amazonaws.com/asset.1min.ai/development/videos/2025_10_22_15_39_03_377_651521.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAVRUVQEFIHSKAXGE7%2F20251022%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251022T083909Z&X-Amz-Expires=604800&X-Amz-Signature=d35bc5d4b8fc4b383b1029b4a730315a69a86b18c077e8f1c459f91fa2584f21&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject"
}
}