PointAPI
AI video generation API

Gemini Omni Video API — pricing and integration

Gemini Omni Video: AI video generation API. Use this model through Point API with its exact model ID and the supported parameters below. Compare the published price tiers before submitting a generation.

Model ID: gemini-omni-video

Enabled in the published configuration

Open in playground

API pricing in USD

Creator −10% prices are 10% lower than Studio Creator generation costs converted to USD. Models available only through the API have separate API pricing. A request or character-range tier is the full cost for its exact settings; image and second units are multiplied by count or duration. Token rates apply only where explicitly listed. Missing or expired prices are unavailable, not free.

Creator −10%

Gemini Omni Video — API pricing in USD
PriceAPI pricing in USDParameter tier
0.350571 USDper request{"duration": 4, "mode": "animate-photo", "quality": "720p"}
0.525857 USDper request{"duration": 6, "mode": "animate-photo", "quality": "720p"}
0.701143 USDper request{"duration": 8, "mode": "animate-photo", "quality": "720p"}
0.876429 USDper request{"duration": 10, "mode": "animate-photo", "quality": "720p"}
0.438214 USDper request{"duration": 4, "mode": "animate-photo", "quality": "1080p"}
0.657321 USDper request{"duration": 6, "mode": "animate-photo", "quality": "1080p"}
0.876429 USDper request{"duration": 8, "mode": "animate-photo", "quality": "1080p"}
1.095536 USDper request{"duration": 10, "mode": "animate-photo", "quality": "1080p"}
0.876429 USDper request{"duration": 4, "mode": "animate-photo", "quality": "4k"}
1.314643 USDper request{"duration": 6, "mode": "animate-photo", "quality": "4k"}
1.752857 USDper request{"duration": 8, "mode": "animate-photo", "quality": "4k"}
2.191072 USDper request{"duration": 10, "mode": "animate-photo", "quality": "4k"}
0.350571 USDper request{"duration": 4, "mode": "prompt-to-video", "quality": "720p"}
0.525857 USDper request{"duration": 6, "mode": "prompt-to-video", "quality": "720p"}
0.701143 USDper request{"duration": 8, "mode": "prompt-to-video", "quality": "720p"}
0.876429 USDper request{"duration": 10, "mode": "prompt-to-video", "quality": "720p"}
0.438214 USDper request{"duration": 4, "mode": "prompt-to-video", "quality": "1080p"}
0.657321 USDper request{"duration": 6, "mode": "prompt-to-video", "quality": "1080p"}
0.876429 USDper request{"duration": 8, "mode": "prompt-to-video", "quality": "1080p"}
1.095536 USDper request{"duration": 10, "mode": "prompt-to-video", "quality": "1080p"}
0.876429 USDper request{"duration": 4, "mode": "prompt-to-video", "quality": "4k"}
1.314643 USDper request{"duration": 6, "mode": "prompt-to-video", "quality": "4k"}
1.752857 USDper request{"duration": 8, "mode": "prompt-to-video", "quality": "4k"}
2.191072 USDper request{"duration": 10, "mode": "prompt-to-video", "quality": "4k"}
0.350571 USDper request{"duration": 4, "mode": "references-to-scene", "quality": "720p"}
0.525857 USDper request{"duration": 6, "mode": "references-to-scene", "quality": "720p"}
0.701143 USDper request{"duration": 8, "mode": "references-to-scene", "quality": "720p"}
0.876429 USDper request{"duration": 10, "mode": "references-to-scene", "quality": "720p"}
0.438214 USDper request{"duration": 4, "mode": "references-to-scene", "quality": "1080p"}
0.657321 USDper request{"duration": 6, "mode": "references-to-scene", "quality": "1080p"}
0.876429 USDper request{"duration": 8, "mode": "references-to-scene", "quality": "1080p"}
1.095536 USDper request{"duration": 10, "mode": "references-to-scene", "quality": "1080p"}
0.876429 USDper request{"duration": 4, "mode": "references-to-scene", "quality": "4k"}
1.314643 USDper request{"duration": 6, "mode": "references-to-scene", "quality": "4k"}
1.752857 USDper request{"duration": 8, "mode": "references-to-scene", "quality": "4k"}
2.191072 USDper request{"duration": 10, "mode": "references-to-scene", "quality": "4k"}

Supported API parameters

Gemini Omni Video — Supported API parameters
ParameterTypeAccepted values
promptstring
Required
Minimum (minLength): 1
Maximum (maxLength): 4000
modestring
Optional
Accepted values ["animate-photo", "prompt-to-video", "references-to-scene"]
Default (default): "prompt-to-video"
ratiostring
Optional
Accepted values ["9:16", "16:9"]
Default (default): "16:9"
durationinteger
Required
Accepted values [4, 6, 8, 10]
qualitystring
Optional
Accepted values ["720p", "1080p", "4k"]
Default (default): "720p"
imagesarray
Optional
Maximum items (maxItems): 7
items: {"format": "data-url", "type": "string"}
capabilities
{
  "additionalProperties": false,
  "max_reference_images": 7,
  "quality_durations": {
    "1080p": [
      4,
      6,
      8,
      10
    ],
    "4k": [
      4,
      6,
      8,
      10
    ],
    "720p": [
      4,
      6,
      8,
      10
    ]
  }
}

The published contract allows up to 7 image references. Use only the reference fields and roles documented for this model; this limit does not imply support for other media types.

Integrate this model

Point API uses its own REST JSON contract and asynchronous generation resources. Keep API keys on your server, not in public frontend code.

  1. Read GET /v1/models and select the exact model ID, supported input fields and published price tier.
  2. Create a model-authorized API key in your workspace and ensure your USD balance covers the request.
  3. Send REST JSON to POST /v1/generations with Authorization: Bearer and an Idempotency-Key. Reuse that key only with the same request body when retrying the same operation.
  4. Poll GET /v1/generations/{id} using the same returned generation ID. An accepted request is asynchronous; if its state is unknown, keep checking that ID instead of creating a new paid generation.
POST https://pointgpt.io/v1/generations
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: YOUR_UNIQUE_REQUEST_ID

{
  "model": "gemini-omni-video",
  "input": {
    "prompt": "A paper boat drifts across a calm pond; a gentle breeze creates small ripples.",
    "duration": 4
  }
}

The initial response confirms acceptance, not a completed result. Inspect the returned state and result on the same generation resource. Supported output and media access depend on the model and your account permissions.

API documentation

cURL / Python

POINT_API_KEY · POINT_REQUEST_ID

cURL

curl https://pointgpt.io/v1/generations \
  -H "Authorization: Bearer $POINT_API_KEY" \
  -H 'Content-Type: application/json' \
  -H "Idempotency-Key: $POINT_REQUEST_ID" \
  --data-raw '{
  "model": "gemini-omni-video",
  "input": {
    "prompt": "A paper boat drifts across a calm pond; a gentle breeze creates small ripples.",
    "duration": 4
  }
}'

Python

import json
import os
from urllib.request import Request, urlopen

payload = json.loads('{\n  "model": "gemini-omni-video",\n  "input": {\n    "prompt": "A paper boat drifts across a calm pond; a gentle breeze creates small ripples.",\n    "duration": 4\n  }\n}')
request = Request('https://pointgpt.io/v1/generations', method='POST',
    data=json.dumps(payload).encode('utf-8'),
    headers={
        'Authorization': 'Bearer ' + os.environ['POINT_API_KEY'],
        'Content-Type': 'application/json',
        'Idempotency-Key': os.environ['POINT_REQUEST_ID'],
    })
with urlopen(request, timeout=60) as response:
    job = json.load(response)
print(job['id'])

API questions

How is the API request priced?

Creator −10% prices are 10% lower than Studio Creator generation costs converted to USD. Models available only through the API have separate API pricing. A request or character-range tier is the full cost for its exact settings; image and second units are multiplied by count or duration. Token rates apply only where explicitly listed. Missing or expired prices are unavailable, not free. The price is fixed when a request is accepted.

Can I use an OpenAI-compatible client or streaming?

Integrate the documented Point API REST JSON endpoints. This contract does not advertise OpenAI-compatible endpoints or streaming. Use the request and response formats in the API documentation.

How do I receive the generated result?

Submission creates an asynchronous generation resource. Save its ID and poll GET /v1/generations/{id} for its state and result. A state of unknown is not an instruction to submit again: continue checking the same ID.

Related models