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

# Veo3.1-Fast - Reference To Video - gptproto

> Veo3.1-Fast — Reference To Video (gptproto). GPTProto API reference.

Google Veo3.1-fast's GPTProto format for the reference to video API.

<CodeGroup>
  ```bash cURL theme={null}
  curl --location 'https://gptproto.com/api/v3/google/veo3.1-fast/text-to-video' \
  --header 'Authorization: Bearer sk-xxxxxx' \
  --header 'Content-Type: application/json' \
  --data '{
    "prompt": "A young woman walks alone under a transparent umbrella in a quiet alley during light rain, soft city lights reflecting on the wet pavement. Her pace is calm and thoughtful. The camera follows slowly behind her, occasional droplets hitting the lens. Subtle piano music plays, evoking a melancholic but peaceful mood. Dreamy, cinematic, slightly slow motion.",
    "images": [
      "https://oss.gptproto.com/2025/11/12/d5c2f08479b9452aacbcf9963631ce21.jpeg"
    ],
    "aspect_ratio": "16:9",
    "enhance_prompt": true
  }'
  ```

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

  url = "https://gptproto.com/api/v3/google/veo3.1-fast/text-to-video"
  headers = {
      "Authorization": "Bearer sk-xxxxxx",
      "Content-Type": "application/json"
  }

  data = {
      "prompt": "A young woman walks alone under a transparent umbrella in a quiet alley during light rain, soft city lights reflecting on the wet pavement. Her pace is calm and thoughtful. The camera follows slowly behind her, occasional droplets hitting the lens. Subtle piano music plays, evoking a melancholic but peaceful mood. Dreamy, cinematic, slightly slow motion.",
      "images": [
          "https://oss.gptproto.com/2025/11/12/d5c2f08479b9452aacbcf9963631ce21.jpeg"
      ],
      "aspect_ratio": "16:9",
      "enhance_prompt": True
  }

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

  ```javascript JavaScript theme={null}
  const url = "https://gptproto.com/api/v3/google/veo3.1-fast/text-to-video";
  const headers = {
    "Authorization": "Bearer sk-xxxxxx",
    "Content-Type": "application/json"
  };

  const data = {
    "prompt": "A young woman walks alone under a transparent umbrella in a quiet alley during light rain, soft city lights reflecting on the wet pavement. Her pace is calm and thoughtful. The camera follows slowly behind her, occasional droplets hitting the lens. Subtle piano music plays, evoking a melancholic but peaceful mood. Dreamy, cinematic, slightly slow motion.",
    "images": [
      "https://oss.gptproto.com/2025/11/12/d5c2f08479b9452aacbcf9963631ce21.jpeg"
    ],
    "aspect_ratio": "16:9",
    "enhance_prompt": true
  };

  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://gptproto.com/api/v3/google/veo3.1-fast/text-to-video"

      payload := []byte(`{
    "prompt": "A young woman walks alone under a transparent umbrella in a quiet alley during light rain, soft city lights reflecting on the wet pavement. Her pace is calm and thoughtful. The camera follows slowly behind her, occasional droplets hitting the lens. Subtle piano music plays, evoking a melancholic but peaceful mood. Dreamy, cinematic, slightly slow motion.",
    "images": [
      "https://oss.gptproto.com/2025/11/12/d5c2f08479b9452aacbcf9963631ce21.jpeg"
    ],
    "aspect_ratio": "16:9",
    "enhance_prompt": true
  }`)

      req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
      req.Header.Set("Authorization", "Bearer sk-xxxxxx")
      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>

<CodeGroup>
  ```json 401 - Invalid signature theme={null}
  {
    "error": {
      "message": "Invalid signature",
      "type": "401"
    }
  }
  ```

  ```json 403 - Invalid Token theme={null}
  {
    "error": {
      "message": "Invalid Token",
      "type": "403"
    }
  }
  ```

  ```json 403 - Insufficient balance theme={null}
  {
    "error": {
      "message": "Insufficient balance",
      "type": "403"
    }
  }
  ```

  ```json 500 - Internal server error theme={null}
  {
    "error": {
      "message": "Internal server error",
      "type": "500"
    }
  }
  ```

  ```json 503 - Content policy violation theme={null}
  {
    "error": {
      "message": "Input may not meet the guidelines. Please adjust and try again.",
      "type": "503"
    }
  }
  ```
</CodeGroup>

## Parameters

| Parameter        | Type    | Required | Default | Description                                                                                                                         |
| ---------------- | ------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `prompt`         | string  | ✅ Yes    | -       | The positive prompt for the generation. A detailed description of the video content you want to generate.                           |
| `aspect_ratio`   | string  | ✅ Yes    | `16:9`  | The aspect ratio of the generated media. Options: `16:9`, `9:16`                                                                    |
| `images`         | array   | ✅ Yes    | -       | An array of reference image URLs. Maximum 1 image. The reference image will influence the style and content of the generated video. |
| `enhance_prompt` | boolean | ❌ No     | `true`  | Whether to enhance the prompt automatically. Options: `true`, `false`                                                               |

## Usage Notes

* The `images` array can only contain 1 reference image
* Reference images guide the visual style and composition of the generated video
* The image URL must be publicly accessible
* Video generation is asynchronous - use the task ID returned to query status
* Use the [Query Task](docs/api/google/veo3.1-fast/gptproto-format/query-task) endpoint to check generation status
