Analyze videos with Google Gemini Video Vision. Get detailed scene, motion, and composition analysis from a video URL. Try free, pay per generation.
About this model
Gemini Video Vision brings Google Gemini's native video understanding to the Muapi API. Instead of sampling isolated frames, Gemini ingests the full video and reasons about it end-to-end — camera movement, subject motion, composition, lighting, on-screen text, and narrative structure. Give it a video URL and a prompt (or a structured system prompt) and it returns a detailed text analysis, making it useful for content moderation, video captioning, shot-list generation, and automated QA of AI-generated video. Pricing is token-based, similar to Gemini 2.5 Flash and Gemini 3 Flash, but with a higher per-run minimum since video inputs consume substantially more tokens than text or a single image.
Cost analysis
| Provider | Cost | Notes |
|---|---|---|
| muapiapp | $0.60/M input tokens, $5.00/M output tokens (higher per-run minimum for video) | Token-based billing with no subscription — pay only for what you use, including the higher token cost of video input. |
| Fal.ai | Not available | Fal.ai's vision endpoints are image-only; they do not offer native video-understanding via Gemini's file API. |
| Replicate | Not available | Replicate does not currently offer a hosted Gemini video-understanding endpoint. |
Token-based billing with no subscription — pay only for what you use, including the higher token cost of video input.
Fal.ai's vision endpoints are image-only; they do not offer native video-understanding via Gemini's file API.
Replicate does not currently offer a hosted Gemini video-understanding endpoint.
** Competitor pricing is estimated based on similar model architectures and usage tiers.
Configuration schema
| Parameter | Type | Description | Default |
|---|---|---|---|
| Prompt | string | The question or instruction describing what to analyze in the video. | Describe what happens in this video in detail, including camera movement, subjects, and any on-screen text. |
| Video URL | string | URL of the video to analyze. | https://d3adwkbyhxyrtq.cloudfront.net/webassets/videomodels/sample-video.mp4 |
| System Prompt | string | Optional system-level instruction to guide the model's analysis style. | Respond with a structured JSON analysis, not prose. |
| Model | Enum (1 options) | Gemini model to use for video understanding. gemini-2.5-pro was removed from this enum after Google deprecated it for new users (returns a 404 NOT_FOUND); gemini-2.5-flash is the only currently supported option. | gemini-2.5-flash |
The question or instruction describing what to analyze in the video.
Describe what happens in this video in detail, including camera movement, subjects, and any on-screen text.URL of the video to analyze.
https://d3adwkbyhxyrtq.cloudfront.net/webassets/videomodels/sample-video.mp4Optional system-level instruction to guide the model's analysis style.
Respond with a structured JSON analysis, not prose.Gemini model to use for video understanding. gemini-2.5-pro was removed from this enum after Google deprecated it for new users (returns a 404 NOT_FOUND); gemini-2.5-flash is the only currently supported option.
gemini-2.5-flashDeveloper documentation
Provide a video URL: Host your video at a publicly reachable URL (e.g. an S3 or CDN link) and pass it as video_url.
Write a prompt: Describe what you want analyzed — a general description, a structured JSON breakdown, or a specific question about the video's content.
Optionally set a system prompt: Use system_prompt to control output format, e.g. "Respond with structured JSON only, no prose."
Choose a model: gemini-2.5-flash (default) is fast and cheap; gemini-2.5-pro gives deeper, more accurate analysis for complex videos.
Submit and poll: Like all Muapi endpoints, submit the request and poll /predictions/{request_id}/result until status is completed.
Python:
import requests, time
API_KEY = "your_api_key_here"
headers = {"x-api-key": API_KEY, "Content-Type": "application/json"}
r = requests.post("https://api.muapi.ai/api/v1/gemini-video-vision", headers=headers,
json={
"prompt": "Describe the camera movement, subjects, and lighting in this video.",
"video_url": "https://example.com/my-video.mp4"
})
request_id = r.json()["request_id"]
while True:
result = requests.get(f"https://api.muapi.ai/api/v1/predictions/{request_id}/result", headers=headers).json()
if result["status"] == "completed":
print(result["output"]["text"])
break
time.sleep(3)
cURL:
curl -X POST https://api.muapi.ai/api/v1/gemini-video-vision \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"prompt": "Describe this video in detail.", "video_url": "https://example.com/my-video.mp4"}'
Larger videos take longer to process since Gemini uploads and ingests the full file before analysis — expect responses to take anywhere from several seconds to a few minutes depending on video length.
Frequently asked
It uses Google Gemini's native video understanding to analyze a full video — not just sampled frames — and returns a detailed text description covering motion, composition, subjects, lighting, and any on-screen text or dialogue context.
Standard video formats like MP4, MOV, and WebM are supported. Longer videos take proportionally longer to process and cost more, since Gemini's token usage scales with video duration.
Pricing is token-based. Video inputs consume significantly more tokens than text or a single image, so the per-run minimum is higher than Muapi's text-only Gemini endpoints. The actual cost is calculated from the API response and deducted from your wallet after each call.
gemini-2.5-flash is faster and cheaper, suitable for most description and QA tasks. gemini-2.5-pro provides deeper reasoning and is better suited for complex analysis, such as detailed shot-by-shot breakdowns.
Yes. Use the system_prompt field to instruct the model to respond in a specific format, such as structured JSON, a bullet list, or a single sentence summary.
Processing time depends on video length and complexity. Short clips typically complete within seconds; longer videos may take a couple of minutes since the full video must be uploaded and ingested before analysis begins.