AsyncKandinsky


NameAsyncKandinsky JSON
Version 2.0.0 PyPI version JSON
download
home_pagehttps://github.com/s1rne/kandinsky-async-api
SummaryThis module is designed for asynchronous use of the kandinsky neural network and easy integration into your project.
upload_time2024-04-08 15:51:27
maintainerNone
docs_urlNone
authors1rne
requires_python>=3.6
licenseNone
keywords kandinsky text2img async api
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # **kandinsky-api-requests**

**Асинхронное** api для использования kandinsky 3.0 в своих проектах

## **Как использовать:**
##### Установка: 
```
pip install AsyncKandinsky
```

### Для инициализации FusionBrainApi можно использовать keys или данные аккаунта:
 + api_key и secret_key:
   + **!!! Ключи создаются в вкладке api (https://fusionbrain.ai/keys/)**
   + быстрый и простой способ генерации 
   + не самое лучше качество генерации
 + почта и пароль - данные от уже созданного аккаунта:
   + **!!! Обязательно нужен уже зарегистрированный аккаунт**
   + в такой версии будет доступна генерация: **видео / анимации / больше стилей** {В процесса разработки}
   + лучшее качество генерации

```
model = FusionBrainApi(ApiApi("Сюда свой api_key", "Сюда свой secret_key"))
# Любой способ на выбор
model = FusionBrainApi(ApiWeb("Ваша почта", "Ваш пароль"))
```

#
###### *Полные примеры можно посмотреть в tests.py (GitHub)*


### 1. text2image
```
async def generate():
    result = await model.text2image("котик", style="ANIME")
    if result["error"]:
        print("Error:")
        print(result["data"])
    else:
        with open("cat_anime_img.png", "wb") as f:
            f.write(result["data"].getvalue())
        print("Done!")
```

### 2. text2animation
```
async def generate():
    # описания для двух сцен
    result = await model.text2animation(["котик бежит по полю", "котик пьёт воду из речки"])
    # Стиль придётся самому вписывать
    if result["error"]:
        print("Error:")
        print(result["data"])
    else:
        with open("cat_anime_animation.mp4", "wb") as f:
            f.write(result["data"].getvalue())
        print("Done!")
```

### 3. text2video
```
async def generate():
    result = await model.text2video("котик бежит по полю")
    # Стиль придётся самому вписывать
    if result["error"]:
        print("Error:")
        print(result["data"])
    else:
        with open("cat_anime_video.mp4", "wb") as f:
            f.write(result["data"].getvalue())
        print("Done!")
```

#
Все стили можно посмотреть в `await FusionBrainApi().get_styles()`:

```
async def read_styles():
    for style in await model.get_styles():
        print(style)
```

![Пример генерации](https://github.com/s1rne/kandinsky-async-api/blob/main/cat_anime.jpg)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/s1rne/kandinsky-async-api",
    "name": "AsyncKandinsky",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "kandinsky text2img async api",
    "author": "s1rne",
    "author_email": "s.simaranov8@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/3f/24/65cd36115e3280386f361b5e686287d488062b0ca5e24370d3b931022aa7/AsyncKandinsky-2.0.0.tar.gz",
    "platform": null,
    "description": "# **kandinsky-api-requests**\n\n**\u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0435** api \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f kandinsky 3.0 \u0432 \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445\n\n## **\u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c:**\n##### \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430: \n```\npip install AsyncKandinsky\n```\n\n### \u0414\u043b\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 FusionBrainApi \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c keys \u0438\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430:\n + api_key \u0438 secret_key:\n   + **!!! \u041a\u043b\u044e\u0447\u0438 \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 api (https://fusionbrain.ai/keys/)**\n   + \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \n   + \u043d\u0435 \u0441\u0430\u043c\u043e\u0435 \u043b\u0443\u0447\u0448\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438\n + \u043f\u043e\u0447\u0442\u0430 \u0438 \u043f\u0430\u0440\u043e\u043b\u044c - \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0442 \u0443\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430:\n   + **!!! \u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u0435\u043d \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0430\u043a\u043a\u0430\u0443\u043d\u0442**\n   + \u0432 \u0442\u0430\u043a\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f: **\u0432\u0438\u0434\u0435\u043e / \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 / \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u0442\u0438\u043b\u0435\u0439** {\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438}\n   + \u043b\u0443\u0447\u0448\u0435\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438\n\n```\nmodel = FusionBrainApi(ApiApi(\"\u0421\u044e\u0434\u0430 \u0441\u0432\u043e\u0439 api_key\", \"\u0421\u044e\u0434\u0430 \u0441\u0432\u043e\u0439 secret_key\"))\n# \u041b\u044e\u0431\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043d\u0430 \u0432\u044b\u0431\u043e\u0440\nmodel = FusionBrainApi(ApiWeb(\"\u0412\u0430\u0448\u0430 \u043f\u043e\u0447\u0442\u0430\", \"\u0412\u0430\u0448 \u043f\u0430\u0440\u043e\u043b\u044c\"))\n```\n\n#\n###### *\u041f\u043e\u043b\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 tests.py (GitHub)*\n\n\n### 1. text2image\n```\nasync def generate():\n    result = await model.text2image(\"\u043a\u043e\u0442\u0438\u043a\", style=\"ANIME\")\n    if result[\"error\"]:\n        print(\"Error:\")\n        print(result[\"data\"])\n    else:\n        with open(\"cat_anime_img.png\", \"wb\") as f:\n            f.write(result[\"data\"].getvalue())\n        print(\"Done!\")\n```\n\n### 2. text2animation\n```\nasync def generate():\n    # \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u0434\u0432\u0443\u0445 \u0441\u0446\u0435\u043d\n    result = await model.text2animation([\"\u043a\u043e\u0442\u0438\u043a \u0431\u0435\u0436\u0438\u0442 \u043f\u043e \u043f\u043e\u043b\u044e\", \"\u043a\u043e\u0442\u0438\u043a \u043f\u044c\u0451\u0442 \u0432\u043e\u0434\u0443 \u0438\u0437 \u0440\u0435\u0447\u043a\u0438\"])\n    # \u0421\u0442\u0438\u043b\u044c \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0441\u0430\u043c\u043e\u043c\u0443 \u0432\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c\n    if result[\"error\"]:\n        print(\"Error:\")\n        print(result[\"data\"])\n    else:\n        with open(\"cat_anime_animation.mp4\", \"wb\") as f:\n            f.write(result[\"data\"].getvalue())\n        print(\"Done!\")\n```\n\n### 3. text2video\n```\nasync def generate():\n    result = await model.text2video(\"\u043a\u043e\u0442\u0438\u043a \u0431\u0435\u0436\u0438\u0442 \u043f\u043e \u043f\u043e\u043b\u044e\")\n    # \u0421\u0442\u0438\u043b\u044c \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0441\u0430\u043c\u043e\u043c\u0443 \u0432\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c\n    if result[\"error\"]:\n        print(\"Error:\")\n        print(result[\"data\"])\n    else:\n        with open(\"cat_anime_video.mp4\", \"wb\") as f:\n            f.write(result[\"data\"].getvalue())\n        print(\"Done!\")\n```\n\n#\n\u0412\u0441\u0435 \u0441\u0442\u0438\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 `await FusionBrainApi().get_styles()`:\n\n```\nasync def read_styles():\n    for style in await model.get_styles():\n        print(style)\n```\n\n![\u041f\u0440\u0438\u043c\u0435\u0440 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438](https://github.com/s1rne/kandinsky-async-api/blob/main/cat_anime.jpg)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "This module is designed for asynchronous use of the kandinsky neural network and easy integration into your project.",
    "version": "2.0.0",
    "project_urls": {
        "GitHub": "https://github.com/s1rne/kandinsky-async-api",
        "Homepage": "https://github.com/s1rne/kandinsky-async-api"
    },
    "split_keywords": [
        "kandinsky",
        "text2img",
        "async",
        "api"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9f7bd11843b9534d62f5eeaada23fe9d898852a47bc3c0ac39a46c47ef9fac24",
                "md5": "75be8d4de93548ec2997535e5005989c",
                "sha256": "071daa491d3ea21ac400aee64036248235ae3e69347cec5cdd35ab563d097b88"
            },
            "downloads": -1,
            "filename": "AsyncKandinsky-2.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "75be8d4de93548ec2997535e5005989c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 6381,
            "upload_time": "2024-04-08T15:51:24",
            "upload_time_iso_8601": "2024-04-08T15:51:24.775421Z",
            "url": "https://files.pythonhosted.org/packages/9f/7b/d11843b9534d62f5eeaada23fe9d898852a47bc3c0ac39a46c47ef9fac24/AsyncKandinsky-2.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3f2465cd36115e3280386f361b5e686287d488062b0ca5e24370d3b931022aa7",
                "md5": "dd0792c9965498c585d81521ab46792d",
                "sha256": "44cc3d411b7c61655302696196c5344401fe6ff104d3988a48a4039f3ea3ca3f"
            },
            "downloads": -1,
            "filename": "AsyncKandinsky-2.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "dd0792c9965498c585d81521ab46792d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 5432,
            "upload_time": "2024-04-08T15:51:27",
            "upload_time_iso_8601": "2024-04-08T15:51:27.662714Z",
            "url": "https://files.pythonhosted.org/packages/3f/24/65cd36115e3280386f361b5e686287d488062b0ca5e24370d3b931022aa7/AsyncKandinsky-2.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-08 15:51:27",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "s1rne",
    "github_project": "kandinsky-async-api",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "asynckandinsky"
}
        
Elapsed time: 0.23638s