Skip to main content

ModelsLab's Official Python SDK

Project description

new one

ModelsLab Python SDK

Official Python SDK for ModelsLab API - Generate AI content including images, videos, audio, 3D models, and more.

Installation

pip install modelslab_py

For async support:

pip install 'modelslab_py[async]'

Create a client

from modelslab_py.core.client import Client

client = Client(api_key="your_api_key")

Features

  • Image Generation and Editing
  • Video Generation
  • Audio Processing
  • 3D Model Generation
  • Interior Design
  • Deepfake Operations
  • Community Models Integration

Usage Examples

Image Editing

from modelslab_py.core.client import Client
from modelslab_py.core.apis.image_editing import Image_editing
from modelslab_py.schemas.image_editing import BackgroundRemoverSchema

client = Client(api_key="your_api_key")
api = Image_editing(client=client, enterprise=False)

schema = BackgroundRemoverSchema(
    image="https://example.com/image.jpg",
    base64=False
)

response = api.background_remover(schema=schema)
print(response)

Video Generation

from modelslab_py.core.apis.video import Video
from modelslab_py.schemas.video import Text2Video

client = Client(api_key="your_api_key")
api = Video(client=client, enterprise=False)

schema = Text2Video(
    model_id="zeroscope",
    prompt="a cat walking in a garden",
    num_frames=30
)

response = api.text_to_video(schema=schema)
print(response)

Interior Design

from modelslab_py.core.apis.interior import Interior
from modelslab_py.schemas.interior import InteriorSchema

client = Client(api_key="your_api_key")
api = Interior(client=client, enterprise=False)

schema = InteriorSchema(
    prompt="modern minimalist bedroom",
    init_image="https://example.com/room.jpg"
)

response = api.interior(schema=schema)
print(response)

Audio Processing

from modelslab_py.core.apis.audio import Audio
from modelslab_py.schemas.audio import Text2Speech

client = Client(api_key="your_api_key")
api = Audio(client=client, enterprise=False)

schema = Text2Speech(
    prompt="Hello, welcome to ModelsLab",
    voice_id="madison",
    language="english"
)

response = api.text_to_speech(schema=schema)
print(response)

3D Generation

from modelslab_py.core.apis.three_d import Three_D
from modelslab_py.schemas.threed import Text23D

client = Client(api_key="your_api_key")
api = Three_D(client=client, enterprise=False)

schema = Text23D(
    prompt="a wooden chair",
    model_id="meshy-4",
    output_format="obj"
)

response = api.text_to_3d(schema=schema)
print(response)

Community Models

Z Image Turbo

from modelslab_py.core.apis.community import Community
from modelslab_py.schemas.community import ZImageTurbo

client = Client(api_key="your_api_key")
api = Community(client=client)

schema = ZImageTurbo(
    prompt="a beautiful sunset over mountains",
    width=1024,
    height=1024,
    samples=1
)

response = api.z_image_turbo(schema=schema)
print(response)

Flux 2 Dev

from modelslab_py.core.apis.community import Community
from modelslab_py.schemas.community import Flux2Dev

client = Client(api_key="your_api_key")
api = Community(client=client)

schema = Flux2Dev(
    prompt="a futuristic city at night",
    width=1024,
    height=1024,
    samples=1
)

response = api.flux_2_dev(schema=schema)
print(response)

Text to Image

from modelslab_py.core.apis.community import Community
from modelslab_py.schemas.community import Text2Image

client = Client(api_key="your_api_key")
api = Community(client=client, enterprise=False)

schema = Text2Image(
    prompt="a beautiful landscape",
    model_id="midjourney",
    width=512,
    height=512
)

response = api.text_to_image(schema=schema)
print(response)

Async/Await Support

All API methods have async equivalents. Use them for concurrent requests and better performance.

Async Example with Concurrent Requests

import asyncio
from modelslab_py.core.client import Client
from modelslab_py.core.apis.video import Video
from modelslab_py.schemas.video import Text2Video

schema1 = Text2Video(
    model_id="wan2.2",
    prompt="a cat walking",
    num_frames=25,
    fps=16
)

schema2 = Text2Video(
    model_id="wan2.2",
    prompt="a dog running",
    num_frames=25,
    fps=16
)

async def main():
    async with Client(api_key="your_api_key") as client:
        api = Video(client=client, enterprise=False)

        # Run both requests concurrently
        results = await asyncio.gather(
            api.async_text_to_video(schema=schema1),
            api.async_text_to_video(schema=schema2),
        )

        print(results)

asyncio.run(main())

Async Method Naming Convention

For any synchronous method, prefix with async_:

  • text_to_video()async_text_to_video()
  • text_to_image()async_text_to_image()
  • background_remover()async_background_remover()

Provider-Based API Usage

The SDK includes provider-specific implementations for easy access to various AI models:

Minimax Provider (Video Generation)

from modelslab_py.core.client import Client
from modelslab_py.providers import MinimaxProvider
from modelslab_py.providers.minimax.schemas import Hailuo23T2VSchema

client = Client(api_key="your_api_key")
minimax = MinimaxProvider(client=client)

schema = Hailuo23T2VSchema(
    prompt="A sunset aerial shot of a lone rider galloping across a snow-covered plain"
)

response = minimax.hailuo_23_t2v(schema=schema)
print(response)

BFL Provider (Image Generation)

from modelslab_py.providers import BFLProvider
from modelslab_py.providers.bfl.schemas import FluxPro11Schema

client = Client(api_key="your_api_key")
bfl = BFLProvider(client=client)

schema = FluxPro11Schema(
    prompt="A futuristic cityscape at sunset with flying cars",
    width=1024,
    height=768
)

response = bfl.flux_pro_11(schema=schema)
print(response)

KlingAI Provider (Video Generation)

from modelslab_py.providers import KlingAIProvider
from modelslab_py.providers.klingai.schemas import KlingV25TurboT2VSchema

client = Client(api_key="your_api_key")
kling = KlingAIProvider(client=client)

schema = KlingV25TurboT2VSchema(
    prompt="Cinematic drone shot of a luxury cruise ship sailing",
    duration="5",
    aspect_ratio="16:9"
)

response = kling.kling_v25_turbo_t2v(schema=schema)
print(response)

Sync Provider (Lip Sync)

from modelslab_py.providers import SyncProvider
from modelslab_py.providers.sync.schemas import Lipsync2Schema

client = Client(api_key="your_api_key")
sync = SyncProvider(client=client)

schema = Lipsync2Schema(
    init_video="https://example.com/video.mp4",
    init_audio="https://example.com/audio.mp3"
)

response = sync.lipsync_2(schema=schema)
print(response)

Available Providers

  • AlibabaProvider: Wan2.5 video generation models
  • BFLProvider: Flux Pro image generation models
  • BytePlusProvider: SeeDream, SeeDance, and Omni Human models
  • ElevenLabsProvider: Text-to-speech and audio generation
  • GoogleProvider: Imagen models for image generation
  • InworldProvider: Text-to-speech with voice cloning
  • KlingAIProvider: Kling video generation models
  • MinimaxProvider: Hailuo video generation models
  • OpenAIProvider: Sora video generation
  • RunwayProvider: Gen-4 image and video models
  • SonautoProvider: Music and song generation
  • SyncProvider: Video lip-sync models

API Categories

  • Image Editing: Background removal, super resolution, inpainting, outpainting
  • Video: Text-to-video, image-to-video, watermark removal
  • Audio: Text-to-speech, voice conversion, music generation
  • Interior: Room design, floor planning, object placement
  • 3D: Text-to-3D, image-to-3D model generation
  • Deepfake: Face swapping, video manipulation
  • Community: Access to community-trained models

Documentation

For detailed documentation, visit docs.modelslab.com

Support

License

See LICENSE file for details.

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

modelslab_py-0.2.2.tar.gz (22.7 kB view details)

Uploaded Source

Built Distribution

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

modelslab_py-0.2.2-py3-none-any.whl (44.1 kB view details)

Uploaded Python 3

File details

Details for the file modelslab_py-0.2.2.tar.gz.

File metadata

  • Download URL: modelslab_py-0.2.2.tar.gz
  • Upload date:
  • Size: 22.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.1 Linux/6.11.0-1018-azure

File hashes

Hashes for modelslab_py-0.2.2.tar.gz
Algorithm Hash digest
SHA256 7bec71636242eb2c41acea0924e55225df74ca7b5d73d29f0f52fa95356c6f5e
MD5 a12727ef83b848e96a88cf92109cc40b
BLAKE2b-256 6453da792acf4f77513b621a6c5cb25e1c17e5207a3cf9347768341204863f4a

See more details on using hashes here.

File details

Details for the file modelslab_py-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: modelslab_py-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 44.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.1 Linux/6.11.0-1018-azure

File hashes

Hashes for modelslab_py-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 647aa28776bc4e770e24a0ff02a65684de5fc1adb405aa23d8576831d3920195
MD5 9651f4342fa304bf8e9380df0747c179
BLAKE2b-256 8861b772ef67b7a30cdf7cf16c85a894223b89d6964fb2a276f3a84a87d15b03

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