
Paid AI image/video generation for agents — x402 USDC or API key, no account needed.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
The text request — your user message
Text model id (see textModels in list_models)
Your 0x… wallet — volume-tier discount (x402 rail)
Output cap, billed at this amount
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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.
| Argument | Type | Description |
|---|---|---|
| model | string | Text model id (see textModels in list_models) |
| payer | string | Your 0x… wallet — volume-tier discount (x402 rail) |
| prompt* | string | The text request — your user message |
| maxTokens | number | Output cap, billed at this amount |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"prompt"
],
"properties": {
"model": {
"type": "string",
"description": "Text model id (see textModels in list_models)"
},
"payer": {
"type": "string",
"description": "Your 0x… wallet — volume-tier discount (x402 rail)"
},
"prompt": {
"type": "string",
"description": "The text request — your user message"
},
"maxTokens": {
"type": "number",
"description": "Output cap, billed at this amount"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| mode | string | Target mode — pass the model's mode so the rewrite matches (default t2i) |
| prompt* | string | The raw prompt idea to improve |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"prompt"
],
"properties": {
"mode": {
"enum": [
"t2i",
"i2i",
"t2v",
"i2v"
],
"type": "string",
"description": "Target mode — pass the model's mode so the rewrite matches (default t2i)"
},
"prompt": {
"type": "string",
"description": "The raw prompt idea to improve"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| extra | object | Model-specific settings keyed by the names in the model's `extraSettings` (list_models) — e.g. {quality:'720p'} for pixverse-motion, {targetGender:'female'} for face swaps |
| image | string | Source image — required for i2i/i2v/tool models. Public http(s) URL or data:image URI. Use AI-generated or owned images only — never real-person photos without consent |
| payer | string | Your 0x… wallet — applies your volume-tier discount; must equal the wallet signing the payment (x402 rail) |
| video | string | Source clip — required for motion-control and video-face-swap models (motion reference or swap target). https URL or data:video URI, ≤40MB. Priced on the clip's measured length |
| image2 | string | Second image input — the face to place on face-swap models (image-face-swap, video-face-swap). Same URL/data:image rules; use only faces you have consent to use |
Prepaid credit balance and recent ledger for the API key on this MCP request — needs an lp_ key (x-api-key / Bearer).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Check a running job returned by generate_image — free. Returns {status:'done',url} | running | failed.
| Argument | Type | Description |
|---|---|---|
| jobId* | string | jobId returned by the generate endpoint |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "string",
"description": "jobId returned by the generate endpoint"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| topic* | string | Topic tag, e.g. anime, product, portrait |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"topic"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1
},
"topic": {
"type": "string",
"description": "Topic tag, e.g. anime, product, portrait"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| id* | string | Card id from search_prompts or trending_prompts |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Card id from search_prompts or trending_prompts"
}
},
"additionalProperties": false
}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).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}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.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}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.
| Argument | Type | Description |
|---|---|---|
| payer | string | Your 0x… payer wallet — applies your volume-tier discount |
| modelId* | string | Model id from list_models |
| duration | number | Video seconds (video models) |
| imageSize | string | Image size label |
| resolution | string | Video resolution tier |
| aspectRatio | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"modelId"
],
"properties": {
"payer": {
"type": "string",
"description": "Your 0x… payer wallet — applies your volume-tier discount"
},
"modelId": {
"type": "string",
"description": "Model id from list_models"
},
"duration": {
"type": "number",
"description": "Video seconds (video models)"
},
"imageSize": {
"type": "string",
"description": "Image size label"
},
"resolution": {
"type": "string",
"description": "Video resolution tier"
},
"aspectRatio": {
"type": "string"
}
},
"additionalProperties": false
}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).
| Argument | Type | Description |
|---|---|---|
| goal* | string | What to optimize for |
| media* | string | Output type — 'tool' = image transforms (upscale, remove-bg) |
| private | boolean | True to consider only the private AI model line |
| hasSourceImage | boolean | True when a source image drives the job (forces i2i/i2v/tool) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"goal",
"media"
],
"properties": {
"goal": {
"enum": [
"cheapest",
"fastest",
"best_quality"
],
"type": "string",
"description": "What to optimize for"
},
"media": {
"enum": [
"image",
"video",
"tool"
],
"type": "string",
"description": "Output type — 'tool' = image transforms (upscale, remove-bg)"
},
"private": {
"type": "boolean",
"description": "True to consider only the private AI model line"
},
"hasSourceImage": {
"type": "boolean",
"description": "True when a source image drives the job (forces i2i/i2v/tool)"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| kind | string | Optional media type filter |
| limit | integer | Max results (default 8) |
| query* | string | What to look for — style, subject, or model name (e.g. 'cinematic portrait', 'anime pose') |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"kind": {
"enum": [
"image",
"video",
"agent"
],
"type": "string",
"description": "Optional media type filter"
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Max results (default 8)"
},
"query": {
"type": "string",
"description": "What to look for — style, subject, or model name (e.g. 'cinematic portrait', 'anime pose')"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| k | number | Max candidates (default 8, max 20) |
| pack | string | Scope search to one moodboard slug from list_reference_packs (e.g. 'neon-night') |
| query* | string | Describe the look/mood/style — matched semantically against reference media |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"k": {
"type": "number",
"description": "Max candidates (default 8, max 20)"
},
"pack": {
"type": "string",
"description": "Scope search to one moodboard slug from list_reference_packs (e.g. 'neon-night')"
},
"query": {
"type": "string",
"description": "Describe the look/mood/style — matched semantically against reference media"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results (default 10) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Max results (default 10)"
}
},
"additionalProperties": false
}| prompt |
| string |
| The prompt to render — call enhance_prompt first for best results. Not needed for mode=tool models (upscale, remove-bg) — the image is the request |
| modelId | string | Model id from list_models (default: fastest t2i) |
| duration | number | Video length in seconds (video models) |
| resolution | string | Video resolution tier, or upscale tier for tool models |
| referenceIds | array | Pin media references from search_references (yours or pack refs, ≤4) — fills the model's open image/video inputs as style/content references |
| useReferences | boolean | Auto-pick refs from your library by prompt semantics (owner namespace only) — prefer search_references + referenceIds so the user can approve candidates |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"extra": {
"type": "object",
"description": "Model-specific settings keyed by the names in the model's `extraSettings` (list_models) — e.g. {quality:'720p'} for pixverse-motion, {targetGender:'female'} for face swaps",
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"image": {
"type": "string",
"description": "Source image — required for i2i/i2v/tool models. Public http(s) URL or data:image URI. Use AI-generated or owned images only — never real-person photos without consent"
},
"payer": {
"type": "string",
"description": "Your 0x… wallet — applies your volume-tier discount; must equal the wallet signing the payment (x402 rail)"
},
"video": {
"type": "string",
"description": "Source clip — required for motion-control and video-face-swap models (motion reference or swap target). https URL or data:video URI, ≤40MB. Priced on the clip's measured length"
},
"image2": {
"type": "string",
"description": "Second image input — the face to place on face-swap models (image-face-swap, video-face-swap). Same URL/data:image rules; use only faces you have consent to use"
},
"prompt": {
"type": "string",
"description": "The prompt to render — call enhance_prompt first for best results. Not needed for mode=tool models (upscale, remove-bg) — the image is the request"
},
"modelId": {
"type": "string",
"description": "Model id from list_models (default: fastest t2i)"
},
"duration": {
"type": "number",
"description": "Video length in seconds (video models)"
},
"resolution": {
"type": "string",
"description": "Video resolution tier, or upscale tier for tool models"
},
"referenceIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Pin media references from search_references (yours or pack refs, ≤4) — fills the model's open image/video inputs as style/content references"
},
"useReferences": {
"type": "boolean",
"description": "Auto-pick refs from your library by prompt semantics (owner namespace only) — prefer search_references + referenceIds so the user can approve candidates"
}
},
"additionalProperties": false
}