Skip to content
Back to skills

Api Usage

ASecurity

REST API for creating AI-powered video ads programmatically. Bearer token auth via API key, OAuth client_credentials, or OAuth Authorization Code (Connect flow).

  • 4 stars
  • 0 votes
  • 1 copy
  • 6 views
  • Added September 12, 2026
securitygobashapi

Works with

  • claude desktop
  • cursor
  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add aibot88/sec_skill_store --skill api-usage --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Api Usage?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Api Usage
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aibot88-api-usage/badge)](https://www.skillsdirectory.com/skills/aibot88-api-usage)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: api-usage
description: REST API for creating AI-powered video ads programmatically. Bearer token auth via API key, OAuth client_credentials, or OAuth Authorization Code (Connect flow).
version: 1.1.0
---

# Prizmad REST API

Prizmad provides a REST API for creating AI-powered video ads programmatically. The MCP server at `/api/mcp` is a thin agent-friendly wrapper on top of these endpoints — anything the MCP layer does, you can do with a curl loop.

## Authentication

Three interchangeable ways to obtain a Bearer token. See [`/.well-known/agent-skills/oauth/SKILL.md`](https://prizmad.com/.well-known/agent-skills/oauth/SKILL.md) for the full OAuth spec.

### Option 1: API key (simplest)

```http
Authorization: Bearer przmad_sk_live_...
```

Manage keys at <https://prizmad.com/api-keys>.

### Option 2: OAuth 2.0 client_credentials (server-to-server)

```bash
curl -X POST https://prizmad.com/oauth/token \
  -d grant_type=client_credentials \
  -d client_id=my-app \
  -d client_secret=przmad_sk_live_...
```

Returns `access_token` (HS256 JWT, 1 h, audience `https://prizmad.com/api`).

### Option 3: OAuth 2.1 Authorization Code + PKCE + DCR (Connect flow)

The "Add custom connector" path used by Claude Desktop / Claude.ai / ChatGPT / Cursor. RS256 JWT bound to the MCP audience, refresh-rotated. Discovery: `/.well-known/oauth-authorization-server`.

## Discovery

- **OpenAPI**: `https://prizmad.com/openapi.json`
- **Interactive docs (Scalar)**: `https://prizmad.com/api/docs`
- **API catalog (RFC 9727)**: `https://prizmad.com/.well-known/api-catalog`
- **Health**: `https://prizmad.com/api/health`

## Endpoints

### Public (no auth)

| Method | Path | Purpose |
|---|---|---|
| GET | `/api/v1/templates` | List all video templates with features and token costs |
| GET | `/api/v1/avatars` | List built-in avatar presets with recommended voices |

### Authenticated

| Method | Path | Purpose |
|---|---|---|
| GET | `/api/v1/videos` | List the caller's recent video projects (paginated; `?limit`, `?status`). Returns projectUrl / shareUrl / downloadUrl per row. |
| POST | `/api/v1/videos` | Create a new video render. Returns `videoId` + estimated time + poll cadence. **Requires Pro plan.** |
| GET | `/api/v1/videos/{id}` | Status by id — progress %, steps, projectUrl, shareUrl, downloadUrl, errorMessage. Auto-mints a share token on completion. |
| GET | `/api/v1/videos/{id}/download` | Authenticated mp4 stream proxied through prizmad.com. |
| POST | `/api/v1/videos/batch` | Launch up to 20 renders in parallel; pre-checks total token cost. |
| POST | `/api/v1/upload` | Multipart upload for one or more product / avatar images. |
| POST | `/api/v1/upload-from-url` | JSON upload (image URL or base64 blob) — agent-friendly. Returns a prizmad.com-hosted URL. |

## Output URLs

Every video status response carries three URL kinds, in priority order:

| Field | Goes to |
|---|---|
| `projectUrl` | Owner-only dashboard `/projects/<id>` (full remix / edit / asset / download) — primary link to give the signed-in user. |
| `shareUrl` | Public `/share/<token>` page — only for forwarding outside the account. |
| `downloadUrl` | Authenticated `/api/v1/videos/<id>/download` mp4 proxy. |

The raw Vercel Blob URL is **never** part of the public response; downloads always flow through `prizmad.com`.

## Plan + token rules

- API generation requires a **Pro plan** (`POST /api/v1/videos` returns 403 with an upgrade URL otherwise).
- Tokens come from the user's monthly plan first, then any top-up balance.
- Insufficient balance returns 402 with `required`, `balance`, and `topUpUrl`.

## Rate limits

- 10 requests per minute per API key on most endpoints.
- 30 requests per minute on the MCP endpoint.
- Token consumption per `create_video` is template-specific — see the `cost` field in `/api/v1/templates`.

Files in this skill

  • SKILL.md3.8 KB
  • source.json654 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.