> ## 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 - Video To Video

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

Gemini's veo 3.1 fast generate preview for the video to video API.

## 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.md) section.

## Initiate Request

```bash cURL theme={null}
curl --location 'https://api.gptproto.com/v1beta/models/veo-3.1-generate-preview:predictLongRunning' \
  --header 'x-goog-api-key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "instances": [
        {
            "prompt": "a dog",
            "video": {
                "uri": "https://api.gptproto.com/upload/v1beta/files/u5t03mc3obyv:download?alt=media"
            }
        }
    ],
    "parameters": {
        "resolution": "720p",
        "aspectRatio": "9:16"
    }
}'
```

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

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

data = {
    "instances": [
        {
            "prompt": "a cat",
            "video": {
                "uri": "https://generativelanguage.googleapis.com/v1beta/files/acwe2jipjo5j:download?alt=media"
            }
        }
    ],
    "parameters": {
        "resolution": "720p"
    }
}

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-generate-preview:predictLongRunning";
const headers = {
  "x-goog-api-key": "YOUR_API_KEY",
  "Content-Type": "application/json"
};

const data = {
  "instances": [
    {
      "prompt": "a cat",
      "video": {
        "uri": "https://generativelanguage.googleapis.com/v1beta/files/acwe2jipjo5j:download?alt=media"
      }
    }
  ],
  "parameters": {
    "resolution": "720p"
  }
};

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-generate-preview:predictLongRunning"

    payload := []byte(`{
  "instances": [
    {
      "prompt": "a cat",
      "video": {
        "uri": "https://generativelanguage.googleapis.com/v1beta/files/acwe2jipjo5j:download?alt=media"
      }
    }
  ],
  "parameters": {
    "resolution": "720p"
  }
}`)

    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))
}
```

## Response Example

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

## 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.

```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'
```

## Parameters

| Parameter | Type | Required | Default | Description |
| - | - | - | - | - |
| `instances` | array | ✅ Yes | - | An array of instances containing the video generation parameters   The text prompt describing how to transform the video |
| `video` | object | ✅ Yes | - | The source video information   The URI of the source video file (must be a valid Google Cloud Storage or Generative Language API file URI) |
| `parameters` | object | ❌ No | - | Additional parameters for video generation   The resolution of the output video. Options: `720p`, `1080p` |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.