Skip to main content

Typed sync and async Python SDK for Imagegen Bridge

Project description

Imagegen Bridge Python SDK

Typed sync and async clients for the normalized Imagegen Bridge HTTP API. The package targets Python 3.10 and newer.

uv add imagegen-bridge
from imagegen_bridge import (
    AsyncImagegenBridgeClient,
    ImagePresetCreate,
    ImagePresetTemplate,
    ImageRequest,
    OutputOptions,
    ProviderRoute,
    RoutingOptions,
)

async with AsyncImagegenBridgeClient("http://127.0.0.1:8787") as client:
    result = await client.images.generate(ImageRequest.generate(
        "a paper fox",
        output=OutputOptions(
            response_format="artifact",
            directory="illustrations",
            filename="fox.png",
            collision="suffix",
            metadata="sidecar",
        ),
        routing=RoutingOptions(
            provider="codex-responses",
            fallbacks=(ProviderRoute("codex-app-server", "gpt-image-2"),),
        ),
    ))
    print(result.data[0].name, result.data[0].metadata_name)

    queued = await client.jobs.create(ImageRequest.generate("a second paper fox"))
    partial = await client.jobs.partial(queued.id)  # transient while the job runs
    completed = await client.jobs.get(queued.id)
    preset = await client.presets.create(ImagePresetCreate(
        name="paper-fox",
        template=ImagePresetTemplate(prompt="a paper fox"),
    ))
    page = await client.jobs.list(
        status="succeeded", visibility="active", favorite=True, search="paper fox"
    )
    diagnostics = await client.diagnostics()
    print(diagnostics.configuration.listener_scope, diagnostics.providers)

Set provider in ImageRequest.routing to switch between configured bridge providers; client construction and response types do not change. Fallback routes are ordered and returned as typed provider attempts. OutputOptions.transparency selects native or local chroma-key alpha when the generation parameters request a transparent background. OutputOptions.metadata accepts none, sidecar, embedded, or sidecar_and_embedded. Embedded XMP is carried inside the returned PNG, JPEG, or WebP bytes; the latter combined mode requires artifact output. client.jobs is also available on the synchronous client and exposes create, get, list, partial, cancel, and update with typed durable job models. partial returns the latest verified in-memory preview and normally returns 404 before the first partial event or after the job becomes terminal. List filters include stable cursor pagination, status, active/hidden/all visibility, favorite state, and literal prompt search. client.presets exposes typed list, get, create, update, and delete operations for reusable input-free request configurations. diagnostics() returns the same typed, redaction-safe operator snapshot used by the embedded dashboard; it never includes credential values, prompts, or host paths.

Plain HTTP is accepted only for literal loopback addresses and localhost. Remote bridge URLs must use HTTPS unless the caller explicitly sets allow_insecure_remote_http=True, which disables transport confidentiality and server authentication. Redirects remain governed by HTTPX and should not be enabled for credential-bearing clients.

Per-call timeout omission inherits the timeout configured on the client; passing None explicitly disables HTTPX timeouts for that call, while a number or httpx.Timeout overrides them. Ordinary JSON bodies, error bodies, partial previews, SSE lines, and aggregate SSE events have independent configurable limits and are counted while streaming. Idempotency-Key can be supplied with idempotency_key= to both image and durable-job creation methods.

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

imagegen_bridge-0.1.1.tar.gz (44.7 kB view details)

Uploaded Source

Built Distribution

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

imagegen_bridge-0.1.1-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file imagegen_bridge-0.1.1.tar.gz.

File metadata

  • Download URL: imagegen_bridge-0.1.1.tar.gz
  • Upload date:
  • Size: 44.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for imagegen_bridge-0.1.1.tar.gz
Algorithm Hash digest
SHA256 879ed321c9b8de88336a87bf88d9b85ee5e37de4f550accf74b9cf1466b9e80f
MD5 81b8d29bb7dcfa8a107531762069c972
BLAKE2b-256 8e51135b8b4049e78dddcdcc777fcd2ffc021e294b795872b6d387b4f71b4809

See more details on using hashes here.

Provenance

The following attestation bundles were made for imagegen_bridge-0.1.1.tar.gz:

Publisher: publish.yml on Crimsab/imagegen-bridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file imagegen_bridge-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: imagegen_bridge-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for imagegen_bridge-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3750e726c39b1f6a73582dccb4d9484ddd875968b175c48750ed8418063ce28f
MD5 563ea2ae64874b91ef97083243470a1e
BLAKE2b-256 5d4b95cc0f804c30d104920137e6377bdebc7ed94729b23d2a8a713759c18206

See more details on using hashes here.

Provenance

The following attestation bundles were made for imagegen_bridge-0.1.1-py3-none-any.whl:

Publisher: publish.yml on Crimsab/imagegen-bridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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