New Functionality and Features
- Add Collections API
Cloudinary 的 Python/Django SDK,用于上传、变换、优化和管理图片与视频,省去自建媒体处理流程的麻烦。
Upload, transform, optimize, and manage images and videos with Cloudinary from Python or Django.
这个项目的说明还在生成中,先参考下面「最近发版」和 README。
provisioning.user_in_user_groupsnotification_url and batch_id to asset management paramsbatch_id to explode parameterscreate_cloud Provisioning API还没有人点评。第一个说出真实体验的人最有价值。
Upload, transform, optimize, and manage images and videos with Cloudinary from Python or Django — the cloudinary package on PyPI.
pip install cloudinary
Set your API environment variable (Console > Settings > API Keys):
export CLOUDINARY_URL=cloudinary://<api_key>:<api_secret>@<cloud_name>
Upload an image and get an optimized delivery URL:
import cloudinary
import cloudinary.uploader # cloudinary.uploader must be imported explicitly
# Configuration is read from CLOUDINARY_URL automatically.
def main():
# Upload a remote image (a local file path works the same way)
result = cloudinary.uploader.upload(
"https://res.cloudinary.com/demo/image/upload/sample.jpg",
public_id="quickstart-sample",
)
print("Uploaded: {0}".format(result["public_id"]))
# Build a 400x400 auto-cropped URL with automatic format and quality
url = cloudinary.CloudinaryImage(result["public_id"]).build_url(
width=400,
height=400,
crop="fill",
gravity="auto",
fetch_format="auto",
quality="auto",
secure=True,
)
print("Optimized URL: {0}".format(url))
if __name__ == "__main__":
try:
main()
except Exception as error:
print("Quick start failed: {0}".format(error))
print("Check that CLOUDINARY_URL is set (Console > Settings > API Keys).")
raise SystemExit(1)
Save as quickstart.py and run python quickstart.py. Create a free account if you don't have one — or call cloudinary.provisioning.create_cloud() to provision one without signing up.
Runnable versions live in examples/ — each is a complete file you can run directly.
Use this package in Python server-side code, including Django: uploads, signed operations, asset administration, search, moderation, and delivery URL generation.
For other jobs, better-fitting tools exist:
The full capability map — plus the Skills, MCP servers, and CLI worth setting up first — is in cloudinary/docs/platform-capabilities.md.
Stable, actively maintained. See CHANGELOG.md.
| SDK version | Python | Django |
|---|---|---|
| 1.x | 3.10 – 3.14 | 4.2, 5.0, 5.1, 5.2, 6.0 |
The table lists what CI tests on every commit. Older Python and Django releases are supported on a best-effort basis.
Documentation links in this README point at the browsable HTML page, with an (md)
companion link that returns the same page as raw Markdown. Inside cloudinary/docs/ and
examples/ the links are Markdown-only, since those files are written to be read by
coding agents. Either form works for any page: add .md for Markdown, drop it for HTML.
cloudinary/docs/ directory match your installed version and are the source of truth.
Locate them with
python -c "import cloudinary, pathlib; print(pathlib.Path(cloudinary.__file__).parent / 'docs')",
and start with platform-capabilities before
assuming a feature exists.samples/ and the
Django Photo AlbumMore resources: Cloudinary Academy for courses, code explorers and feature demos, and the Cloudinary roadmap.
See SECURITY.md for private vulnerability reporting. Keep your
api_secret in server-side code; for client uploads, use the server-signed pattern in
Sign a browser upload.
Released under the MIT license — see LICENSE. Copyright (c) Cloudinary Ltd.