Install any skill in seconds. Free to start, no credit card required.
Get Started Free →REST API for creating AI-powered video ads programmatically. Bearer token auth via API key, OAuth client_credentials, or OAuth Authorization Code (Connect flow).
.claude/skills/prizmad-api-usage/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 110% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 314% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 26% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 17% | 0% |
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.
Three interchangeable ways to obtain a Bearer token. See /.well-known/agent-skills/oauth/SKILL.md for the full OAuth spec.
httpAuthorization: Bearer przmad_sk_live_...
Manage keys at <https://prizmad.com/api-keys>.
bashcurl -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).
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.
https://prizmad.com/openapi.jsonhttps://prizmad.com/api/docshttps://prizmad.com/.well-known/api-cataloghttps://prizmad.com/api/health| 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 |
| 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. |
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.
POST /api/v1/videos returns 403 with an upgrade URL otherwise).required, balance, and topUpUrl.create_video is template-specific — see the cost field in /api/v1/templates.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 7,066 | 7,206 | +2% | 1 | 1 | 0% | 1,118 | 2,353 | +110% | 0 | 0 | — |
case-02 | fail→pass | 3,728 | 7,662 | +106% | 1 | 1 | 0% | 581 | 2,404 | +314% | 0 | 0 | — |
case-03 | fail→fail | 11,073 | 10,601 | -4% | 1 | 1 | 0% | 2,193 | 3,267 | +49% | 0 | 0 | — |
case-04 | fail→pass | 7,052 | 3,651 | -48% | 1 | 1 | 0% | 1,407 | 1,768 | +26% | 0 | 0 | — |
case-05 | pass→pass | 12,427 | 2,199 | -82% | 1 | 1 | 0% | 1,437 | 1,464 | +2% | 0 | 0 | — |
case-06 | fail→pass | 6,830 | 2,287 | -67% | 1 | 1 | 0% | 1,249 | 1,463 | +17% | 0 | 0 | — |
case-07 | fail→pass | 8,761 | 3,774 | -57% | 1 | 1 | 0% | 1,521 | 1,773 | +17% | 0 | 0 | — |
case-08 | fail→pass | 3,641 | 2,020 | -45% | 1 | 1 | 0% | 594 | 1,410 | +137% | 0 | 0 | — |
case-09 | fail→pass | 15,512 | 3,544 | -77% | 1 | 1 | 0% | 1,922 | 1,731 | -10% | 0 | 0 | — |
case-10 | fail→pass | 8,452 | 1,474 | -83% | 1 | 1 | 0% | 1,287 | 1,277 | -1% | 0 | 0 | — |
case-11 | fail→pass | 7,886 | 2,443 | -69% | 1 | 1 | 0% | 1,387 | 1,480 | +7% | 0 | 0 | — |
case-12 | fail→pass | 7,134 | 2,128 | -70% | 1 | 1 | 0% | 1,014 | 1,336 | +32% | 0 | 0 | — |
case-13 | fail→pass | 14,192 | 3,587 | -75% | 1 | 1 | 0% | 2,722 | 1,740 | -36% | 0 | 0 | — |
case-14 | fail→pass | 9,910 | 3,079 | -69% | 1 | 1 | 0% | 1,895 | 1,635 | -14% | 0 | 0 | — |
case-15 | pass→pass | 12,614 | 2,071 | -84% | 1 | 1 | 0% | 1,484 | 1,407 | -5% | 0 | 0 | — |
case-16 | fail→pass | 10,639 | 3,470 | -67% | 1 | 1 | 0% | 1,993 | 1,647 | -17% | 0 | 0 | — |
case-17 | fail→pass | 15,854 | 3,617 | -77% | 1 | 1 | 0% | 2,371 | 1,716 | -28% | 0 | 0 | — |
case-18 | pass→pass | 12,398 | 2,004 | -84% | 1 | 1 | 0% | 1,720 | 1,314 | -24% | 0 | 0 | — |
case-19 | fail→pass | 7,189 | 4,374 | -39% | 1 | 1 | 0% | 1,359 | 2,034 | +50% | 0 | 0 | — |
case-20 | fail→pass | 11,768 | 4,071 | -65% | 1 | 1 | 0% | 2,241 | 1,878 | -16% | 0 | 0 | — |
case-21 | pass→pass | 24,283 | 20,499 | -16% | 1 | 1 | 0% | 4,990 | 4,394 | -12% | 0 | 0 | — |
case-22 | pass→pass | 16,820 | 15,608 | -7% | 1 | 1 | 0% | 3,872 | 4,495 | +16% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +73 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.