curl --request POST \
--url https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "Combine the character and the background style into one scene",
"referenceImages": [
"https://example.com/ref-1.jpg",
"https://example.com/ref-2.jpg"
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'Combine the character and the background style into one scene',
referenceImages: ['https://example.com/ref-1.jpg', 'https://example.com/ref-2.jpg']
})
};
fetch('https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v"
payload = {
"prompt": "Combine the character and the background style into one scene",
"referenceImages": ["https://example.com/ref-1.jpg", "https://example.com/ref-2.jpg"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v"
payload := strings.NewReader("{\n \"prompt\": \"Combine the character and the background style into one scene\",\n \"referenceImages\": [\n \"https://example.com/ref-1.jpg\",\n \"https://example.com/ref-2.jpg\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
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.modellix.ai/api/v1/google/gemini-omni-flash-r2v")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"Combine the character and the background style into one scene\",\n \"referenceImages\": [\n \"https://example.com/ref-1.jpg\",\n \"https://example.com/ref-2.jpg\"\n ]\n}")
.asString();const url = 'https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'Combine the character and the background style into one scene',
referenceImages: ['https://example.com/ref-1.jpg', 'https://example.com/ref-2.jpg']
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => 'Combine the character and the background style into one scene',
'referenceImages' => [
'https://example.com/ref-1.jpg',
'https://example.com/ref-2.jpg'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"Combine the character and the background style into one scene\",\n \"referenceImages\": [\n \"https://example.com/ref-1.jpg\",\n \"https://example.com/ref-2.jpg\"\n ]\n}"
response = http.request(request)
puts response.read_bodyimport Foundation
let parameters = [
"prompt": "Combine the character and the background style into one scene",
"referenceImages": ["https://example.com/ref-1.jpg", "https://example.com/ref-2.jpg"]
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))$headers=@{}
$headers.Add("Authorization", "Bearer <token>")
$headers.Add("Content-Type", "application/json")
$response = Invoke-WebRequest -Uri 'https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"prompt": "Combine the character and the background style into one scene",
"referenceImages": [
"https://example.com/ref-1.jpg",
"https://example.com/ref-2.jpg"
]
}'{
"code": 0,
"message": "success",
"data": {
"status": "pending",
"task_id": "task-omni001",
"model_id": "google/gemini-omni-flash-r2v",
"get_result": {
"method": "GET",
"url": "https://api.modellix.ai/api/v1/tasks/task-omni001"
}
}
}{
"code": 400,
"message": "Invalid parameters: parameter 'prompt' is required"
}{
"code": 401,
"message": "Authentication failed: invalid API key"
}{
"code": 429,
"message": "Rate limit exceeded: 100 requests per minute, retry after 60 seconds"
}{
"code": 500,
"message": "Internal server error"
}Gemini Omni Flash R2V
[Core Function] Gemini Omni Flash R2V (Reference-to-Video) generates a short 720p video guided by up to three reference images via the Interactions API. [Strengths] It fuses the styles, subjects, or elements from multiple reference images (referred to in the text prompt) into a single coherent animated clip with synchronized audio. [Best For] Highly recommended for: blending characters or visual styles from several images, reference-guided creative shots, and multi-subject compositions where the prompt directs how the references combine. [Limitations] Do NOT use this model if you only have a single starting frame (use I2V instead), or if you need 1080p or 4K or clips longer than 10 seconds; it accepts 1 to 3 reference images and outputs 720p up to 10 seconds (16:9 or 9:16). [Routing] Choose this when the user supplies multiple reference images to combine into one video. For single first-frame animation use Gemini Omni Flash I2V; to modify an existing video use Gemini Omni Flash Video Edit.
curl --request POST \
--url https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "Combine the character and the background style into one scene",
"referenceImages": [
"https://example.com/ref-1.jpg",
"https://example.com/ref-2.jpg"
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'Combine the character and the background style into one scene',
referenceImages: ['https://example.com/ref-1.jpg', 'https://example.com/ref-2.jpg']
})
};
fetch('https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v"
payload = {
"prompt": "Combine the character and the background style into one scene",
"referenceImages": ["https://example.com/ref-1.jpg", "https://example.com/ref-2.jpg"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v"
payload := strings.NewReader("{\n \"prompt\": \"Combine the character and the background style into one scene\",\n \"referenceImages\": [\n \"https://example.com/ref-1.jpg\",\n \"https://example.com/ref-2.jpg\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
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.modellix.ai/api/v1/google/gemini-omni-flash-r2v")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"Combine the character and the background style into one scene\",\n \"referenceImages\": [\n \"https://example.com/ref-1.jpg\",\n \"https://example.com/ref-2.jpg\"\n ]\n}")
.asString();const url = 'https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
prompt: 'Combine the character and the background style into one scene',
referenceImages: ['https://example.com/ref-1.jpg', 'https://example.com/ref-2.jpg']
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'prompt' => 'Combine the character and the background style into one scene',
'referenceImages' => [
'https://example.com/ref-1.jpg',
'https://example.com/ref-2.jpg'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"prompt\": \"Combine the character and the background style into one scene\",\n \"referenceImages\": [\n \"https://example.com/ref-1.jpg\",\n \"https://example.com/ref-2.jpg\"\n ]\n}"
response = http.request(request)
puts response.read_bodyimport Foundation
let parameters = [
"prompt": "Combine the character and the background style into one scene",
"referenceImages": ["https://example.com/ref-1.jpg", "https://example.com/ref-2.jpg"]
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))$headers=@{}
$headers.Add("Authorization", "Bearer <token>")
$headers.Add("Content-Type", "application/json")
$response = Invoke-WebRequest -Uri 'https://api.modellix.ai/api/v1/google/gemini-omni-flash-r2v' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"prompt": "Combine the character and the background style into one scene",
"referenceImages": [
"https://example.com/ref-1.jpg",
"https://example.com/ref-2.jpg"
]
}'{
"code": 0,
"message": "success",
"data": {
"status": "pending",
"task_id": "task-omni001",
"model_id": "google/gemini-omni-flash-r2v",
"get_result": {
"method": "GET",
"url": "https://api.modellix.ai/api/v1/tasks/task-omni001"
}
}
}{
"code": 400,
"message": "Invalid parameters: parameter 'prompt' is required"
}{
"code": 401,
"message": "Authentication failed: invalid API key"
}{
"code": 429,
"message": "Rate limit exceeded: 100 requests per minute, retry after 60 seconds"
}{
"code": 500,
"message": "Internal server error"
}Authorizations
API Key authentication. Format: Bearer YOUR_API_KEY.
Body
Gemini Omni Flash reference-to-video request. Fuses 1 to 3 referenceImages guided by the prompt. Supports aspectRatio and duration (up to 10 seconds). Output is fixed at 720p.
Video description text
1"Combine the character and the background style into one scene"
1 to 3 reference image URLs whose subjects or styles are fused into the video, guided by the prompt.
1 - 3 elements[
"https://example.com/ref-1.jpg",
"https://example.com/ref-2.jpg"
]
Video aspect ratio. Output resolution is fixed at 720p.
16:9, 9:16 "16:9"
Video duration in seconds (string type). Maximum 10 seconds.
4, 6, 8, 10 "8"