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.
array
Show Model object
Show Model object
string
The model identifier to use in
POST /generations.string
Human-readable model name.
string
video | imagenumber
Base price in USD per generation.
boolean
If
true, the price is multiplied by the duration in seconds.object
Map of resolution → price multiplier.
null if resolutions are flat-priced.array
Supported parameter names for this model.
array
Supported aspect ratios.
array
Supported resolution values (if any).
array
Supported duration values in seconds (video only).
array
Supported mode values (if any).
string
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"
}
]
}