Atlas / Skills / useapi / google-vids-api

google-vids-apiSAFE

skills/useapi/google-vids-api

Google Vids API examples by useapi.net: Gemini Omni 1.1 Flash video with voiced AI avatars, extend to ~41 s, 1080p upscale, on your own Google AI plan, no captcha. Node.js and Python, plus a Vids watermark remover.

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
—
Hosts
2 documented
License
MIT
Stars
1
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Runnable examples for the Google Vids API by useapi.net: make Gemini Omni 1.1 Flash video in Google Vids with voiced avatars, your own reference images, extends up to about 41 seconds and a 1080p upscale, through a REST API that runs on your own Google AI plan. Vids has its own monthly allowance, separate from Google Flow's credits, and asks for no captcha.

Read from source at commit 8b16e2b2aa3fOBSERVED · 2026-10-14
02

Install

Commands as the repository documents them. They are shown, not run.

git clone https://github.com/useapi/google-vids-api.git
pip install numpy
npx skills add useapi/google-vids-api --skill google-vids-video
git clone https://github.com/useapi/google-vids-api.git
pip install numpy
03

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
codexmentioned
04

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: google-vids-video
description: Make AI video in Google Vids with Gemini Omni 1.1 Flash through the useapi.net Google Vids API, on the user's own Google AI plan. Creates talking AI avatars (a person drawn from a description, with one of 30 voices) and puts them in clips as an AI influencer, spokesperson or UGC ad presenter; also text-to-video, reference images, start image, extend a clip up to about 41 seconds, upscale to 1080p, edit by prompt, and Vids images. Downloads the .mp4. Use when the user asks for a Google Vids video, a Gemini Omni or Omni Flash clip, an AI avatar or talking-avatar video, an AI influencer or spokesperson video, a UGC-style ad, or to extend or upscale a Vids clip from the command line. Needs curl, jq and a USEAPI_TOKEN environment variable.
license: MIT
compatibility: Needs bash, curl, jq and network access to api.useapi.net. Requires a useapi.net API token (USEAPI_TOKEN) and a Google account on a paid Google AI plan (Pro or Ultra) connected to useapi.net with the Google Vids setup.
metadata:
  author: useapi.net
  homepage: https://github.com/useapi/google-vids-api
---

# Gemini Omni 1.1 Flash video and AI avatars with the useapi.net Google Vids API

These scripts call the [useapi.net Google Vids API](https://useapi.net/docs/api-google-vids-v1), a third-party REST API that drives the user's own Google Vids account. Every clip spends seconds of the monthly Vids allowance of the user's Google AI plan. Every script is in `scripts/` next to this file. Run them with bash.

## Before you start

1. `USEAPI_TOKEN` must be set. If it is missing, ask the user for their useapi.net API token (setup: https://useapi.net/docs/start-here/setup-useapi). Their Google account must already be connected (https://useapi.net/docs/start-here/setup-google-vids). To connect one by hand, the clean sign-in scripts at https://github.com/useapi/google-account-setup give cookies that keep working. **Never print the token, echo it, or write it to a file.**
2. `USEAPI_EMAIL` is optional: the connected Google account to use. Leave it unset and the API picks a healthy account with allowance left. Avatars, clips and images belong to the account that made them, and everything in one request must come from the same account, so set it when the user has several accounts.
3. `curl` and `jq` must be installed.

## Fastest path: one command

```bash
scripts/video.sh "<prompt>" [key=value ...]
```

It prints progress on stderr and the saved `.mp4` path on stdout, with the job record next to it as `.json` (`OUT_DIR` sets the folder, default the current one). A clip usually takes 30 to 100 seconds; run it in the background (in Claude Code, `run_in_background`) or with a timeout of at least 10 minutes, and do not start a second copy while it runs.

```bash
# Text to video, 8 s landscape 720p (the defaults)
scripts/video.sh "A lighthouse keeper climbs the spiral stairs at dusk, lantern swinging. Slow handheld follow shot."

# A talking avatar for Shorts/Reels/TikTok
AV=$(scripts/avatar.sh "Maya" Kaci appearance="a woman in her late twenties with a curly brown bob and freckles" outfit="cream knit sweater" shot=upper-body)
scripts/video.sh "@avatar_1 holds up the mug, smiles and says: \"Honestly the best coffee I've had all year.\" Handheld phone camera, natural light." \
  avatar_1="$AV" aspectRatio=portrait duration=6
```

## Costs (the Vids allowance)

Vids meters video in **seconds** and images by **count**, per month, separate from Google Flow credits. Google AI Pro gets 500 s, Ultra 5x 2,500 s, Ultra 20x ($199) 10,000 s of video; images 30 / 300 / 1,000. A free Google account gets no video or images (it can still make avatars). Allowances reset on the 1st at 00:00 Pacific.

| Request | Uses |
|---|---|
| A clip (`generate.sh`, `video.sh`) | its `duration` in seconds. **`720p` and `1080p` cost the same.** Avatars and references add nothing |
| Extend (`extend.sh`) | only the seconds it adds, whatever the clip's length |
| Upscale (`upscale.sh`) | the clip's full length again (an 8 s clip uses 8 s) |
| Edit (`edit.sh`) | the length it returns, at most 10 s |
| Image (`image.sh`) | 1 image |
| Avatar from a description | 1 image. From an `image.sh` image: nothing more. Voices are free |
| A request Google refuses (content `422` or quota `429`) | nothing |

Every finished job reports what is left (`result.quota`, logged by `wait-job.sh`). Tell the user the cost before anything over 10 s or more than one clip.

## 720p first, upscale once at the end

A `1080p` clip behaves like an upscaled `720p` one and takes about twice as long. Extending or editing a `1080p` clip makes faces softer and waxier at every step. So:

- Make, extend and edit at `720p` (the default).
- When the clip is finished and is **20 seconds or less**, upscale it once with `upscale.sh`. Longer clips are refused (`400`, nothing charged).
- A single clip that won't be extended or edited can be `resolution=1080p` from the start (same cost).
- For a `1080p` clip longer than 20 s, set `resolution=1080p` on the last extend only.

## Avatars

An avatar is a fixed picture of a person plus one of 30 voices, saved in the account's Vids document and reusable by `avatarId` in any number of clips (`avatar.sh --list` shows them, including ones made in the Vids web app).

- Made **from a description** (`appearance=`, plus `outfit=`, `shot=close-up|upper-body|full-body`, `expression=`, `details=`), where Google draws the person and the picture is saved as `avatar_<name>.jpg`; or **from an image** made with `image.sh` (`image=<mediaId>`, within a few hours of making it).
- **Not from the user's own photo**: an avatar of a real person needs Google's live selfie and phone check, which an API cannot do. Say so if asked, and offer a description instead.
- Voice: `scripts/avatar.sh --voices` lists name, voice id and style (e.g. `Holt` = Charon, informative; `Kaci` = Autonoe, bright). Ask the user or pick one that fits.
- A clip takes **up to 3 reference
05

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (3 observation(s))
Network
declared (6 observation(s))
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (1)

INFOPrompt injection · prompt.fetch_and_trust · CWE-94, CWE-1427
watermark-remover/README.md:46
- Download your clips with [GET /media/`mediaId`](https://useapi.net/docs/api-google-vids-v1/get-google-vids-media-mediaId?utm_source=github.com&utm_medium=referral&utm_campaign=google-vids-api) and r
Why it matters. remote text is to be obeyed as instructions

Gates applied: no_behavioural_pass.

Audited 2026-10-14 · audit v0.4.1 · source sha 8b16e2b2aa3ffull audit observations/trust-audit/skill/useapi__google-vids-api.json · Report an issue / request a re-scan
06

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-148b16e2b2aa3fSAFEB89first audit
07

Questions

What does the google-vids-api skill do?

Google Vids API examples by useapi.net: Gemini Omni 1.1 Flash video with voiced AI avatars, extend to ~41 s, 1080p upscale, on your own Google AI plan, no captcha. Node.js and Python, plus a Vids watermark remover.

Is google-vids-api safe to install?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.

What can google-vids-api access on my machine?

The audit observed that it reaches the network and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: none found.

Which assistants does google-vids-api work with?

Its documentation mentions claude-code and codex. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (8b16e2b2aa3f), read on 2026-10-14. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement