aicontentdrop — Python SDK
Official Python client for the AI Content Drop API. Generate AI video and images across 35+ models on one credit balance.
pip install aicontentdrop
No runtime dependencies — everything is standard library, so it installs anywhere Python 3.9+ runs and cannot conflict with your pinned HTTP client.
Start without an account
The catalogue, cost estimates, the natural-language endpoint and the sandbox need no credential, so you can finish an integration before anyone signs up.
from aicontentdrop import AiContentDrop
acd = AiContentDrop() # no key
for model in acd.models(type="video", max_credits=12):
print(model["id"], model["credits"])
print(acd.cost("kling_3_0", quantity=3)) # quote before you spend
Rehearse a generation for free, with full validation and no API key:
rehearsal = AiContentDrop(sandbox=True)
job = rehearsal.generate_video(prompt="a red balloon over a city", model="kling_3_0")
print(job["status"], job["creditsUsed"]) # completed 0
Generate
Create a key at https://aicontentdrop.com/settings/integrations, then put it
in ACD_API_KEY (or pass api_key=).
acd = AiContentDrop() # reads ACD_API_KEY
video = acd.generate_video_and_wait(
prompt="a golden retriever surfing at sunset",
model="kling_3_0",
on_progress=lambda v: print(v["status"]),
)
print(video["video_url"])
generate_video_and_wait raises on any terminal state other than completed,
so a failed job can never be mistaken for a finished one.
For manual control, generate_video() returns immediately and video(id) polls:
job = acd.generate_video(prompt="…", model="kling_3_0")
while job["status"] == "generating":
time.sleep(5)
job = acd.video(job["id"])
Handling failures
from aicontentdrop import AcdError
try:
acd.generate_video(prompt="…", model="kling_3_0")
except AcdError as exc:
if exc.code == "insufficient_credits":
print("Balance too low:", acd.me()["credits"])
elif exc.is_retryable:
time.sleep(exc.retry_after or 30)
else:
raise
Branch on exc.code, never on the message. Credits are charged only on
success, so a failure costs nothing and there is no refund to request.
Batching
Quote a whole job in one call, and move loops of reads into one request:
quote = acd.cost_batch([
{"model_id": "kling_3_0", "quantity": 8},
{"model_id": "veo_3_fast", "quantity": 2},
])
print(quote["credits_total"])
results = acd.batch([
{"id": "video", "method": "GET", "path": "/v1/models?type=video"},
{"id": "image", "method": "GET", "path": "/v1/models?type=image"},
])
Give each item in a batch its own stable idempotency_key derived from the item
rather than the attempt — that is what makes a run resumable after a crash
instead of paying twice.
Reference
| Docs | https://aicontentdrop.com/developers |
| OpenAPI 3.1 | https://aicontentdrop.com/openapi.json |
| Pricing, as markdown | https://aicontentdrop.com/pricing.md |
| Errors and retries | https://aicontentdrop.com/docs/errors |
| Rate limits | https://aicontentdrop.com/docs/rate-limits |
| Agent skills | https://aicontentdrop.com/skills/index.json |
| Source | https://github.com/aicontentdrop/aicontentdrop |
Tests
No test dependencies either — standard-library unittest:
python -m unittest discover -s tests -t .
MIT licensed.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aicontentdrop-0.1.0.tar.gz.
File metadata
- Download URL: aicontentdrop-0.1.0.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f9414b2d6bb48a1b837e9ff3a97c0fb58a56ad6ffa8fe420ca25f60640f6300
|
|
| MD5 |
5e4e3512e777f3b22401dbe07c2af8b0
|
|
| BLAKE2b-256 |
41fc684e8cd26591d227592d12ed124a30971347bbffb3a254d3efe239ae0f1e
|
File details
Details for the file aicontentdrop-0.1.0-py3-none-any.whl.
File metadata
- Download URL: aicontentdrop-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b3f7e4341747464f05973895f9f2f5d8b603c71c441f0b97502d13d379b8838
|
|
| MD5 |
af8c03c9b117340d2d2fe30a8aa71c64
|
|
| BLAKE2b-256 |
aa6945e6c9a44e6e788d5f6e4657ea04da02a84a0e3e6bf7bd5e1238c814c7d8
|