
PopNow API
io.github.popnow-ai由 GitHub 帳號 popnow-ai 發布v0.3.0更新於 Nov 3, 2026
Developer MCP for PopNow: run any AI image, video and audio model with an API key, billed in USD.
概覽
託管式 PopNow MCP 伺服器,讓助理透過付費 AI 模型生成與編輯圖片、影片、音樂和語音,費用從 API 餘額以美元扣款。
- 可以做什麼
- 建立與編輯圖片:生成、改圖、放大、去背、擦除物件、擴圖、重新打光、換姿勢或視角、拆分圖層
- 建立與編輯影片與音訊:文字生成影片、影片編輯、延長、動作轉移、音效、音樂、語音、轉錄,以及免費合成為單一 MP4
- 用 create_task 依精確 API ID 呼叫任一模型,並列出模型及其輸入參數
- 追蹤任務:查詢執行中的任務、列出近期作品、查看 API 餘額
- 使用已儲存的配方、畫布工作流程與代理技能,包括尋找並安裝技能
- 適用情境
- 適合希望助理在對話中直接產出或修改媒體(圖片、短片、音樂、配音)的情境,也適合用單一連線存取多種影像、影片與音訊模型,並在每次呼叫前取得美元報價與確認。
- 執行需求
- 需要 PopNow API 金鑰(sk-popnow-...,來自 API 主控台),以 Authorization Bearer 標頭或 POPNOW_API_KEY 環境變數提供;付費呼叫需帳戶有餘額。遠端端點無需安裝;僅支援本機 stdio 的用戶端可用 npx 執行 @popnow/mcp 橋接,需 Node.js 18 以上版本。POPNOW_MCP_URL 可覆寫端點位址。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 PopNow API,將其新增到工作區。
- 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
交給代理程式安裝
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/io.github.popnow-ai%2Fpopnow-api-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。
{
"mcpServers": {
"popnow-api": {
"type": "http",
"url": "https://api.popnow.ai/api/v1/mcp"
}
}
}README
PopNow Developer MCP Server: call any AI image, video and audio model from Claude Code, Cursor, Codex and your own code
[MIT License] [MCP Streamable HTTP] [npm] [Docs]
The PopNow Developer MCP Server is a hosted Model Context Protocol server at https://api.popnow.ai/api/v1/mcp for developers. Add it to Claude Code, Cursor, Codex, VS Code or your own MCP client with a PopNow API key, and your agent can create images, videos, music and voiceovers, run any model by its API ID, follow tasks and install agent skills over one connection.
There is nothing to host. Every paid call is quoted in USD first and charged to your API balance only after you approve it. The key's model allow-list, IP allow-list and spend caps apply exactly as on the PopNow REST API.
This repository contains the setup guide, copy-paste client configs in examples/, an MCP registry manifest, and @popnow/mcp, a small stdio bridge for clients that only start local servers.
Want PopNow inside the ChatGPT or Claude apps with your PopNow account and website credits? Use popnow-mcp and popnow.ai/mcp instead.
Contents
- At a glance
- Quickstart
- Connect your client: Claude Code · Cursor · VS Code · Windsurf · Codex · Cline · Claude Desktop and stdio-only clients · Other clients · From your own code
- Tools
- Quotes and approval in USD
- Results and long jobs
- Limits
- Moving from the old address
- The stdio bridge (
@popnow/mcp) - Troubleshooting
- FAQ
At a glance
Quickstart
- Create an API key in the API console. Giving your agent a key of its own with a low daily cap is a good habit: you can revoke it without touching your other integrations. If your API balance is $0, add funds in API billing.
- Put the key in your environment. The configs below read it from
POPNOW_API_KEY, so it stays out of files you commit: - Add the server. In Claude Code it is one command:
- Ask for something. Ask your agent for an image, a clip or a soundtrack. It picks a PopNow tool, shows you the USD price and runs it once you approve.
Connect your client
Every client below talks to the same remote server with an API key. Ready-made files are in examples/.
Claude Code
Your shell fills in $POPNOW_API_KEY when you run the command, and Claude Code stores the header in your local MCP settings. To share the server with a team through a project's .mcp.json, use the generic config instead: Claude Code expands ${POPNOW_API_KEY} from each person's environment.
Cursor
Add PopNow to .cursor/mcp.json in your project, or to ~/.cursor/mcp.json for every project (examples/cursor.mcp.json):
VS Code
VS Code names the top-level key servers. This config asks for the key once and stores it securely (examples/vscode.mcp.json):
Windsurf
Remote servers use serverUrl in ~/.codeium/windsurf/mcp_config.json (examples/windsurf.mcp_config.json). Press Refresh in the MCP panel after saving.
Codex
Edit ~/.codex/config.toml (examples/codex.config.toml); bearer_token_env_var reads the key from your environment:
Cline
Open MCP Servers → Configure and add PopNow to cline_mcp_settings.json. Set type to streamableHttp explicitly; without it Cline falls back to the legacy SSE transport (examples/cline_mcp_settings.json):
Claude Desktop and stdio-only clients
Clients that can only start local stdio servers can run the @popnow/mcp bridge with npx. From version 0.2.0 it connects to the developer endpoint by default. In Claude Desktop, edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json) and restart the app (examples/claude-desktop.json):
The bridge needs Node.js 18 or newer.
Other clients
Most clients that support remote MCP servers accept this shape. It is also the format of a Claude Code project .mcp.json (examples/generic.json). Check how your client reads environment variables before you paste a key into a file that is committed anywhere.
From your own code
With the official Python SDK (pip install mcp):
With the official TypeScript SDK (npm install @modelcontextprotocol/sdk):
Or with nothing but curl. The server is stateless, so every request stands alone; send both media types in Accept. This call asks for a quote and charges nothing:
For production code that calls models directly, the REST API gives you more control: webhooks, idempotency keys and per-task retention. SDKs: Python · JavaScript / TypeScript · Go · Java · PHP.
Tools
Typical prices are for the default model and settings, in USD. Every paid tool quotes the exact amount before it runs. The full parameter reference is in the developer MCP docs.
Only tools that expose model accept a model from list_models; omit it to use the default. All tools carry the standard MCP hints (readOnlyHint, destructiveHint, openWorldHint), and no tool deletes anything.
Developer tools. Four tools exist only on this endpoint:
Call list_models with a category to see every model's exact IDs, then with model for that model's inputs. create_task validates input against the model's schema before it quotes, so a missing or unknown field comes back as a message, not a charge.
Saved recipes and skills. list_my_recipes, run_my_recipe, get_recipe_run, resume_recipe_run, list_my_skills and use_my_skill reach the recipes, canvas workflows and skills you saved on popnow.ai, with the same USD quote and approval. See Your recipes, workflows and skills.
Agent skills. find_skills returns a few agent skills that match a request (preview video, cover image and what each needs); install_skill returns the chosen skill's SKILL.md, a package link that works for a few minutes, the install commands for your agent and which PopNow tools make its media. Both are free and read-only. More skills: popnow-skills.
Quotes and approval in USD
- Quote. Call a paid tool without
max_usd. Nothing starts and nothing is held. The result hasneeds_confirmation: true,currency: "USD",cost_usdandavailable_usd. - Approve. Show the price to the user. After they approve, call the tool again with the same arguments plus
max_usdset to the quotedcost_usd. - Run. If the current price is within
max_usd, the task starts. If it went up, you get a new quote to approve instead; nothing is charged.
max_usd is a nonnegative decimal string with up to nine decimal places, such as "0.012345678". JSON numbers, exponent notation and negative values are rejected. currency is optional and can only be USD. Every paid call needs this approval, including a zero-price quote; there is no automatic approval threshold.
When the balance cannot cover a quote, the tool says "Not enough API balance" with the cost and what is available, and charges nothing. Tasks follow the same rules as REST tasks: the highest possible price is held when a task starts, you pay what it actually used (never more than the hold), and a failed or expired task releases its hold. Identical calls with the same key within ten seconds create one task, so an agent that retries does not pay twice.
Results and long jobs
- Images come back as a preview plus a download link. Videos and audio come back as links.
- Download links are signed and expire after a while. Each result also has a
popnow://g/<job>/<n>link that never expires and can be passed to another tool, so "now animate that picture" just works. - A tool waits up to about 40 seconds for the result. Video usually takes longer, so the reply carries a
job_idand the agent callsget_taskto collect it. - Every task is listed in the API console's logs with its key, model and USD amount.
Limits
A task over the limit is not charged; the tool says how many seconds to wait. The key's spend caps apply to every call. REST API limits are separate and described in Rate limits.
Moving from the old address
Until 1 November 2026, API keys connected to https://api.popnow.ai/mcp. That address keeps accepting API keys until 31 January 2027 (00:00 UTC) and serves the same developer tools, with Deprecation, Sunset and Link headers on every response. After that it answers API keys with 401.
To move, change the URL in your MCP config to https://api.popnow.ai/api/v1/mcp. The key, the tools and USD billing stay the same. If you run the stdio bridge, upgrade to @popnow/mcp 0.2.0 or newer (npx -y @popnow/mcp picks it up), or set POPNOW_MCP_URL to the new address.
The stdio bridge (@popnow/mcp)
packages/popnow-mcp is a minimal TypeScript package (bin popnow-mcp) for MCP clients that can only launch local stdio servers. It connects a StdioServerTransport to a StreamableHTTPClientTransport from the official MCP SDK and forwards every message unchanged, so tools and prices always match the live server. It is published on npm as @popnow/mcp; see Claude Desktop and stdio-only clients for the config.
To build and run it from source instead (Node.js 18 or newer):
MCP registry manifest
server.json describes the server in the MCP registry format (schema 2025-12-11) as io.github.popnow-ai/popnow-api-mcp: the remote Streamable HTTP endpoint with a required Authorization header, and the @popnow/mcp npm package.
Troubleshooting
FAQ
Does the MCP server cost extra?
No. Connecting is free, and so are reading tools such as list_models, get_task and find_skills. Media tasks spend your API balance at the same model prices as the REST API, and every one is quoted first.
Can I connect with OAuth instead of an API key?
No. This endpoint only takes API keys, so every call is billed to the API balance and governed by the key's restrictions and caps. To use PopNow in the ChatGPT or Claude apps with your PopNow account, see popnow-mcp.
Which models can I call?
Every image, video and audio model in list_models, including Kling, Seedance, Wan, Vidu, MiniMax, Nano Banana, GPT Image, Flux and Suno. create_task takes any of their exact API IDs with the model's own inputs; the named tools cover the common jobs with sensible defaults.
Is there anything to install?
No. The server is remote; you only add its address. Clients that can only start local stdio servers can run the bridge with npx -y @popnow/mcp.
Where do my results go?
Results come back as links in the tool response. Every task also appears in the API console's logs, and list_tasks lists the recent ones for the key.
Links
- Developer MCP: popnow.ai/api/mcp · Docs · API console · API billing
- REST API: Quickstart · API reference · Models
- Other PopNow developer repos: popnow-skills · popnow-cli · popnow-python · popnow-js · popnow-api
Contributing
Issues and pull requests are welcome. See CONTRIBUTING.md. For security issues, see SECURITY.md.
License
MIT © PopNow
Model catalog update — 2026-11-03
Model IDs and input fields come from the live PopNow catalog. This release covers the new GPT chat families, Gemini Omni and Veo 3.1 video variants, GPT/Whisper transcription, TTS-1/HD, realtime voice task models, and the updated Tripo, Topaz and editing models. Fetch the selected model schema before submitting; use the normal quote, create and poll flow for task models.
Embedding tasks return output.embeddings.data (input index plus the numeric embedding) and measured output.embeddings.inputTokens, with no media files required. OpenAI-compatible embeddings use POST /v1/embeddings; binary speech uses POST /v1/audio/speech. The API wallet and quotes are in USD.
The remote developer MCP catalog now supports list_models categories chat and utility in addition to media. create_task uses the exact model ID and model-specific input; get_task returns vector data in structured content. Always quote first and confirm max_usd before a paid task. The local package forwards the remote server tools automatically.
來源:README.md,提交 d5991fc
工具
0版本歷史
2- v0.3.0最新Nov 3, 2026
- v0.2.0Nov 1, 2026
評分
已滿足適用檢查項的 85%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
- 已宣告認證方式必需10 分
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分