Quick Start (Copy & Run)
Replace only the API key and run. Both patterns below are 1 API call = 1 credit.
Use this single API call and make the Admin upload page change visibly in one shot.
curl -X GET "https://vibeui.org/api/v1/designs/search?q=dramatic+high-contrast+stylish+admin+dashboard+premium+cards+glassmorphism&category=part&limit=1&candidate_pool=100&temperature=1.2&jitter=0.2" -H "Authorization: Bearer vui_sk_xxxxxxxxxxxx" -H "X-Client-App: antigravity" -H "X-AI-Agent: your-model"
Mandatory implementation rules:
1) Apply returned html + css together (never css-only patching).
2) Replace page structure/classes where needed (container/card/header/actions/list rows).
3) Remove conflicting inline styles before applying selected css.
4) Keep scope limited to admin page only (scoped CSS or CSS Modules if not using Tailwind).
5) Target obvious visual delta: typography, spacing scale, card depth, button style, and accent colors.
6) Return before/after summary and changed files.Base URL: https://vibeui.org/api/v1
This block is ready to paste into Antigravity as-is.
Use the exact host https://vibeui.org and avoid extra trailing slashes in API paths to prevent 308 redirect auth-header issues on strict clients.
curl -X GET "https://vibeui.org/api/v1/designs/search?q=surprise+me+with+a+modern+landing+component&category=lp&limit=1" -H "Authorization: Bearer vui_sk_xxxxxxxxxxxx" -H "X-Client-App: antigravity" -H "X-AI-Agent: your-model"curl -X GET "https://vibeui.org/api/v1/designs/search?design_key=glassmorphism+card+dark&category=part&limit=1" -H "Authorization: Bearer vui_sk_xxxxxxxxxxxx" -H "X-Client-App: antigravity" -H "X-AI-Agent: your-model"API Documentation
VibeUI provides a REST API for AI agents and developers to search and retrieve premium UI components. Every design in our library is AI-analyzed with semantic embeddings, enabling natural-language search.
Base URL: https://vibeui.org/api/v1
Authentication
All API requests require a Bearer token. Create an API key from your Dashboard.
Authorization: Bearer vui_sk_xxxxxxxxxxxxFor the fastest test, replace only the API key in the header and keep the full URL host (https://vibeui.org).
Optional Headers
X-Client-AppYour application name (e.g. "cursor", "windsurf")X-AI-AgentAI model identifier (e.g. "claude-3.5-sonnet")Get Design by ID
Retrieve a single published design with full HTML/CSS payload. Search already includes html/css, so this is optional for re-fetch/verification. Requires API key and costs 1 credit. For `theme`, explicit confirmation (`confirm_theme=true`) is required to avoid accidental high-impact fetches.
GET /api/v1/designs/{id}?category={part|lp|theme}&confirm_theme={true|false}Parameters
| Param | Type | Required | Description |
|---|---|---|---|
| id | uuid | ✓ | Design ID from search results or design detail pages |
Example Request
curl -X GET \
"https://vibeui.org/api/v1/designs/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer vui_sk_xxxxxxxxxxxx"Search Designs
Semantically search the design library using natural language. Returns the most relevant designs with full HTML/CSS source code.
GET /api/v1/designs/search?q={query}&category={part|lp|theme}&limit={count}
GET /api/v1/designs/search?design_key={style_key}&category={part|lp|theme}&limit={count}Parameters
| Param | Type | Required | Description |
|---|---|---|---|
| q | string | ✓ | Natural-language search query (for AI-guided discovery) |
| design_key | string | — | Alias for q (for design-specified search) |
| limit | integer | — | 1–20 (default 1) |
Example Request
curl -X GET \
"https://vibeui.org/api/v1/designs/search?q=dark+glassmorphism+card&category=part&limit=3" \
-H "Authorization: Bearer vui_sk_xxxxxxxxxxxx" \
-H "X-Client-App: cursor" \
-H "X-AI-Agent: claude-3.5-sonnet"Example Response
{
"query": "dark glassmorphism card",
"count": 3,
"designs": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"title": "Prismatic Glass Card",
"description": "A glassmorphism card with...",
"score": 0.94,
"html": "<div class=\"glass-card\">...</div>",
"css": ".glass-card { backdrop-filter: blur(12px); ... }",
"tailwind_classes": ["glassmorphism", "card", "dark"],
"metadata": {
"mood": ["elegant", "modern"],
"colorPalette": ["#1a1a2e", "#16213e", "#0f3460"],
"designPattern": "card"
}
}
],
"meta": {
"response_time_ms": 320,
"api_version": "v1",
"credits_used": 1,
"credits_remaining": 99
}
}Submit Design
Submit a new UI component. The AI pipeline will automatically sanitize the code, generate quality scores, extract metadata, and create semantic embeddings.
POST /api/v1/designs/submitRequest Body
{
"html": "<div class=\"my-component\">...</div>",
"css": ".my-component { ... }",
"title": "Optional Custom Title",
"category": "part"
}Response
{
"success": true,
"design": {
"id": "...",
"title": "AI Generated Title",
"description": "...",
"ai_friendly_score": 0.87,
"metadata": {
"tags": ["button", "gradient", "animated"],
"mood": ["playful", "vibrant"],
"colorPalette": ["#ff6b6b", "#ffd93d"],
"designPattern": "button"
}
},
"submissions_today": 3,
"daily_limit": 5
}Credits & Billing
VibeUI uses an atomic credit system. New users receive free credits to get started.
| Action | Cost | Notes |
|---|---|---|
| Search (per request) | 1 credit | Returns up to 20 designs |
| Get design by ID (per request) | 1 credit | Optional re-fetch/verification endpoint |
| Submit design | Free | Limited to 5/day |
Error Codes
| Status | Meaning |
|---|---|
| 400 | Bad Request — missing or invalid parameters |
| 401 | Unauthorized — invalid or missing API key |
| 402 | Payment Required — insufficient credits |
| 429 | Too Many Requests — rate limit or daily submit limit exceeded |
| 500 | Server Error — please retry or contact support |
Rate Limits
API rate limits are enforced per API key.
| Endpoint | Limit |
|---|---|
| /api/v1/designs/search | 60 requests/min |
| /api/v1/designs/submit | 5 per day (free tier) |