MagicMemeCreate

Face swap & MPP

Face swap and Machine Payments

Face swap puts a reference face onto a catalog template. Two production rails. Don't mix them.

Credits (humans). Sign in at /login, buy a pack at /pricing, generate at /tools/face-swap-meme or POST /api/ai/face-swap. Verified email. 10 credits. Consent checkbox (consentAttested: true). Idempotency key on HTTP.

Agentic (MPP). MCP face_swap_meme with settlement=agentic returns paymentLinkPOST /api/agentic/face-swap. First response is HTTP 402 (Machine Payments Protocol). Retry the same POST with a Shared Payment Token plus JSON consentAttested and the face image. $0.50 (face_swap_1). Stripe profile id is networkId when STRIPE_PROFILE_ID is set.

Local stdio is a third rail for developers: omit settlement and pass referenceImageBase64. That spends the process OPENROUTER_API_KEY. Never that for a customer agent.

What you will see (agent)

  1. Call face_swap_meme with a real catalog slug and settlement=agentic.
  2. POST paymentLink. Expect 402, not pixels.
  3. Obtain a Shared Payment Token for the returned networkId (Link CLI --test in sandbox).
  4. Retry the POST with the token, consentAttested: true, and the face in the JSON body.
  5. We generate (primary openai/gpt-image-2, fallback x-ai/grok-imagine-image-quality) and return imageBase64.

If you stop after 402, nothing was generated and nothing should have been charged.

Browsers opening the link (Accept: text/html) go to /pricing. Stripe ACS hooks (order approval, live SKU price, no shipping): POST /api/agentic/hooks.

What you will see (human)

  1. Email OTP at /login.
  2. Buy credits at /pricing.
  3. Open /tools/face-swap-meme, pick a template, upload a face, attest consent, generate.

Face/reference outputs cannot be published via POST /api/shares.

Catalog SKUs

  • pack_50: $5
  • pack_150: $12
  • pack_500: $35
  • face_swap_1: $0.50 (agent per-swap)

The product feed sets disable_checkout=true on the Stripe catalog. Humans check out on-site. Agents use MPP.

What to explore next

Command Palette

Search for a command to run...