Gemini Omni Video
Create Gemini Omni video tasks through the SJinn REST API
Tool Overview
The Gemini Omni Video tool creates video tasks from a text prompt plus optional image and video references. This page documents the SJinn REST API contract for external developers.
Tool Identifier
gemini-omni-video-api
Parameters
Required Parameters
prompt
- Type:
string - Description: Text description of the video content to generate
- Example:
"A robot walking through a neon city at night"
Optional Parameters
image_urls
- Type:
string[] - Default:
[] - Limit: Up to 7 image URLs
- Description: Reference images used to guide visual style, subject, or composition
video
- Type:
string - Description: Optional single reference video URL
aspect_ratio
- Type:
string - Default:
"16:9" - Supported Values:
"16:9","9:16"
duration
- Type:
number - Default:
4 - Supported Values:
4,6,8,10
Pricing
Credits are calculated by the same billing logic SJinn uses when the web page creates a Gemini Omni Video task: duration × 120.
| Duration | Cost |
|---|---|
| 4s | 480 credits |
| 6s | 720 credits |
| 8s | 960 credits |
| 10s | 1200 credits |
Request Examples
Text-to-Video
curl -X POST https://sjinn.ai/api/un-api/create_tool_task \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tool_type": "gemini-omni-video-api",
"input": {
"prompt": "A robot walking through a neon city at night",
"aspect_ratio": "16:9",
"duration": 8
}
}'
Image And Video References
curl -X POST https://sjinn.ai/api/un-api/create_tool_task \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tool_type": "gemini-omni-video-api",
"input": {
"prompt": "Use the image for the character design and the video for camera motion",
"image_urls": ["https://example.com/reference.jpg"],
"video": "https://example.com/reference.mp4",
"aspect_ratio": "9:16",
"duration": 6
}
}'
Using JavaScript
const response = await fetch('https://sjinn.ai/api/un-api/create_tool_task', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool_type: 'gemini-omni-video-api',
input: {
prompt: 'A robot walking through a neon city at night',
image_urls: ['https://example.com/reference.jpg'],
aspect_ratio: '16:9',
duration: 8,
},
}),
});
const result = await response.json();
console.log('Task ID:', result.data.task_id);
Using Python
import requests
url = 'https://sjinn.ai/api/un-api/create_tool_task'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
}
data = {
'tool_type': 'gemini-omni-video-api',
'input': {
'prompt': 'A robot walking through a neon city at night',
'aspect_ratio': '16:9',
'duration': 8,
},
}
response = requests.post(url, json=data, headers=headers)
result = response.json()
print('Task ID:', result['data']['task_id'])
Response Examples
Success Response
{
"success": true,
"errorMsg": "",
"error_code": 0,
"data": {
"task_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Error Response
{
"success": false,
"errorMsg": "duration must be one of 4, 6, 8, 10",
"error_code": 400
}
Best Practices
- Use 4s or 6s generations for quick iteration before longer outputs.
- Keep reference image count small when possible so the prompt remains clear.
- Use
9:16for short-form vertical video and16:9for landscape video. - Poll task status with
query_tool_task_statusuntil the task completes or fails.
