Read-only API
Search the Genvizu prompt library and compose Skill prompts over HTTP with an API key.
Last updated: 2026-09-24
The Genvizu read-only API (v1) lets your scripts and agents search the prompt library, read a prompt's full details, browse the public Skills catalog, and compose a Skill prompt from parameters. It is read-only: it never generates images or videos and never spends credits. API access is included with the Pro and Ultimate plans.
The machine-readable spec is at /openapi.json (OpenAPI 3.1).
Quick start
- On a Pro or Ultimate plan, open Settings → API Keys and create a key (up to 5 keys per account). The key (starting with
sk_) is shown once, so store it somewhere safe. - Send it on every request as a Bearer token.
curl -H "Authorization: Bearer sk_your_key" \
"https://genvizu.com/api/v1/prompts/search?q=cyberpunk%20city&pageSize=10"
Node.js (18+ has fetch built in):
const res = await fetch(
'https://genvizu.com/api/v1/prompts/search?q=product%20photo&model=gpt-image-2',
{ headers: { Authorization: `Bearer ${process.env.GENVIZU_API_KEY}` } }
);
const body = await res.json();
if (!res.ok) throw new Error(`${body.error.code}: ${body.error.message}`);
for (const item of body.data) {
console.log(item.title, item.prompt, item.attribution.page_url);
}
Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /api/v1/prompts/search | Search prompts. Parameters: q, category, model, mediaType, tag, sort (latest / hot / random, default featured), page (1–10), pageSize (1–20, default 20), locale (en / zh). Out-of-range paging returns 400. List items include thumbnail_url only. |
| GET | /api/v1/prompts/{id} | One prompt with all segments, full media_urls and attribution. |
| GET | /api/v1/skills | Published Skills: name, description, parameters, input requirements, defaults, cover. |
| POST | /api/v1/skills/{id}/compose | Compose a ready-to-use prompt from Skill parameters. Nothing is generated and no credits are used. |
| GET | /api/v1/me | Your credit balance, plan and today's API quota. Does not count toward the quota. |
Compose request body (all fields optional):
{ "prompt": "a matte black water bottle", "params": { "scene": "studio" }, "strength": "mid" }
Responses
Successful responses look like { "data": ..., "meta": ... }. Quota-counted calls also return meta.quota with limit, used and remaining. Errors look like { "error": { "code": "...", "message": "..." } }. Responses are never cached (Cache-Control: private, no-store).
Prompt text follows the same visibility rules as the website. You get the full text, except for posts that are individually paid: those stay truncated to the first 120 characters and are marked prompt_locked: true. Every item carries attribution (author, source link, platform and the Genvizu page). Media are returned as public URLs only: search results carry the thumbnail, and the detail endpoint carries the full media list.
Daily quota
Quotas are per account, shared by all your keys, and reset at 00:00 UTC. Keep at least 1 second between requests on the same key.
| Plan | Requests per day |
|---|---|
| Free, credit packs, Starter | No API access |
| Pro | 1,000 |
| Ultimate | 3,000 |
Responses to quota-counted calls include X-RateLimit-Limit and X-RateLimit-Remaining.
Error codes
| HTTP | code | Meaning |
|---|---|---|
| 400 | invalid_params | Malformed body or parameter, or input rejected by the content policy. |
| 401 | unauthorized | Missing, malformed, deleted or unknown API key. |
| 403 | plan_required | Your plan has no API access. Upgrade to Pro or Ultimate. |
| 403 | forbidden | Account suspended, email not verified, or the Skill needs a higher plan. |
| 404 | not_found | The prompt or Skill does not exist or is not public. |
| 429 | rate_limited | Daily quota used up or requests too fast. Wait for the Retry-After seconds. |
| 503 | unavailable | The API is temporarily switched off. Try again later. |
Data terms
API data is provided for search and reference. It carries no license to train or fine-tune models. Keep the attribution when you display a prompt. We may change quotas and suspend keys that abuse the API. See the Terms of Service.
Coming soon: MCP server
An MCP server that exposes the same read-only tools to Claude, Cursor and other MCP clients is on the way.