EggAPI is a remote MCP server. Add it to Claude Code, Codex, Cursor or any MCP client with your API key, then ask for images and video in plain language. Not using MCP? The same models are on the REST API.
For Cursor, save it as ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project). Other clients that accept a remote MCP URL with headers use the same shape. Replace <EGGAPI_API_KEY> with your key.
checkOpen the MCP section of Cursor settings. eggapi should be enabled and list 4 tools.
Plain HTTP for scripts, backends and agents without MCP. POST /v1/generate starts a task and returns its id right away. Pass webhook_url if you would rather get a callback than poll.
checkPoll GET /v1/tasks/:id until status is completed. The files are in output.urls.
curl
curl https://api.eggapi.ai/v1/generate \
-H "Authorization: Bearer $EGGAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"bytedance/seedance-2.5/text-to-video","prompt":"a black egg cracking open, studio light","duration":5}'
Text-to-video or image-to-video. Returns a task id right away.
get_task
(task_id)
Check task status and fetch the output URLs.
§ try asking
Then just ask.
❯Make a square product shot of a black ceramic mug on wet concrete with GPT Image 2.
❯Use Seedream to put the logo at https://example.com/logo.png on a plain white t-shirt.
❯Animate https://example.com/hero.png into a 5-second slow push-in with Seedance, 16:9.
§ troubleshooting
If something goes wrong.
401 Unauthorized
The key is missing or wrong. Run echo $EGGAPI_API_KEY in the shell you start the agent from, then restart the agent: it reads environment variables only at startup.
Insufficient balance
The account is out of credits. Add credits on the pricing page, then try again with the same key.
The agent does not see the tools
Check that the URL ends in /mcp and that your client supports remote HTTP MCP servers. Clients that only launch local (stdio) servers cannot connect directly.
A video stays in processing
Video usually takes 1–3 minutes. The agent keeps polling get_task; if the task fails, its error field says why.
Give your agent a camera.
Create a key, paste one command into your terminal, start generating.