SJinn
Gemini Omni Video

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.

DurationCost
4s480 credits
6s720 credits
8s960 credits
10s1200 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

  1. Use 4s or 6s generations for quick iteration before longer outputs.
  2. Keep reference image count small when possible so the prompt remains clear.
  3. Use 9:16 for short-form vertical video and 16:9 for landscape video.
  4. Poll task status with query_tool_task_status until the task completes or fails.

Related Links