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 isailabtools.
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
- AILabTools API Documentation
- Get your AILabTools API key
- AILabTools SDK Documentation
- Node.js SDK on npm
- AILabTools SDK on GitHub
- SDK examples
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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00eeaa08a8b04fe81a77d56bea7534c47aaeaac005c3f9529993b983187a1094
|
|
| MD5 |
78b3e823f19f8cb7a41d795950996786
|
|
| BLAKE2b-256 |
5745e4b3c8696d40bb2ed922c50776d2dc6eaec24836ec103c20d598d23c78ab
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
555a4da07c819aa9014a2bf84f2a7d6fb584b87bb0f167484eb07c74fa3c4006
|
|
| MD5 |
d954e923c4466ae96fb39746d3b70512
|
|
| BLAKE2b-256 |
4bb3b1da8fbb772fa20b78fdc401201406b847550cf677a44342b641bb5bfd08
|