Skip to main content

Leonardo.ai Python API

Project description

This is Leonardo.ai API.

PyPI version Linters PyPI - License PyPI - Python Version Downloads Downloads

This package contains Python API for Leonardo.ai based on official API documentation.

Leonardo.ai interface

To install the package, please use package from pypi:

pip install leonardo-api

This Python API provides access to Leonardo API using synchronous methods (based on requests library) as well as asynchronous (aiohttp). You can choose one of them - Leonardo or LeonardoAsync.

To start, you must have paid subscription and create an API access token from you settings page->User API. Then, init manager class with using your access_token:

from leonardo_api import Leonardo

leonardo = Leonardo(auth_token='abcd-1234-5678-90ef-deadbeef00000')

Now you can use all API methods, provided by Leonardo.ai API, i.e. starting getting user info and generating your first image:

response = leonardo.get_user_info()  # get your user info
response = leonardo.post_generations(prompt="The quick brown fox jumps over the lazy dog", num_images=1,
                                           negative_prompt='schrodinger cat paradox',
                                           model_id='e316348f-7773-490e-adcd-46757c738eb7', width=1024, height=768,
                                           guidance_scale=7)

In according to API reference, you will get the json answer with content about pending job like following:

{"sdGenerationJob": {"generationId": "123456-0987-aaaa-bbbb-01010101010"}}

To obtain your image you need to use additional method:

response = leonardo.get_single_generation(generation_id)  # get it using response['sdGenerationJob']['generationId']

Or, optionally, you may wait for job completion using following method:

response = leonardo.wait_for_image_generation(generation_id=response['sdGenerationJob']['generationId'])

Finally, you'll get your array of images:

[{'url': 'https://cdn.leonardo.ai/users/abcd-1234-5678-90ef-deadbeef00000/generations/123456-0987-aaaa-bbbb-01010101010/Absolute_Reality_v16_The_quick_brown_fox_jumps_0.jpg', 'nsfw': False, 'id': 'aaaaaa-bbbb-cccc-dddd-ffffffffff', 'likeCount': 0, 'generated_image_variation_generics': []}]

The quick brown fox jumps over the lazy dog

You'll find descriptions for rest of the methods in official API reference.


As option, you may want to use preloaded dicts with models (nsfw/community/platform):

from leonardo_api import platform_models, custom_models, nsfw_models

Which contains details of models like following:

{
    "data": {
        "custom_models": [
            {
                "id": "f1929ea3-b169-4c18-a16c-5d58b4292c69",
                "name": "RPG v5",
                # rest of the model data
            }
            # rest models
        ]
    }
}

Have fun and enjoy!

Donations

If you like this project, you can support it by donating via DonationAlerts or BuyMeACoffee or ThanksDev.

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

leonardo_api-0.0.14.tar.gz (807.2 kB view details)

Uploaded Source

Built Distribution

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

leonardo_api-0.0.14-py3-none-any.whl (48.7 kB view details)

Uploaded Python 3

File details

Details for the file leonardo_api-0.0.14.tar.gz.

File metadata

  • Download URL: leonardo_api-0.0.14.tar.gz
  • Upload date:
  • Size: 807.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for leonardo_api-0.0.14.tar.gz
Algorithm Hash digest
SHA256 70cb299b7060ffc89e0947fdbfac65c8f06329b654ecc30b1b71981f4ca46fa1
MD5 7cfb43f2afab47d537a3afa715985115
BLAKE2b-256 74a622cad52b96829f4d8a61acb874c97afca60ff5075828f012dde46765c94e

See more details on using hashes here.

File details

Details for the file leonardo_api-0.0.14-py3-none-any.whl.

File metadata

  • Download URL: leonardo_api-0.0.14-py3-none-any.whl
  • Upload date:
  • Size: 48.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for leonardo_api-0.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 f77972f2be875b3f5fd1a5660192a7b7fe3d7a1acb254620b3ab042277ae43de
MD5 9582a7f06409bf1bcc9e386626a9e074
BLAKE2b-256 7a0688fbd0191b46f74c7a5ebcf5cee8140abc5e16140fd0066eac9597acbd9b

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