Veo3.1-Fast - Text To Video - gptproto
Veo3.1-Fast — Text To Video (gptproto). GPTProto API reference.
POST
/
api
/
v3
/
google
/
veo3.1-fast
/
text-to-video
veo3.1-fast (text to video)
curl --request POST \
--url https://api.example.com/api/v3/google/veo3.1-fast/text-to-videoimport requests
url = "https://api.example.com/api/v3/google/veo3.1-fast/text-to-video"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://api.example.com/api/v3/google/veo3.1-fast/text-to-video', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v3/google/veo3.1-fast/text-to-video",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v3/google/veo3.1-fast/text-to-video"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v3/google/veo3.1-fast/text-to-video")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v3/google/veo3.1-fast/text-to-video")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_bodyGoogle Veo3.1-fast’s GPTProto format for the text to video API.
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.",
"aspect_ratio": "16:9",
"enhance_prompt": true
}'
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.",
"aspect_ratio": "16:9",
"enhance_prompt": True
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
print(json.dumps(result, indent=2))
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.",
"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));
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.",
"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))
}
{
"error": {
"message": "Invalid signature",
"type": "401"
}
}
{
"error": {
"message": "Invalid Token",
"type": "403"
}
}
{
"error": {
"message": "Insufficient balance",
"type": "403"
}
}
{
"error": {
"message": "Internal server error",
"type": "500"
}
}
{
"error": {
"message": "Input may not meet the guidelines. Please adjust and try again.",
"type": "503"
}
}
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 | ❌ No | 16:9 | The aspect ratio of the generated media. Options: 16:9, 9:16 |
enhance_prompt | boolean | ❌ No | true | Whether to enhance the prompt automatically. Options: true, false |
Usage Notes
- The prompt should be detailed and descriptive for best results
- Video generation is asynchronous - use the task ID returned to query status
- Processing time varies based on video complexity
- Use the Query Task endpoint to check generation status
⌘I

