# Private AI Media Generation

> Paid AI image/video generation for agents — x402 USDC or API key, no account needed.

- name: com.livepairai/livepair-hub
- version: 1.0.1
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 72/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.livepairai%2Flivepair-hub
- tools: https://api.protogrid.dev/v1/servers/com.livepairai%2Flivepair-hub/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "livepair-hub": {
      "type": "http",
      "url": "https://livepairai.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 98
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-95% +updated-12d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 72/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 14 of 14 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 4 of 14 tools declare all four hints; missing: get_prompt (idempotentHint); enhance_prompt (idempotentHint); recommend_model (idempotentHint); …
- pass `tools.token_cost`: about 2,850 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 23 tool changes in 30 days
- fail `stability.rug_pull`: 2 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 14, about 2,850 tokens to load them all
- tool set hash: 3af7710ad23fb147766e108bbcbe14ad
- tools last changed: 2026-10-15T21:12:29.642Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.livepairai/livepair-hub.svg)](https://protogrid.dev/servers/com.livepairai/livepair-hub)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-15 `list_reference_packs` added
  - Curated moodboards usable as generation references — each pack is a cohesive look (lighting/grade/mood: golden-hour, neon-night, noir-bw…). Read-shared for everyone; pick one for the user's intent, search inside it via search_references(pack), then pin chosen refs via referenceIds.
- 2026-10-15 `search_references` added
  - Semantic search over your media-reference library AND shared curated moodboards — describe the look you want ('warm golden diner', 'neon night street') and get candidate images/clips with preview urls to show the user. Pass 'pack' to search inside one moodboard picked from list_reference_packs. With your lp_ key on this request your own uploaded refs are included; without it only the curated packs are searched. This tool never attaches: discuss candidates with the user, then pin chosen ids via referenceIds on generate_image.
- 2026-10-15 `generate_image` changed (inputSchema)
- 2026-10-14 `generate_image` changed (description, inputSchema)
  - before: Render or transform an image or video with a catalog model (t2i, i2i, t2v, i2v, tool — tools like upscale/remove-background take image with no prompt) — including the private model line flagged private=true in list_models. PAID. If this MCP request carries your API key (x-api-key / Authorization: Bearer lp_… — create at https://livepairai.com/settings after /auth/sign-up) the run executes right here and returns {status:'done',url} or a jobId to poll with get_job. Without a key the upstream answers 402 and this tool returns the x402 payment requirements (USDC on Base) for your wallet to settle.
  - after: Render or transform an image or video with a catalog model (t2i, i2i, t2v, i2v, tool — tools like upscale/remove-background take image with no prompt; face-swap takes image + image2; motion models take image + video) — including the private model line flagged private=true in list_models. PAID. If this MCP request carries your API key (x-api-key / Authorization: Bearer lp_… — create at https://livepairai.com/settings after /auth/sign-up) the run executes right here and returns {status:'done',url} or a jobId to poll with get_job. Without a key the upstream answers 402 and this tool returns the x402 payment requirements (USDC on Base) for your wallet to settle.
- 2026-10-08 `get_balance` added
  - Prepaid credit balance and recent ledger for the API key on this MCP request — needs an lp_ key (x-api-key / Bearer).
- 2026-10-08 `get_job` changed (description, inputSchema, annotations)
  - before: Check a running job returned by the paid generate endpoint — free. Returns {status:'done',url} | running | failed.
  - after: Check a running job returned by generate_image — free. Returns {status:'done',url} | running | failed.
- 2026-10-08 `chat_text` changed (title, description, inputSchema, annotations) **meaning changed**
  - before: Get the paid endpoint for OpenAI-compatible chat completions — frontier and open-weight models (Claude, DeepSeek, GLM, GPT, Gemini, Grok, Kimi, Llama, Qwen; list under textModels in GET /v1/agent/models). PAID call, two rails: x402 (endpoint answers 402, wallet settles, retry with PAYMENT-SIGNATURE → {choices, usage}) or account API key (`x-api-key: lp_…` — create at https://livepairai.com/settings after signing up; bills prepaid credits, no 402). Price = estimated input tokens × input rate + max_tokens × output rate — set max_tokens tight to bill tight. Metering keeps token counts only.
  - after: OpenAI-compatible chat completions — frontier and open-weight models (list under textModels in GET /v1/agent/models). PAID. If this MCP request carries your API key (x-api-key / Bearer lp_…) the completion executes right here and returns {choices, usage}; without a key the upstream answers 402 and this tool returns the x402 payment requirements. Price = estimated input tokens × input rate + max_tokens × output rate — set max_tokens tight to bill tight. Metering keeps token counts only.
- 2026-10-08 `generate_image` changed (title, description, inputSchema, annotations)
  - before: Render or transform an image or video with a catalog model (t2i, i2i, t2v, i2v, tool — tools like upscale/remove-background take image with no prompt) — including the private model line flagged private=true in list_models. This is a PAID call, two rails: (1) x402 — the endpoint answers HTTP 402 with payment requirements (USDC on Base mainnet — priced per call, video billed per second per model rate); retry with a PAYMENT-SIGNATURE header settling one requirement (use an x402-capable client like @x402/fetch). (2) API key — sign up at https://livepairai.com/auth/sign-up, create a key at /settings, send `x-api-key: lp_…`; the call bills your prepaid credit balance and skips the 402 entirely. On success returns {status:'done',url}; slow jobs return a jobId to poll for free.
  - after: Render or transform an image or video with a catalog model (t2i, i2i, t2v, i2v, tool — tools like upscale/remove-background take image with no prompt) — including the private model line flagged private=true in list_models. PAID. If this MCP request carries your API key (x-api-key / Authorization: Bearer lp_… — create at https://livepairai.com/settings after /auth/sign-up) the run executes right here and returns {status:'done',url} or a jobId to poll with get_job. Without a key the upstream answers 402 and this tool returns the x402 payment requirements (USDC on Base) for your wallet to settle.
- 2026-10-08 `recommend_model` changed (description, inputSchema)
  - before: Decide which model fits a need — returns the modelId to use with generate_image. Cheapest, fastest, or highest quality; for images or video; with or without a source image. Pass private:true to restrict to the private AI model line (i2v models).
  - after: Decide which model fits a need — returns the modelId to use with generate_image. Cheapest, fastest, or highest quality; for images, video, or utility tools (upscale, background removal); with or without a source image. Pass private:true to restrict to the private AI model line (i2v models).
- 2026-10-08 `generate_image` changed (description)
  - before: Render an image or video with a catalog model (t2i, i2i, t2v, i2v) — including the private model line flagged private=true in list_models. This is a PAID call, two rails: (1) x402 — the endpoint answers HTTP 402 with payment requirements (USDC on Base mainnet — priced per call, video billed per second per model rate); retry with a PAYMENT-SIGNATURE header settling one requirement (use an x402-capable client like @x402/fetch). (2) API key — sign up at https://livepairai.com/auth/sign-up, create a key at /settings, send `x-api-key: lp_…`; the call bills your prepaid credit balance and skips the 402 entirely. On success returns {status:'done',url}; slow jobs return a jobId to poll for free.
  - after: Render or transform an image or video with a catalog model (t2i, i2i, t2v, i2v, tool — tools like upscale/remove-background take image with no prompt) — including the private model line flagged private=true in list_models. This is a PAID call, two rails: (1) x402 — the endpoint answers HTTP 402 with payment requirements (USDC on Base mainnet — priced per call, video billed per second per model rate); retry with a PAYMENT-SIGNATURE header settling one requirement (use an x402-capable client like @x402/fetch). (2) API key — sign up at https://livepairai.com/auth/sign-up, create a key at /settings, send `x-api-key: lp_…`; the call bills your prepaid credit balance and skips the 402 entirely. On success returns {status:'done',url}; slow jobs return a jobId to poll for free.

Full history: https://api.protogrid.dev/v1/servers/com.livepairai%2Flivepair-hub/changes

## Remotes

- https://livepairai.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.94545454)

## Packages

_none_

## Tools (14)

- `chat_text`: OpenAI-compatible chat completions — frontier and open-weight models (list under textModels in GET /v1/agent/models). PAID. If this MCP request carries your API key (x-api-key / Bearer lp_…) the completion executes right here and returns {choices, usage}; without a key the upstream answers 402 and this tool returns the x402 payment requirements. Price = estimated input tokens × input rate + max_tokens × output rate — set max_tokens tight to bill tight. Metering keeps token counts only.
- `enhance_prompt`: Rewrite a rough prompt idea into the structured form our image models follow best (subject, composition, style, negatives). Use before generate_image — better input, better output.
- `generate_image`: Render or transform an image or video with a catalog model (t2i, i2i, t2v, i2v, tool — tools like upscale/remove-background take image with no prompt; face-swap takes image + image2; motion models take image + video) — including the private model line flagged private=true in list_models. PAID. If this MCP request carries your API key (x-api-key / Authorization: Bearer lp_… — create at https://livepairai.com/settings after /auth/sign-up) the run executes right here and returns {status:'done',url} or a jobId to poll with get_job. Without a key the upstream answers 402 and this tool returns the x402 payment requirements (USDC on Base) for your wallet to settle.
- `get_balance`: Prepaid credit balance and recent ledger for the API key on this MCP request — needs an lp_ key (x-api-key / Bearer).
- `get_job`: Check a running job returned by generate_image — free. Returns {status:'done',url} | running | failed.
- `get_pack`: A themed bundle of curated prompt picks (themes: anime, portrait, landscape, product, character, sci-fi, fantasy, abstract, food, architecture). Curated packs are rebuilt daily and carry real paid-run counts — prompts that already produced paid results. Falls back to a live topic search when no pack covers the theme.
- `get_prompt`: Fetch one community prompt card by id — the verbatim prompt, model it ran on, the result media, like/view counts, and a studio link that preloads it.
- `list_models`: List the public image and video generation catalog — id, label, mode (text-to-image, image-to-video, etc), rough generation time, and private flag (private AI models — i2i/i2v source images must be AI-generated or owned, no real-person photos without consent).
- `list_reference_packs`: Curated moodboards usable as generation references — each pack is a cohesive look (lighting/grade/mood: golden-hour, neon-night, noir-bw…). Read-shared for everyone; pick one for the user's intent, search inside it via search_references(pack), then pin chosen refs via referenceIds.
- `quote_price`: Exact USDC price for a model+settings combo before paying — images are flat per call, video is per-second × duration at the resolution tier. The x402 endpoint always re-quotes from the body, so this is the same number it would charge.
- `recommend_model`: Decide which model fits a need — returns the modelId to use with generate_image. Cheapest, fastest, or highest quality; for images, video, or utility tools (upscale, background removal); with or without a source image. Pass private:true to restrict to the private AI model line (i2v models).
- `search_prompts`: Keyword search over the community prompt library — tested AI image and video prompts with the results they produced. Use for style/subject/model lookups. For trending or most-used prompts call trending_prompts instead. Returns prompt text, model, result media, and a link to run it.
- `search_references`: Semantic search over your media-reference library AND shared curated moodboards — describe the look you want ('warm golden diner', 'neon night street') and get candidate images/clips with preview urls to show the user. Pass 'pack' to search inside one moodboard picked from list_reference_packs. With your lp_ key on this request your own uploaded refs are included; without it only the curated packs are searched. This tool never attaches: discuss candidates with the user, then pin chosen ids via referenceIds on generate_image.
- `trending_prompts`: Use when the user asks for trending, most-used, most popular, or top prompts — do NOT keyword-search for these. Returns community prompt cards ranked by the paid generations they actually drove.
