Compose inside another workflow
Keep the upstream script, prompt, model/provider, count and approved budget. Creative helpers are optional. Use persistent UUIDrequestId, wait: false, structured results and check_generation to submit frames/videos and resume them without re-approving every step. The caller owns bounded scheduling, previews and downloads. See the complete workflow contract and examples.
Account login
For clients supporting Streamable HTTP and OAuth, add the server URL above, choose Connect / Authenticate, then sign in to MeiGen in your browser and approve the requested permissions. No API key or shared client secret is needed. Clients identify themselves through public client metadata (CIMD) or dynamic registration (DCR); they do not need a brand-specific MeiGen allowlist. This flow supports public-client authentication (none) with S256 PKCE.
Check the app name, client identifier and return address on the consent page. Self-registered names are not verified by MeiGen. Authorization lasts up to 30 days and can be revoked in Connected apps. Paid calls use purchased credits only, never daily free credits or Web free attempts.
General OAuth requires server rollout and support in your client version. If the server does not advertise automatic registration or the host cannot log in, use a compatible host or the official ChatGPT plugin; do not create an API key as a fallback. Supporting MCP alone does not guarantee support for remote HTTP or OAuth.
Codex
bearer_token_env_var when switching that entry to OAuth. Keep other servers. See the official Codex guide.
Claude
/mcp. See the official Claude guide. No preconfigured MeiGen client ID is required for automatic registration.
OpenClaw
Install MeiGen from ClawHub using a current OpenClaw release with native HTTP MCP and OAuth (validated with 2026.9.9):mcp.servers.meigen entry even when the plugin supplies the server; the saved entry overrides the bundle default without duplicating tools. If meigen exists, add refuses to overwrite it. Reuse a matching OAuth connection; do not blindly run mcp set.
Run openclaw mcp doctor meigen --probe, start a new conversation, and ask MeiGen to list Skills and current prices. Installation alone is not proof of access. The plugin includes guidance for search pagination, using favorites as preference context, and saving only on explicit request or prior opt-in. Private library tools require the additional library OAuth permissions.
ClawHub plugin 4.0 changes the default from local npm/stdio to remote OAuth. Back up your existing configuration before updating. Saved local, wrapper or BYOK entries are not migrated and still override the default. Choose whether to retain local capabilities or deliberately replace the active entry with OAuth; preserve old credentials privately and keep one active MeiGen connection. Remote MCP cannot directly read local files and does not offer local preferences, prompt enhancement or BYOK. Legacy compatibility.
Cursor and other HTTP clients
Add the URL using your client’s Streamable HTTP connection form, then choose Connect / Authenticate. For clients usingmcpServers JSON, the minimal entry is:
"type": "http". New users need an OAuth-capable host; local npm is retained for existing legacy/BYOK integrations.
ChatGPT custom connections
If your account/workspace offers Developer mode and custom MCP connections, add the URL above with OAuth and use automatic registration when offered. Complete the MeiGen account consent flow. Follow OpenAI’s current setup. Do not put a MeiGen API key in the OAuth client-secret field. This manual connection is separate from the official ChatGPT plugin, which provides result cards in your conversation. Availability depends on your plan/workspace and server rollout. With No Authentication, only public tools work; uploads, generation, requestId recovery and private Skill results require authorization. The manual CLI and plugin use different configuration flows; a chat instruction cannot install npm inside ChatGPT web.Moving an existing local connection to OAuth
Use OAuth for new MeiGen connections. Existing local stdio integrations can retain their legacy key configuration until migration; external-provider BYOK is a separate local option. When switching to remote OAuth, remove any fixed Authorization header and complete account sign-in in the host. Do not create another MeiGen key or send credentials in chat.Existing remote connections with a fixed Authorization header retain legacy compatibility for generation, public search and Skills. API keys cannot access favorites, boards, history or private item details. Remove the fixed header before switching to OAuth. This compatibility is not a new-connection option.
Tools
Standard remote MCP provides 22 tools: 15 shared tools, five private-library tools,get_credit_balance and list_characters. The official ChatGPT adapter also exposes 22 tools, with its own schema and result cards. Refresh the host’s cached tools after an update; store metadata review is separate from runtime discovery.
Private library
search_favorites, list_boards, search_history, get_library_item and save_favorite require OAuth. Approve meigen:library:read to read your library and meigen:library:write to save favorites; existing connections need consent for these additional permissions. Local npm and all API keys are excluded. The official ChatGPT adapter supports these tools too; their display depends on refreshed host discovery and permission consent.
Lists return promptExcerpt (at most 500 Unicode code points), promptLength and promptTruncated. get_library_item takes the original contentType / sourceId, promptOffset (default 0) and promptLimit (default 8000, maximum 16000). All offsets and lengths count Unicode code points. prompt.length is the total safe prompt length; nextOffset=null marks the final page. Detailed data is returned once in structuredContent. Saving requires explicit intent, preserves existing notes and never publishes content; favorites_limit_reached means the account’s favorite entitlement is full, not a generation-credit shortage.
Balance and saved characters
get_credit_balance returns the purchased balance available to this integration, excluding daily free credits. list_characters requires separate meigen:characters:read consent. Select an existing character, use its exact referenceToken in the prompt, and check the chosen model’s capabilities.characters first. Existing grants do not gain this permission automatically. Creating characters is not supported; API keys and local npm cannot read or use private characters.
First successful check
Reconnect, then ask: “List MeiGen’s available Skills and current prices.” Verify that an actual tool call succeeds; registration alone is not connection proof. It does not generate or spend credits. Then supply the required material and request one of the five workflows. Skills return after submission and usecheck_skill; generic generation recovery uses check_generation.
Standard remote search_gallery defaults to and returns at most 3 entries per batch. Its schema accepts integer limit values from 1 to 30 for compatibility and clamps them to 3. Search can run anonymously with per-IP limits. With OAuth, starting a search uses the account’s daily search allowance, not purchased credits; continuation pages do not count again.
For another batch, preserve query, limit and snapshotId, and use nextOffset as offset; stop when hasMore is false. Snapshot expiry requires an explicit new search. Change the query only for a new direction. The official ChatGPT plugin defaults to and allows at most 6 results after discovery refresh, and requires OAuth search permission. Its limits and authorization rules must not be applied to the standard endpoint.
Remote tools cannot read a local filesystem path. Use a public image URL or upload_skill_image with actual accessible bytes. For Upscale, pass the original URL directly or upload with purpose: "upscale"; do not downsize it as an ordinary reference first.
GPT Image 2.5 options
Whenlist_models includes gpt-image-2.5, generate_image accepts all five quality levels and modelVariant: "sunburst" (quality priority, default) or "flare" (speed priority). The two variants have the same credit price. Example tool arguments:
referenceImages for editing or visual guidance. The UUID shown is illustrative: allocate and persist your own requestId once per logical attempt, then reuse it only with the exact inputs for recovery. wait: false returns after submission. Use check_generation with requestId or generationId after an interruption. Legacy attemptId remains accepted; new integrations should use requestId. See model pricing for the full matrix.
Reference video and audio
Useupload_reference_media with kind: "video" or "audio", the selected modelId, optional tier, and a direct HTTPS sourceUrl. With the user’s permission, import the selected material and pass its returned url to referenceVideos / referenceAudios. Remote tools cannot read local paths; host attachments need an accessible download URL (the official ChatGPT adapter accepts its attachment shape directly). Existing local npm can also prepare local files. An arbitrary external URL passed straight to generation is rejected before charging.
Preparation requires a positive purchased balance, but does not deduct credits. Model-specific size, format and duration limits apply; daily byte and concurrency limits prevent bulk hosting. Links are public, temporary and scheduled for cleanup seven days after upload, including references already used in a generation.
Use firstFrame / lastFrame for endpoint frames and contentReferenceImages for content/style/identity. Pass an empty content array for endpoint-only requests. Check capabilities.videoInputs, including tier overrides, for supported roles, counts and mutual exclusions. A last frame requires a first frame; saved characters use content slots and cannot be mixed with strict endpoint frames.
capabilities.videoInputs.referenceMentionSyntax for the model’s binding syntax; numbering is 1-based within each media kind. Use pricingMode and capabilities.video.billing for the quote: input-video seconds are added only when the model declares that billing mode. output_only bills only output. Audio seconds are not charged, but audio/content images can select a reference rate. HeyGen’s adapter is ready but its model remains disabled until separately enabled in the live catalog. Preserve the original requestId and exact references during recovery.
Remote and local
Existing local integrations do not need to switch immediately; their local-only capabilities do not migrate. New MeiGen connections use remote OAuth. See legacy local setup and upgrade notes.
upload_skill_image requires a positive purchased-credit balance and does not charge for generation. For Upscale attachments set purpose: "upscale". Every upscale_image MCP call, including the first, requires confirmedCredits from the current list_skills quote within the accepted user or upstream workflow budget; reuse explicit acceptance.