Skip to main content
Glama

Private AI Media Generation

Generate an image or video (paid)

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.

Input Schema

NameRequiredDescriptionDefault
extraNoModel-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
imageNoSource 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
payerNoYour 0x… wallet — applies your volume-tier discount; must equal the wallet signing the payment (x402 rail)
videoNoSource 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
image2NoSecond 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
promptNoThe prompt to render — call enhance_prompt first for best results. Not needed for mode=tool models (upscale, remove-bg) — the image is the request
modelIdNoModel id from list_models (default: fastest t2i)
durationNoVideo length in seconds (video models)
resolutionNoVideo resolution tier, or upscale tier for tool models
referenceIdsNoPin media references from search_references (yours or pack refs, ≤4) — fills the model's open image/video inputs as style/content references
useReferencesNoAuto-pick refs from your library by prompt semantics (owner namespace only) — prefer search_references + referenceIds so the user can approve candidates

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / referenceIds
      Added value: +{
      +  "description": "Pin media references from search_references (yours or pack refs, ≤4) — fills the model's open image/video inputs as style/content references",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / useReferences
      Added value: +{
      +  "description": "Auto-pick refs from your library by prompt semantics (owner namespace only) — prefer search_references + referenceIds so the user can approve candidates",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / extra
      Added value: +{
      +  "additionalProperties": {
      +    "type": [
      +      "string",
      +      "number",
      +      "boolean"
      +    ]
      +  },
      +  "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",
      +  "type": "object"
      +}
  3. Changed2 schema fields changed
    • addedInput schema / properties / image2
      Added value: +{
      +  "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",
      +  "type": "string"
      +}
    • addedInput schema / properties / video
      Added value: +{
      +  "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",
      +  "type": "string"
      +}
  4. Changed5 schema fields changed
    • changedInput schema / properties / image / description
      Previous value: -"Source image for i2i/i2v models — public http(s) URL or data:image URI. Use AI-generated or owned images only — never real-person photos without consent"New value: +"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"
    • changedInput schema / properties / payer / description
      Previous value: -"Your 0x… wallet — applies your volume-tier discount; must equal the wallet signing the payment"New value: +"Your 0x… wallet — applies your volume-tier discount; must equal the wallet signing the payment (x402 rail)"
    • changedInput schema / properties / prompt / description
      Previous value: -"The prompt to render — call enhance_prompt first for best results"New value: +"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"
    • changedInput schema / properties / resolution / description
      Previous value: -"Video resolution tier (video models)"New value: +"Video resolution tier, or upscale tier for tool models"
    • removedInput schema / required
      Removed value: -[
      -  "prompt"
      -]
  5. Changed1 schema field changed
    • addedInput schema / properties / payer
      Added value: +{
      +  "description": "Your 0x… wallet — applies your volume-tier discount; must equal the wallet signing the payment",
      +  "type": "string"
      +}
  6. Changed1 schema field changed
    • changedInput schema / properties / image / description
      Previous value: -"Source image for i2i/i2v models — public http(s) URL or data:image URI"New value: +"Source image for i2i/i2v models — public http(s) URL or data:image URI. Use AI-generated or owned images only — never real-person photos without consent"
  7. Changed3 schema fields changed
    • addedInput schema / properties / duration
      Added value: +{
      +  "description": "Video length in seconds (video models)",
      +  "type": "number"
      +}
    • addedInput schema / properties / image
      Added value: +{
      +  "description": "Source image for i2i/i2v models — public http(s) URL or data:image URI",
      +  "type": "string"
      +}
    • addedInput schema / properties / resolution
      Added value: +{
      +  "description": "Video resolution tier (video models)",
      +  "type": "string"
      +}
  8. Added

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Far exceeds what the annotations convey: it discloses that the call is PAID, explains the auth path (x-api-key / Bearer lp_…), describes the exact failure mode without a key (upstream 402 returning x402 USDC-on-Base payment requirements), and states the success shape ({status:'done',url} or a jobId to poll). Annotations only mark it non-read-only and non-idempotent; the description adds the cost, auth, and async-return behavior an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and mode list are front-loaded and every clause carries real information (modes, payment, auth, return). It is dense and dash/parenthesis-heavy, and the payment paragraph is long for a first read, but nothing is redundant padding for a tool this complex.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, 11 optional parameters, and external payment/auth complexity, the description supplies exactly the missing pieces: return shape, jobId polling path, and the no-key 402 behavior. Nothing an agent needs in order to invoke or recover from this call is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds cross-parameter coupling the schema documents only in isolation: which inputs a given mode requires (image-only for tools, image+image2 for face-swap, image+video for motion) and that prompt is unnecessary for mode=tool. That conditional dependency logic is genuine added value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific verbs and resources (render/transform an image or video) and enumerates the exact modes it covers (t2i, i2i, t2v, i2v, tool), including which input each mode consumes. It also names related siblings (list_models for the private=true line, get_job for polling), so an agent can distinguish it from chat_text or recommend_model immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit mode-selection rules: tool models take an image with no prompt, face-swap takes image + image2, motion models take image + video. It also routes the agent to siblings (list_models for modelId, enhance_prompt for prompt quality, get_job for polling, search_references for references), covering both when to use it and what to do alongside it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources