Skip to content
Developer · 開發者

API v1

Read-only REST API。無 auth、IP rate-limited、JSON 回應。給 prompt 工程師 / 自動化 pipeline / blog embed 用。

QUICK START
# List prompts
curl https://prompt.luvai.net/api/v1/prompts?limit=10

# Search
curl 'https://prompt.luvai.net/api/v1/prompts?q=midjourney&tool=midjourney'

# Single prompt
curl https://prompt.luvai.net/api/v1/prompts/<slug>

# Tools list
curl https://prompt.luvai.net/api/v1/tools

# OpenAPI spec
curl https://prompt.luvai.net/api/v1/openapi.json
ENDPOINTS
GET/api/v1/promptsList / search prompts+
QUERY PARAMS
qstring?Full-text search query
toolstring?Filter by tool key (midjourney / suno / chat / flux / sd / ideogram / video / chatgpt / claude)
categorystring?Filter by medium: image / video / music / tutorial
limit1-50Default 20
offsetnumberPagination offset
200 RESPONSE
{
  "ok": true,
  "count": 237,
  "limit": 20,
  "offset": 0,
  "prompts": [
    {
      "slug": "midjourney-portrait-cinematic",
      "title": "...",
      "summary": "...",
      "tool": "midjourney",
      "category": "image",
      "tags": ["portrait", "cinematic"],
      "difficulty": "intermediate",
      "url": "https://prompt.luvai.net/prompts/..."
    }
  ]
}
Rate limit: 30/min/IP
GET/api/v1/prompts/[slug]Single prompt detail (full content + ratings)+
200 RESPONSE
{
  "ok": true,
  "prompt": {
    "slug": "...",
    "title": "...",
    "preview": "first-line preview",
    "full_prompt": "complete prompt text",
    "context": "when to use / why",
    "variables": [{"name": "subject", "description": "..."}],
    "sample_output": "...",
    "rating": { "avg": 4.6, "count": 32 },
    "updated_at": "2026-05-13"
  }
}
Rate limit: 60/min/IP
GET/api/v1/toolsList all supported AI tools + per-tool prompt count+
200 RESPONSE
{
  "ok": true,
  "tools": [
    {
      "key": "midjourney",
      "label": "Midjourney",
      "label_en": "Midjourney",
      "medium": "image",
      "description": "...",
      "prompt_count": 42,
      "url": "https://prompt.luvai.net/tools/midjourney"
    }
  ]
}
Rate limit: 30/min/IP
GET/api/v1/changelogRecently updated prompts (default last 30 days). Polling-friendly.+
QUERY PARAMS
days1-365Lookback window, default 30
limit1-100Max items returned, default 50
200 RESPONSE
{
  "ok": true,
  "days": 30,
  "count": 28,
  "prompts": [
    {
      "slug": "midjourney-portrait-cinematic",
      "title": "...",
      "tool": "midjourney",
      "category": "image",
      "difficulty": "intermediate",
      "updated_at": "2026-05-13",
      "url": "https://prompt.luvai.net/prompts/..."
    }
  ]
}
Rate limit: 30/min/IP
RATE LIMITS

IP-based:30 requests / minute for list / search、60/min for single detail。

超過會回 HTTP 429 + Retry-After header。寫入 cron / pipeline 前先 hard-cap 30 req/min 比較不會被擋。

不限 daily 配額。只要符合 per-minute、可以一直打。

ROADMAP
  • API key auth(Pro 用戶可拿、解 rate limit、寫入動作如 favorite / 評分)— 收費模型未定
  • v2 write endpoints(submit prompt、rate prompt、comment)需 auth
  • Webhooks(new prompt published / 某 tool 新增)
  • GraphQL gateway(如果 dev 真的喊)

要哪個先做?寄信給 promptcraft@prompt.luvai.net

MORE