Skip to main content

Official async Python SDK for AILabTools AI image APIs: background removal, image upscaling, hairstyle changer, face retouching, object removal, and more.

Project description

AILabTools SDK - Async Python SDK for AI Image APIs

Official async Python SDK for AILabTools AI Image APIs.

Build AI-powered photo editing features with simple API calls: background removal, image upscaling, object removal, face retouching, hairstyle changer, age and gender swap, cartoon avatar generation, skin analysis, virtual try-on, and more.

  • Install from PyPI: pip install ailabtools-sdk
  • Import in Python: from ailabtools import AILabClient
  • 60+ active AI image, cutout, and portrait APIs
  • Supports file uploads, URL input, async tasks, and temporary result URLs
  • Get started with the AILabTools Developer Console

Installation

Install the Python SDK:

pip install ailabtools-sdk

Import it in Python:

from ailabtools import AILabClient

Note: The PyPI package name is ailabtools-sdk, while the Python import name is ailabtools.

Quick Start

1. Get your API key

Create or copy your API key from the AILabTools Developer Console.

export AILAB_API_KEY="your_api_key_here"

2. Remove an image background

import os
import asyncio
from ailabtools import AILabClient

async def main():
    client = AILabClient(api_key=os.environ["AILAB_API_KEY"])

    with open("./photo.jpg", "rb") as image:
        result = await client.background.remove({
            "image": image,
            "returnForm": "whiteBK",
        })

    print(result["data"]["image_url"])
    await client.aclose()

asyncio.run(main())

The SDK uses camelCase parameters and maps them automatically to API field names. For example, upscaleFactor maps to upscale-factor, and returnForm maps to return_form.

Popular Use Cases

Use case API SDK method
Remove image background Universal Background Removal client.background.remove()
Upscale image 2x / 4x Image Upscaler client.image.upscale()
Change hairstyle Hairstyle Changer Pro client.portrait.change_hairstyle()
Retouch portrait Smart Beauty client.portrait.retouch()
Remove objects Remove Objects client.image.remove_objects()
Generate cartoon avatar Cartoon Yourself client.portrait.portraitCartoonYourself()
Analyze face attributes Face Analyzer client.portrait.portraitFaceAnalyzer()
Virtual try-on Try on Clothes Pro client.portrait.portraitTryOnClothesPro()

Developer-Friendly Aliases

Both full API method names and short aliases are supported. For example, client.background.remove() calls the same Universal Background Removal API as client.cutout.cutoutUniversalBackgroundRemoval().

API Full method Alias
Universal Background Removal client.cutout.cutoutUniversalBackgroundRemoval() client.background.remove()
Image Upscaler client.image.imageLosslessEnlargement() client.image.upscale()
Remove Objects client.image.imageRemoveObjects() client.image.remove_objects()
Hairstyle Changer Pro client.portrait.portraitHairstyleEditingPro() client.portrait.change_hairstyle()
Smart Beauty client.portrait.portraitIntelligentBeautification() client.portrait.retouch()

File Uploads

File parameters support file-like objects with a read method, or bytes / bytearray.

Async Task Example

Some APIs return task_id for long-running image generation or enhancement jobs. Use wait_for_task to poll until the task succeeds, fails, or times out.

task = await client.portrait.change_hairstyle({
    "image": image,
    "hairStyle": "BuzzCut",
    "color": "blonde",
})

task_id = task.get("task_id") or task.get("data", {}).get("task_id")
result = await client.wait_for_task(
    task_id,
    interval=5,
    timeout=300,
    raise_on_failed=True,
)

print(result.get("data"))

API Reference

Error Handling

API errors raise AILabApiError, which includes troubleshooting fields such as request_id and log_id.

try:
    with open("./photo.jpg", "rb") as image:
        result = await client.background.remove({
            "image": image,
            "returnForm": "whiteBK",
        })
    print(result["data"]["image_url"])
except Exception as error:
    print("AILabTools API Error:", error)
    # Send request_id and log_id to support if you need help.

Testing

AILAB_API_KEY=xxx pytest -q

License

MIT

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

ailabtools_sdk-0.5.3.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

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

ailabtools_sdk-0.5.3-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

Details for the file ailabtools_sdk-0.5.3.tar.gz.

File metadata

  • Download URL: ailabtools_sdk-0.5.3.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for ailabtools_sdk-0.5.3.tar.gz
Algorithm Hash digest
SHA256 00eeaa08a8b04fe81a77d56bea7534c47aaeaac005c3f9529993b983187a1094
MD5 78b3e823f19f8cb7a41d795950996786
BLAKE2b-256 5745e4b3c8696d40bb2ed922c50776d2dc6eaec24836ec103c20d598d23c78ab

See more details on using hashes here.

File details

Details for the file ailabtools_sdk-0.5.3-py3-none-any.whl.

File metadata

  • Download URL: ailabtools_sdk-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 21.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for ailabtools_sdk-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 555a4da07c819aa9014a2bf84f2a7d6fb584b87bb0f167484eb07c74fa3c4006
MD5 d954e923c4466ae96fb39746d3b70512
BLAKE2b-256 4bb3b1da8fbb772fa20b78fdc401201406b847550cf677a44342b641bb5bfd08

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