com.aicontentdrop/ai-content-drop
Make AI videos and images from a description, on one credit balance. Sign in to generate.
Links
README
From the repo.
aicontentdrop
Official CLI and TypeScript SDK for AI Content Drop — generate AI video and images across 35+ models from the terminal or from code.
No runtime dependencies. Works with npx, no install and no API key for
anything read-only.
npx aicontentdrop models --type video --max-credits 15
Install
npm install -g aicontentdrop # CLI
npm install aicontentdrop # SDK
Authentication
Reading the model catalogue, quoting costs, and asking questions need no credential. Generating needs an API key you create at Settings → Integrations — any account works, the free tier includes 10 credits.
export ACD_API_KEY=acd_live_…
Each key can carry a daily credit ceiling, so an agent holding it cannot overspend the budget you set.
CLI
acd models --type video --max-credits 20 # catalogue with credit costs
acd cost kling_3_0 --quantity 4 # quote before committing
acd ask "which models generate audio?" # natural-language lookup
acd me # account and credit balance
acd generate "a golden retriever surfing at sunset" --model kling_3_0 --wait
acd status <video_id>
acd list --limit 20 # cursor-paginated
acd list --all # follows the cursor for you
acd register --name my-agent # read-scoped agent token
Every command prints JSON by default so scripts and agents can parse it; add
--pretty for humans. Failures print JSON to stderr and exit non-zero (2
failure, 3 rate limited).
Rehearse anything that would cost credits:
acd generate "…" --model kling_3_0 --sandbox # no provider call, no credits
SDK
import { AiContentDrop } from "aicontentdrop";
const acd = new AiContentDrop({ apiKey: process.env.ACD_API_KEY });
const models = await acd.models({ type: "video", maxCredits: 20 });
// Submit and poll until the render exists. Sends an Idempotency-Key by default,
// so a retry after a dropped response cannot charge twice.
const video = await acd.generateVideoAndWait(
{ prompt: "a golden retriever surfing at sunset", aiModel: "kling_3_0" },
{ onProgress: (v) => console.error(v.status) },
);
console.log(video.video_url);
// Pagination handled for you
for await (const item of acd.allVideos()) {
console.log(item.id, item.status);
}
Errors throw AcdError with status, code, and retryAfter (on 429).
For AI agents
- MCP server:
POST https://aicontentdrop.com/mcp(Streamable HTTP) — manifest at/.well-known/mcp.json - Docs-only MCP:
POST https://aicontentdrop.com/mcp/docs - Agent contract:
/auth.md - OpenAPI 3.1:
/openapi.json - Python SDK:
python/— same API surface, zero runtime dependencies, on PyPI asaicontentdrop(pip install aicontentdrop) - Go SDK:
go/— same API surface, standard library only,go get github.com/aicontentdrop/aicontentdrop/go - Skills:
skills/— model selection, prompt writing, batch runs, error handling, credits, image generation. Also served per skill athttps://aicontentdrop.com/skills/<name>/SKILL.md, indexed at/skills/index.json - Agent plugin:
plugin.json+mcp.json(Agent Plugins v1.0.0) - Coding-agent rules for this repo:
AGENTS.md
Links
Documentation https://aicontentdrop.com/developers · Support support@aicontentdrop.com
MIT licensed.
Config for your environment
Use the endpoint URL below in your config. No API key — you connect directly.
Tool
OS
Config file: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"url": "https://aicontentdrop.com/mcp"
}
}
}Paste into mcpServers in the config file. Restart Cursor after saving.
If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.