Python client SDK for the Ross Image Studio API (studio.ross-developers.com/v1).
Project description
image-studio-sdk — the Image Studio Python SDK
Official Python client for https://studio.ross-developers.com/v1 — an
async-job REST API serving 13 image-generation and image-editing diffusion
models.
This package is a pure client SDK: it talks to the hosted API and nothing
else. Dependencies are httpx + Pillow — no torch, no model downloads,
no server code.
Install
pip install image-studio-sdk
export IMAGE_STUDIO_API_KEY=isk_... # issued per client
Quick start
from image_studio import ImageStudio
with ImageStudio() as studio:
job = studio.generate("irie", "a fluffy orange cat in aviator goggles", seed=42)
studio.download(job.images[0], "cat.png")
Image editing:
with ImageStudio() as studio:
job = studio.edit("bashment", "add a rainbow to the sky", image="photo.jpg")
studio.download(job.images[0], "photo_rainbow.png")
Async submit + poll (long jobs):
with ImageStudio() as studio:
handle = studio.submit("biggup", "a detailed cityscape", image="city.png")
print(handle.job.id, handle.job.status) # job_..., queued
job = handle.result(timeout=600) # polls until terminal
Discover models, what they do, and their parameters at runtime:
with ImageStudio() as studio:
# Every task the API offers — fine-grained (structure-control,
# local-redrawing, super-resolution, …), each with a description,
# its endpoint, and the models that serve it:
for t in studio.tasks():
print(t.id, "->", t.endpoint, t.models)
print(" ", t.description)
# Each model carries its task id and the endpoint that takes it:
for m in studio.models():
print(m.id, m.task, m.endpoint, sorted(m.parameters))
Configuration
| Environment variable | Purpose | Default |
|---|---|---|
IMAGE_STUDIO_API_KEY |
Bearer token (required) | — |
IMAGE_STUDIO_BASE_URL |
API root | https://studio.ross-developers.com/v1 |
Both can also be passed to ImageStudio(api_key=..., base_url=...).
Errors
All failures raise typed exceptions from image_studio:
AuthenticationError, ValidationError, RateLimitError (queue full —
carries retry_after), JobFailedError, JobCanceledError,
PollTimeoutError, and friends. Submits send an automatic
Idempotency-Key, so retrying a failed submit never double-charges a job.
Documentation
- docs/client.md — full SDK reference
- docs/examples.md — end-to-end examples
- Interactive API docs:
https://studio.ross-developers.com/v1/docs
Development
pip install -e . httpx pytest Pillow
python -m pytest tests/ -q # offline — httpx.MockTransport, no server needed
uv build --wheel # → dist/image_studio_sdk-<version>-py3-none-any.whl
The server/API implementation lives in the separate
image-studio-server-api-python repository.
Project details
Release history Release notifications | RSS feed
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 image_studio_sdk-1.0.0.tar.gz.
File metadata
- Download URL: image_studio_sdk-1.0.0.tar.gz
- Upload date:
- Size: 19.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81dab5b7628c2cc4164259e861556ea4c94794df3f8140b7f917644d99015cf9
|
|
| MD5 |
5e11d3e534e0581369e92ac3ec7059c5
|
|
| BLAKE2b-256 |
99de811eb800f1264204bbbe0cc42f32a8657b2e6e2788c80768976ab2ac86e5
|
File details
Details for the file image_studio_sdk-1.0.0-py3-none-any.whl.
File metadata
- Download URL: image_studio_sdk-1.0.0-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
667b8e5d7a39c56fcdd501b5b4cd835d2f9d4d1b0088d32cc0f004e6ab87bc0b
|
|
| MD5 |
8306ff34be07e02c3e4405aebb2efaba
|
|
| BLAKE2b-256 |
8cec99a6c6bae74fb858383fac77efceb0343cf5272d34716712b08c2bceec3c
|