Pika AI - Image to Video
Transform static images into dynamic videos using Pika AI's advanced video generation technology. Supports multiple task types including standard image-to-video conversion, multi-image scene building, keyframe interpolation, and special effects.
Note: Image files must first be uploaded using the Asset API before processing. The imageUrl or imageUrls parameter should contain the path(s) returned from the Asset API upload.
Endpoint
Request Headers
| Field | Value |
|---|---|
| API-KEY | <api-key> |
| Content-Type | application/json |
Request Parameters
| Field Name | Type | Example | Description | Required |
|---|---|---|---|---|
| type | string | IMAGE_TO_VIDEO | Feature identifier | ✔️ |
| model | string | pika | AI model to use | ✔️ |
| conversationId | string | IMAGE_TO_VIDEO | Conversation context | ✔️ |
| promptObject.task_type | string | pika-v2.2 | Task type variant (see available task types below) | ✔️ |
| promptObject.imageUrl | string | images/example.jpg | Source image path (for standard I2V and Pikaffects) | ⚠️ |
| promptObject.imageUrls | array | ["img1.jpg", "img2.jpg"] | Source image paths array (for Pikascenes and Pikaframes) | ⚠️ |
| promptObject.prompt | string | gentle waves moving | Text description of desired motion/scene | ⚠️ |
| promptObject.negative_prompt | string | blurry, low quality | What not to include in the video | ❌ |
| promptObject.resolution | string | 720p | Video resolution (720p or 1080p) | ❌ |
| promptObject.duration | number | 5 | Video duration in seconds (5 or 10) | ❌ |
| promptObject.aspect_ratio | string | 16:9 | Video aspect ratio (for Pikascenes only) | ❌ |
| promptObject.seed | number | 12345 | Random seed for reproducible results | ❌ |
| promptObject.pikaffect | string | fire | Effect type for Pikaffects (see available effects below) | ⚠️ |
| promptObject.transitions | array | [{duration: 5, prompt: ""}] | Transition configs for Pikaframes (array length = imageUrls.length - 1) | ❌ |
| promptObject.ingredients_mode | string | precise | Mode for Pikascenes (precise or creative) | ❌ |
Available Task Types
Standard Image-to-Video:
pika-v2-turbo- Fast generation, good qualitypika-v2.1- Advanced generation with improved qualitypika-v2.2- Premium quality with dynamic pricing based on duration and resolution
Multi-Image Features:
pika-v2.2-pikascenes- Combine multiple images (1-5) into cohesive video scenespika-v2.2-pikaframes- Keyframe interpolation between multiple images (2-5) with customizable transitions
Special Effects:
pika-v1.5-pikaffects- Apply special effects to single images
Task Type Requirements
Standard I2V (pika-v2-turbo, pika-v2.1, pika-v2.2):
imageUrl(required) - Single source imageprompt(required) - Motion descriptionresolution(optional) - 720p or 1080p (default: 720p)duration(optional) - 5 or 10 seconds (default: 5)negative_prompt(optional)seed(optional)
Pikascenes (pika-v2.2-pikascenes):
imageUrls(required) - Array of 1-5 image pathsprompt(required) - Scene descriptionresolution(optional) - 720p or 1080pduration(optional) - 5 or 10 secondsaspect_ratio(optional) - 16:9, 9:16, 1:1, 4:5, 5:4, 3:2, 2:3ingredients_mode(optional) - "precise" or "creative"negative_prompt(optional)seed(optional)
Pikaframes (pika-v2.2-pikaframes):
imageUrls(required) - Array of 2-5 image pathsprompt(optional) - Overall animation descriptiontransitions(optional) - Array of transition configs (length = imageUrls.length - 1)- Each transition:
{duration?: number (1-25), prompt?: string}
- Each transition:
resolution(optional) - 720p or 1080pnegative_prompt(optional)seed(optional)
Pikaffects (pika-v1.5-pikaffects):
imageUrl(required) - Single source imagepikaffect(required) - Effect type (see available effects below)prompt(optional) - Additional descriptionnegative_prompt(optional)seed(optional)
Available Pikaffect Types
Cake-ify- Transform into cakeCrumble- Crumble effectCrush- Crush effectDecapitate- Decapitation effectDeflate- Deflation effectDissolve- Dissolution effectExplode- Explosion effectEye-pop- Eye popping effectInflate- Inflation effectLevitate- Levitation effectMelt- Melting effectPeel- Peeling effectPoke- Poking effectSquish- Squishing effectTa-da- Ta-da reveal effectTear- Tearing effect
Supported Resolutions
720p- Standard definition (default)1080p- High definition
Supported Durations
5- 5 seconds (default)10- 10 seconds
Note: For pika-v2.2 and pika-v2.2-pikascenes, pricing varies based on duration and resolution combination.
Code Examples
- Standard I2V (cURL)
- Pikascenes (cURL)
- Pikaframes (cURL)
- Pikaffects (cURL)
- JavaScript
- Python
curl --location 'https://api.1min.ai/api/features' \
--header 'API-KEY: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"type": "IMAGE_TO_VIDEO",
"model": "pika",
"conversationId": "IMAGE_TO_VIDEO",
"promptObject": {
"task_type": "pika-v2.2",
"imageUrl": "images/2025_12_22_09_25_47_856_example.jpg",
"prompt": "gentle waves moving",
"resolution": "720p",
"duration": 5,
"negative_prompt": "blurry, low quality"
}
}'
curl --location 'https://api.1min.ai/api/features' \
--header 'API-KEY: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"type": "IMAGE_TO_VIDEO",
"model": "pika",
"conversationId": "IMAGE_TO_VIDEO",
"promptObject": {
"task_type": "pika-v2.2-pikascenes",
"imageUrls": [
"images/image1.jpg",
"images/image2.jpg",
"images/image3.jpg"
],
"prompt": "A cinematic scene transitioning through different moments",
"resolution": "1080p",
"duration": 10,
"aspect_ratio": "16:9",
"ingredients_mode": "precise"
}
}'
curl --location 'https://api.1min.ai/api/features' \
--header 'API-KEY: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"type": "IMAGE_TO_VIDEO",
"model": "pika",
"conversationId": "IMAGE_TO_VIDEO",
"promptObject": {
"task_type": "pika-v2.2-pikaframes",
"imageUrls": [
"images/frame1.jpg",
"images/frame2.jpg",
"images/frame3.jpg"
],
"transitions": [
{"duration": 5, "prompt": "smooth fade"},
{"duration": 8, "prompt": "quick transition"}
],
"resolution": "720p",
"prompt": "Smooth transitions between keyframes"
}
}'
curl --location 'https://api.1min.ai/api/features' \
--header 'API-KEY: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"type": "IMAGE_TO_VIDEO",
"model": "pika",
"conversationId": "IMAGE_TO_VIDEO",
"promptObject": {
"task_type": "pika-v1.5-pikaffects",
"imageUrl": "images/example.jpg",
"pikaffect": "Explode",
"prompt": "Intense explosion surrounding the subject"
}
}'
fetch('https://api.1min.ai/api/features', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'API-KEY': 'YOUR_API_KEY'
},
body: JSON.stringify({
type: 'IMAGE_TO_VIDEO',
model: 'pika',
conversationId: 'IMAGE_TO_VIDEO',
promptObject: {
task_type: 'pika-v2.2',
imageUrl: 'images/2025_12_22_09_25_47_856_example.jpg',
prompt: 'gentle waves moving',
resolution: '720p',
duration: 5,
negative_prompt: 'blurry, low quality'
}
})
})
import requests
url = "https://api.1min.ai/api/features"
headers = {
"Content-Type": "application/json",
"API-KEY": "YOUR_API_KEY"
}
data = {
"type": "IMAGE_TO_VIDEO",
"model": "pika",
"conversationId": "IMAGE_TO_VIDEO",
"promptObject": {
"task_type": "pika-v2.2",
"imageUrl": "images/2025_12_22_09_25_47_856_example.jpg",
"prompt": "gentle waves moving",
"resolution": "720p",
"duration": 5,
"negative_prompt": "blurry, low quality"
}
}
response = requests.post(url, headers=headers, json=data)
Interactive Playground
API Playground
https://api.1min.ai/api/featuresGenerated 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": "pika",
"conversationId": "IMAGE_TO_VIDEO",
"promptObject": {
"task_type": "pika-v2.2",
"imageUrl": "images/2025_12_22_09_25_47_856_example.jpg",
"prompt": "gentle waves moving",
"resolution": "720p",
"duration": 5,
"negative_prompt": "blurry, low quality"
}
}'
Response
{
"aiRecord": {
"uuid": "73ae328e-9fa2-492a-be60-7b9b98909471",
"userId": "c937fbcc-fa8f-4565-a440-c4d87f56fcb2",
"teamId": "a4e176b2-dabb-451e-9c58-62b451fa9630",
"model": "pika",
"type": "IMAGE_TO_VIDEO",
"status": "SUCCESS",
"createdAt": "2025-12-22T11:17:44.499Z",
"aiRecordDetail": {
"promptObject": {
"task_type": "pika-v2.2",
"imageUrl": "images/2025_12_22_09_25_47_856_example.jpg",
"prompt": "gentle waves moving",
"resolution": "720p",
"duration": 5,
"negative_prompt": "blurry, low quality"
},
"resultObject": [
"development/videos/2025_12_22_19_17_44_499_123456.mp4"
]
},
"temporaryUrl": "https://s3.us-east-1.amazonaws.com/asset.1min.ai/development/videos/2025_12_22_19_17_44_499_123456.mp4?X-Amz-Algorithm=..."
}
}
Pricing
Credit usage varies by task type, duration, and resolution:
- pika-v2-turbo: 600,000 credits per video
- pika-v2.1: 1,200,000 credits per video
- pika-v2.2: Dynamic pricing
- 5s @720p: 600,000 credits
- 5s @1080p: 1,350,000 credits
- 10s @720p: 1,200,000 credits
- 10s @1080p: 2,700,000 credits
- pika-v2.2-pikascenes: Same pricing as pika-v2.2
- pika-v2.2-pikaframes: Per-second pricing
- 720p: 120,000 credits per second (minimum 5 seconds)
- 1080p: 180,000 credits per second (minimum 5 seconds)
- pika-v1.5-pikaffects: 1,395,000 credits per video