List Models
curl --request GET \
--url https://veogen.studio/api/v1/modelsimport requests
url = "https://veogen.studio/api/v1/models"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://veogen.studio/api/v1/models', 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://veogen.studio/api/v1/models",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://veogen.studio/api/v1/models"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://veogen.studio/api/v1/models")
.asString();require 'uri'
require 'net/http'
url = URI("https://veogen.studio/api/v1/models")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"slug": "<string>",
"label": "<string>",
"type": "<string>",
"price_usd": 123,
"multiply_by_duration": true,
"resolution_multipliers": {},
"supported_params": [
{}
],
"aspect_ratios": [
{}
],
"resolutions": [
{}
],
"durations": [
{}
],
"modes": [
{}
],
"docs_url": "<string>"
}
]
}Models
List Models
Browse all available AI models with pricing and parameter details.
GET
/
api
/
v1
/
models
List Models
curl --request GET \
--url https://veogen.studio/api/v1/modelsimport requests
url = "https://veogen.studio/api/v1/models"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://veogen.studio/api/v1/models', 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://veogen.studio/api/v1/models",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://veogen.studio/api/v1/models"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://veogen.studio/api/v1/models")
.asString();require 'uri'
require 'net/http'
url = URI("https://veogen.studio/api/v1/models")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"slug": "<string>",
"label": "<string>",
"type": "<string>",
"price_usd": 123,
"multiply_by_duration": true,
"resolution_multipliers": {},
"supported_params": [
{}
],
"aspect_ratios": [
{}
],
"resolutions": [
{}
],
"durations": [
{}
],
"modes": [
{}
],
"docs_url": "<string>"
}
]
}Response 200 OK
Returns an array of model objects.
Show Model object
Show Model object
The model identifier to use in
POST /generations.Human-readable model name.
video | imageBase price in USD per generation.
If
true, the price is multiplied by the duration in seconds.Map of resolution → price multiplier.
null if resolutions are flat-priced.Supported parameter names for this model.
Supported aspect ratios.
Supported resolution values (if any).
Supported duration values in seconds (video only).
Supported mode values (if any).
URL to this model’s detailed documentation.
Model Catalog
Video Models
| Slug | Price | Billing |
|---|---|---|
grok-video-1 | $0.03/s | Per-second × duration |
veo-3.1-fast | from $0.30 | Per-video (4K = 3×) |
sora-2 | from $0.40 | Per-video |
sora-2-pro | from $1.20 | Per-video |
seedance-2.0 | from $0.132/s | Per-second × duration (720p = 2.15×). With video ref: from $0.08/s |
seedance-2.0-fast | from $0.1056/s | Per-second × duration (720p = 2.17×). With video ref: from $0.0632/s |
Image Models
| Slug | Price | Billing |
|---|---|---|
gpt-4o-image | $0.02 | Per-image |
seedream-4.5 | from $0.04 | Per-image (2K = 2×, 4K = 3×) |
seedream-5.0-lite | from $0.04 | Per-image (2K = 2×, 4K = 3×) |
nano-banana-pro | from $0.10 | Per-image (2K = 2×, 4K = 3×) |
nano-banana-2 | from $0.04 | Per-image (2K = 2×, 4K = 3×) |
Example
curl https://veogen.studio/api/v1/models \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/json"
{
"data": [
{
"slug": "veo-3.1-fast",
"label": "Veo 3.1 Fast",
"type": "video",
"price_usd": 0.30,
"multiply_by_duration": false,
"resolution_multipliers": {
"720p": 1,
"1080p": 1,
"4k": 3
},
"supported_params": ["prompt", "duration", "aspect_ratio", "resolution", "image_urls", "mode"],
"aspect_ratios": ["16:9", "9:16"],
"resolutions": ["720p", "1080p", "4k"],
"durations": [8],
"modes": ["frame", "ingredient"],
"docs_url": "https://veogen.studio/api-reference/models/veo-3.1-fast"
},
{
"slug": "grok-video-1",
"label": "Grok Video",
"type": "video",
"price_usd": 0.03,
"multiply_by_duration": true,
"resolution_multipliers": null,
"supported_params": ["prompt", "aspect_ratio", "image_urls", "mode", "duration", "resolution"],
"aspect_ratios": ["16:9", "9:16", "1:1", "2:3", "3:2"],
"resolutions": ["480p", "720p"],
"durations": [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30],
"modes": ["custom", "normal", "fun", "spicy"],
"docs_url": "https://veogen.studio/api-reference/models/grok-video-1"
},
{
"slug": "gpt-4o-image",
"label": "GPT-4o Image",
"type": "image",
"price_usd": 0.02,
"multiply_by_duration": false,
"resolution_multipliers": null,
"supported_params": ["prompt", "size", "image_urls"],
"aspect_ratios": ["1:1", "2:3", "3:2", "3:4", "4:3", "16:9"],
"resolutions": [],
"durations": [],
"modes": [],
"docs_url": "https://veogen.studio/api-reference/models/gpt-4o-image"
}
]
}
⌘I