Skip to main content

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.

Python 3.10+ License

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

image_studio_sdk-1.0.0.tar.gz (19.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

image_studio_sdk-1.0.0-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

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

Hashes for image_studio_sdk-1.0.0.tar.gz
Algorithm Hash digest
SHA256 81dab5b7628c2cc4164259e861556ea4c94794df3f8140b7f917644d99015cf9
MD5 5e11d3e534e0581369e92ac3ec7059c5
BLAKE2b-256 99de811eb800f1264204bbbe0cc42f32a8657b2e6e2788c80768976ab2ac86e5

See more details on using hashes here.

File details

Details for the file image_studio_sdk-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for image_studio_sdk-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 667b8e5d7a39c56fcdd501b5b4cd835d2f9d4d1b0088d32cc0f004e6ab87bc0b
MD5 8306ff34be07e02c3e4405aebb2efaba
BLAKE2b-256 8cec99a6c6bae74fb858383fac77efceb0343cf5272d34716712b08c2bceec3c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page