# Image to video

**Action ID:** `image_to_video`

## Description

Image to video

## Connection

| Name               | Description                                 | Required | Category |
| ------------------ | ------------------------------------------- | -------- | -------- |
| PixelML Connection | The PixelML connection to call PixelML API. | True     | pixelml  |

## Input Parameters

| Name              | Type     | Required | Default             | Description                                                  |
| ----------------- | -------- | :------: | ------------------- | ------------------------------------------------------------ |
| model             | dropdown |     -    | Pixel M             | Model to use for video generation. Options: Pixel M, Pixel S |
| prompt            | string   |     ✓    | -                   | Text description of the video animation you want to create   |
| image             | string   |     ✓    | -                   | URL of the input image to animate                            |
| negative\_prompt  | string   |     ✓    | -                   | Description of what you don't want in the video              |
| size              | dropdown |     -    | Landscape HD (16:9) | Video output resolution (Only for Pixel M model)             |
| prompt\_optimizer | boolean  |     -    | true                | Enable AI-powered prompt optimization                        |

<details>

<summary>View JSON Schema</summary>

```json
{
  "description": "Image to video node input.",
  "properties": {
    "model": {
      "default": "Pixel M",
      "description": "Model",
      "enum": [
        "Pixel M",
        "Pixel S"
      ],
      "title": "Model",
      "type": "string"
    },
    "prompt": {
      "description": "Prompt",
      "title": "Prompt",
      "type": "string"
    },
    "image": {
      "description": "Image",
      "title": "Image",
      "type": "string"
    },
    "negative_prompt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Negative prompt",
      "title": "Negative prompt"
    },
    "size": {
      "default": "Landscape HD (16:9)",
      "description": "Size (Only for Pixel M)",
      "enum": [
        "Square HD (1:1)",
        "Square FullHD (1:1)",
        "Portrait HD (3:4)",
        "Portrait FullHD (3:4)",
        "Portrait HD (9:16)",
        "Portrait FullHD (9:16)",
        "Landscape HD (4:3)",
        "Landscape FullHD (4:3)",
        "Landscape HD (16:9)",
        "Landscape FullHD (16:9)"
      ],
      "title": "Size (Only for Pixel M)",
      "type": "string"
    },
    "prompt_optimizer": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": true,
      "description": "Prompt optimizer",
      "title": "Prompt optimizer"
    }
  },
  "required": [
    "prompt",
    "image",
    "negative_prompt"
  ],
  "title": "ImageToVideoNodeInput",
  "type": "object"
}
```

</details>

## Output Parameters

| Name  | Type   | Description                    |
| ----- | ------ | ------------------------------ |
| video | string | URL of the rendered video file |

<details>

<summary>View JSON Schema</summary>

```json
{
  "description": "Image to video node output.",
  "properties": {
    "video": {
      "description": "Rendered video",
      "title": "Rendered video",
      "type": "string"
    }
  },
  "required": [
    "video"
  ],
  "title": "ImageToVideoNodeOutput",
  "type": "object"
}
```

</details>

## How It Works

This node transforms static images into animated videos using AI-powered motion generation. The PixelML API analyzes your input image and applies motion based on your text prompt, creating smooth animations that bring the image to life. You can control the animation style through the prompt and negative prompt, while the prompt optimizer enhances your description for better results. The model processes the image through neural networks trained on motion dynamics to generate realistic video sequences.

## Usage Examples

### Example 1: Animate Product Photo

**Input:**

```
model: "Pixel M"
prompt: "Slowly rotating 360 degrees, smooth camera movement, professional product showcase"
image: "https://example.com/product-shoe.jpg"
negative_prompt: "jerky motion, blurry, distorted, static"
size: "Square HD (1:1)"
prompt_optimizer: true
```

**Output:**

```
video: "https://storage.pixelml.com/videos/shoe-rotation-abc123.mp4"
```

### Example 2: Create Animated Portrait

**Input:**

```
model: "Pixel M"
prompt: "Gentle hair movement in breeze, subtle facial expressions, cinematic lighting"
image: "https://example.com/portrait.jpg"
negative_prompt: "unnatural movement, flickering, artifacts"
size: "Portrait HD (9:16)"
prompt_optimizer: true
```

**Output:**

```
video: "https://storage.pixelml.com/videos/portrait-anim-def456.mp4"
```

### Example 3: Animate Landscape Scene

**Input:**

```
model: "Pixel S"
prompt: "Clouds moving across sky, trees swaying, water rippling"
image: "https://example.com/landscape.jpg"
negative_prompt: "static, frozen, unrealistic motion"
size: "Landscape HD (16:9)"
prompt_optimizer: false
```

**Output:**

```
video: "https://storage.pixelml.com/videos/landscape-motion-ghi789.mp4"
```

## Common Use Cases

* **Product Marketing**: Create dynamic product showcases by animating static product photography for e-commerce and advertisements
* **Social Media Content**: Generate engaging animated posts from still images to increase engagement on Instagram, TikTok, and Facebook
* **Real Estate Tours**: Bring property photos to life with subtle camera movements and environmental animations
* **Portrait Animation**: Create living portraits with natural movements like breathing, blinking, and subtle expressions
* **Art Installation**: Transform static artwork into dynamic digital installations for galleries and exhibitions
* **Presentation Enhancement**: Add motion to presentation slides and infographics for more engaging business presentations
* **Memory Revival**: Animate old photographs to create emotional video tributes and family memories

## Error Handling

| Error Type               | Cause                                         | Solution                                                                               |
| ------------------------ | --------------------------------------------- | -------------------------------------------------------------------------------------- |
| Invalid Image URL        | Image URL is not accessible or malformed      | Verify the image URL is publicly accessible and uses https\:// protocol                |
| Unsupported Image Format | Image format not supported by the API         | Convert image to JPG or PNG format before processing                                   |
| Image Too Large          | Input image exceeds maximum file size limit   | Resize or compress the image to reduce file size below API limits                      |
| Model Not Available      | Selected model is temporarily unavailable     | Try switching to an alternative model or retry after a few minutes                     |
| Prompt Too Vague         | Prompt doesn't provide enough motion guidance | Be more specific about the type of motion and animation you want                       |
| API Connection Error     | Cannot connect to PixelML API service         | Check your PixelML connection configuration and API credentials                        |
| Processing Timeout       | Video generation taking longer than expected  | Complex animations may require more time; consider simpler prompts or lower resolution |

## Notes

* **Model Selection**: Pixel M offers higher quality and more resolution options, while Pixel S is faster and more cost-effective for simple animations
* **Prompt Quality**: Detailed, descriptive prompts produce better results. Specify camera movement, object motion, and animation style clearly
* **Negative Prompts**: Use negative prompts to avoid unwanted effects like jerky motion, blur, or distortion
* **Prompt Optimizer**: Enable the prompt optimizer for automatic enhancement of your descriptions, especially useful for beginners
* **Resolution Choice**: Higher resolutions (FullHD) produce better quality but take longer to process and cost more credits
* **Image Requirements**: Input images should be clear, well-lit, and have distinct subjects for best animation results
* **Processing Time**: Video generation can take several minutes depending on complexity, resolution, and model selected
* **Use Case Matching**: Match the aspect ratio to your intended platform (9:16 for mobile/stories, 16:9 for YouTube, 1:1 for Instagram feed)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.agenticflow.ai/reference/nodes/image_to_video.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
