> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gptproto.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Veo-3.1-Fast-Generate-Preview - Image To Video

> Veo-3.1-Fast-Generate-Preview — Image To Video. GPTProto API reference.

## Authentication

1. Sign up for a GPTProto account at [https://gptproto.com](https://gptproto.com)
2. Navigate to the API Keys section in your dashboard
3. Generate a new API key (sk-xxxxx)
4. Copy and securely store your API key
   For authentication details, please refer to the [Authentication](https://docs.gptproto.com/authentication) section.

## Initiate Request

<CodeGroup>
  ```bash cURL theme={null}
  curl --location 'https://api.gptproto.com/v1beta/models/veo-3.1-fast-generate-preview:predictLongRunning' \
    --header 'x-goog-api-key: YOUR_API_KEY' \
    --header 'Content-Type: application/json' \
    --data '{
      "instances": [
          {
              "prompt": "Generate a video of a real-life model posing for a photoshoot.\n\nRequirements:\n1. Maintain the models appearance, posture, clothing, equipment, lighting, color, background, and composition exactly as in the image.\n2. The product must be fully visible from the front throughout, without being obscured, blurred, or distorted, ensuring clear product details, complete structure, and visible brand logos.\n3. The models movements should match the outfit scene, with very subtle natural movements such as breathing, weight shifts, shoulder and neck relaxation, and posture adjustments.\n4. The camera remains completely still, with no panning, zooming, shaking, or focal length changes, and the model is always shown in full-body proportions.\n5. The visual style is natural and realistic, with soft and even lighting, a clean and consistent background, without AI stylization, fictional elements, color shifts, or exposure fluctuations.",
              "image": {
                  "mimeType": "image/png",
                  "bytesBase64Encoded": "iVBORw0KGgoAAAANSUhEUgAAA2AAAASgCAIAAAARv7zJAAAgAElEQVR42kz99XdbWb/"
              }
          }
      ],
      "parameters": {
          "aspectRatio": "9:16"
      }
  }'
  ```

  ```python Python theme={null}
  import requests
  import json

  url = "https://api.gptproto.com/v1beta/models/veo-3.1-fast-generate-preview:predictLongRunning"
  headers = {
      "x-goog-api-key": "YOUR_API_KEY",
      "Content-Type": "application/json"
  }

  data = {
      "instances": [
          {
              "prompt": "Generate a video of a real-life model posing for a photoshoot.\n\nRequirements:\n1. Maintain the models appearance, posture, clothing, equipment, lighting, color, background, and composition exactly as in the image.\n2. The product must be fully visible from the front throughout, without being obscured, blurred, or distorted, ensuring clear product details, complete structure, and visible brand logos.\n3. The models movements should match the outfit scene, with very subtle natural movements such as breathing, weight shifts, shoulder and neck relaxation, and posture adjustments.\n4. The camera remains completely still, with no panning, zooming, shaking, or focal length changes, and the model is always shown in full-body proportions.\n5. The visual style is natural and realistic, with soft and even lighting, a clean and consistent background, without AI stylization, fictional elements, color shifts, or exposure fluctuations.",
              "image": {
                  "mimeType": "image/png",
                  "bytesBase64Encoded": "iVBORw0KGgoAAAANSUhEUgAAA2AAAASgCAIAAAARv7zJAAAgAElEQVR42kz99XdbWb/"
              }
          }
      ],
      "parameters": {
          "durationSeconds": 8,
          "aspectRatio": "9:16"
      }
  }

  response = requests.post(url, headers=headers, json=data)
  result = response.json()
  print(json.dumps(result, indent=2))
  ```

  ```javascript JavaScript theme={null}
  const url = "https://api.gptproto.com/v1beta/models/veo-3.1-fast-generate-preview:predictLongRunning";
  const headers = {
    "x-goog-api-key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  };

  const data = {
    "instances": [
      {
        "prompt": "Generate a video of a real-life model posing for a photoshoot.\n\nRequirements:\n1. Maintain the models appearance, posture, clothing, equipment, lighting, color, background, and composition exactly as in the image.\n2. The product must be fully visible from the front throughout, without being obscured, blurred, or distorted, ensuring clear product details, complete structure, and visible brand logos.\n3. The models movements should match the outfit scene, with very subtle natural movements such as breathing, weight shifts, shoulder and neck relaxation, and posture adjustments.\n4. The camera remains completely still, with no panning, zooming, shaking, or focal length changes, and the model is always shown in full-body proportions.\n5. The visual style is natural and realistic, with soft and even lighting, a clean and consistent background, without AI stylization, fictional elements, color shifts, or exposure fluctuations.",
        "image": {
          "mimeType": "image/png",
          "bytesBase64Encoded": "iVBORw0KGgoAAAANSUhEUgAAA2AAAASgCAIAAAARv7zJAAAgAElEQVR42kz99XdbWb/"
        }
      }
    ],
    "parameters": {
      "aspectRatio": "9:16"
    }
  };

  fetch(url, {
    method: "POST",
    headers: headers,
    body: JSON.stringify(data)
  })
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error("Error:", error));
  ```

  ```go Go theme={null}
  package main

  import (
      "bytes"
      "encoding/json"
      "fmt"
      "io/ioutil"
      "net/http"
  )

  func main() {
      url := "https://api.gptproto.com/v1beta/models/veo-3.1-fast-generate-preview:predictLongRunning"

      payload := []byte(`{
    "instances": [
      {
        "prompt": "Generate a video of a real-life model posing for a photoshoot.\n\nRequirements:\n1. Maintain the models appearance, posture, clothing, equipment, lighting, color, background, and composition exactly as in the image.\n2. The product must be fully visible from the front throughout, without being obscured, blurred, or distorted, ensuring clear product details, complete structure, and visible brand logos.\n3. The models movements should match the outfit scene, with very subtle natural movements such as breathing, weight shifts, shoulder and neck relaxation, and posture adjustments.\n4. The camera remains completely still, with no panning, zooming, shaking, or focal length changes, and the model is always shown in full-body proportions.\n5. The visual style is natural and realistic, with soft and even lighting, a clean and consistent background, without AI stylization, fictional elements, color shifts, or exposure fluctuations.",
        "image": {
          "mimeType": "image/png",
          "bytesBase64Encoded": "iVBORw0KGgoAAAANSUhEUgAAA2AAAASgCAIAAAARv7zJAAAgAElEQVR42kz99XdbWb/"
        }
      }
    ],
    "parameters": {
      "aspectRatio": "9:16"
    }
  }`)

      req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
      req.Header.Set("x-goog-api-key", "YOUR_API_KEY")
      req.Header.Set("Content-Type", "application/json")

      client := &http.Client{}
      resp, err := client.Do(req)
      if err != nil {
          panic(err)
      }
      defer resp.Body.Close()

      body, _ := ioutil.ReadAll(resp.Body)
      fmt.Println(string(body))
  }
  ```
</CodeGroup>

## Response Example

<CodeGroup>
  ```json Response theme={null}
  {
      "name": "models/veo-3.1-generate-preview/operations/abc"
  }
  ```
</CodeGroup>

## Query Task

> The operation\_id can be obtained from the response of the predictLongRunning endpoint.

> After a successful query, the API returns a URL (`response.generateVideoResponse.generatedSamples.video.uri`) for downloading the video. This URL is required when making the request.

<CodeGroup>
  ```bash 1、Query theme={null}
  curl --location 'https://api.gptproto.com/v1beta/models/veo-3.1-generate-preview/operations/{operation_id}' \
    --header 'x-goog-api-key: YOUR_API_KEY'
  ```

  ```json 2、Response theme={null}
  {
      "name": "models/veo-3.1-fast-generate-preview/operations/abc",
      "done": true,
      "response": {
          "type": "type.googleapis.com/google.ai.generativelanguage.v1beta.PredictLongRunningResponse",
          "generateVideoResponse": {
              "generatedSamples": [
                  {
                      "video": {
                          "uri": "https://api.gptproto.com/upload/v1beta/files/abc:download?alt=media"
                      }
                  }
              ]
          }
      },
      "error": null
  }
  ```

  ```bash 3、Download Video theme={null}
  curl --location 'https://api.gptproto.com/upload/v1beta/files/abc:download?alt=media' \
    --header 'x-goog-api-key: YOUR_API_KEY'
  ```
</CodeGroup>

## Parameters

| Parameter            | Type   | Required | Default | Description                                                                                                                                                                                        |
| -------------------- | ------ | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `instances`          | array  | ✅ Yes    | -       | An array of instances containing the video generation parameters   The text prompt describing the video animation you want to generate from the image                                              |
| `image`              | object | ✅ Yes    | -       | The source image information   The URI of the source image file (must be a valid Google Cloud Storage or Generative Language API file URI). Either `uri` or `bytesBase64Encoded` must be provided. |
| `mimeType`           | string | ❌ No     | -       | The MIME type of the image (e.g., `image/png`, `image/jpeg`). Required when using `bytesBase64Encoded`.                                                                                            |
| `bytesBase64Encoded` | string | ❌ No     | -       | Base64-encoded image data. Either `uri` or `bytesBase64Encoded` must be provided.                                                                                                                  |
| `parameters`         | object | ❌ No     | -       | Additional parameters for video generation   The duration of the output video in seconds. Default: `8`                                                                                             |
| `aspectRatio`        | string | ❌ No     | -       | The aspect ratio of the output video. Options: `9:16`, `16:9`, `1:1`. Default: `9:16`                                                                                                              |
| `resolution`         | string | ❌ No     | -       | The resolution of the output video. Options: `720p`, `1080p`                                                                                                                                       |
| `durationSeconds`    | number | ❌ No     | -       | The duration of the output video in seconds. Default: `8` ,Options: `4`, `6`, `8`                                                                                                                  |
