Skip to main content

Your SDK and model zoo for generative AI.

Project description

SocAIty SDK

Your SDK and model zoo for generative AI.

The SDK provides generative models and AI tools across all domains including text, audio, image and more. Think of it as open-CV for generative AI. It allows you to run models as simple python functions. No GPU or AI knowledge required.

If you are a Software Engineer, Game Developer, Artist, Content Creator and you want to automate with AI this SDK is for you.

For an overview of all models and to obtain an API key visit socaity.ai

Run models as if they were python functions nomatter where they are deployed:

  • hosted on socaity servers (default)
  • deployed on your localhost / your own server- hybrid deployment

You can focus on your app, while we handle all the complicated stuff under the hood.


Quicklinks:


Getting started

Installation

Install the package from PyPi

pip install socaity

Authentication

For using socaity.ai services you need to set the environment variable SOCAITY_API_KEY. You can obtain an API key from socaity.ai after signing up. Now you are ready to use the SDK.

Alternatively you can set the API key in your code when using the SDK. We don't recommend this, as it a common mistake to push your code including your API key to a public repository.

from socaity import FluxSchnell
flux_schnell = FluxSchnell(service="socaity", api_key="sai..your_api_key")

If you instead want to directly communicate with your runpod services or replicate you can set the environment variable RUNPOD_API_KEY or REPLICATE_API_KEY. When initializing your ModelClient you can additionally pass which provider you want to use by using "service" parameter.

Quick start

Import a model from the model-zoo or just use the simple API (text2img, text2speech etc.)

from socaity import FluxSchnell, text2speech, text2img

Then you can use it as a function

flux_schnell = FluxSchnell().text2img("A beautiful sunset in the mountains")
my_image = text2img("A beautiful sunset in the mountains").get_result()

Example 1: Combine llm, text2img and text2speech

We will use different models to showcase how to create for example a perfect combination for a blog.

from socaity import DeepSeekR1, text2voice, text2img

deepseek = DeepSeekR1()
poem = deepseek.chat("Write a poem with 3 sentences why a SDK is so much better than plain web requests.").get_result()
poem = deepseek.pretty(poem)

audio = text2voice(poem, model="speechcraft", voice="hermine")

my_image_prompt = """
A robot enjoying a stunning sunset in the alps. In the clouds is written in big letters "SOCAITY SDK".
The sky is lit with deep purple and lime colors. It is a wide-shot.
The artwork is striking and cinematic, showcasing a vibrant neon-green lime palette, rendered in an anime-style illustration with 4k detail. 
Influenced by the artistic styles of Simon Kenny, Giorgetto Giugiaro, Brian Stelfreeze, and Laura Iverson.
"""

image = text2img(text=my_image_prompt, model="flux-schnell", num_outputs=1)
audio.get_result().save("sdk_poem.mp3")
image.get_result().save("sdk_poem.png")

This results in something like this:

Jobs vs. Results

When you invoke an service, internally we use threading and asyncio to check the socaity endpoints for the result. This makes it possible to run multiple services in parallel and is very efficient.

# the base method always returns a job
d_job = deepseek.chat("Write a poem with 3 sentences why a SDK is so much better than plain web requests.")
# in the meantime you can call other services or do what you want
... do other things here ... 
# when you need the result you can call get_result()
poem = d_job.get_result()

To simplify even more you can use the helper functions with the argument await_result=True then the function will block until the result is available.

from socaity import chat 
poem = chat("Write a poem with 3 sentences why a SDK is so much better than plain web requests.", await_result=True)

Model zoo

A curated list of hosted models you always find on socaity.ai.

To start here's a list of some of the models you can use with the SDK. Just import them with from socaity import ... to use them.

Text domain

  • DeepSeek-R1
  • LLama3 Family (8b, 13b, 70b models. Codellama and Instruct models)

Image domain

  • FluxSchnell (Text2Image)
  • SAM2 (Image segmentation)
  • TencentArc Photomaker

Audio domain

Note that we have just launched the startup. Expect new models coming highly frequently.

Working locally or with other providers

Any service that is fastSDK compatible (openAPI / fastTaskAPI, replicate and runpod) can be used with this package.

Model deployment type Description Pros Cons
Locally Install genAI packages on your machine and use it with socaity Free, Open-Source GPU needed, more effort
Hosted Use the AIs hosted on socaity servers or of another provider. Runs everywhere, Ultra-easy, always up to date Slightly higher cost
Hybrid Deploy on runpod, locally and use socaity services. Full flexibility Effort

Example: deploying and using an service locally

This example demonstrates the use case with face2face. With face2face you can swap faces, restore images and detect faces in images.

# Install the package
pip install face2face
# Start the server on localhost 
python -m face2face.server

Now you can use the SDK with the service parameter set to "localhost"

from socaity import Face2Face
f2f = Face2Face(service="localhost")
f2f.swap_img_to_img("path/to/image1.jpg", "path/to/image2.jpg")

Socaity publishes services open-source. So you can use any of them in a similar way.

Furthermore: any service that is created with FastTaskAPI can be easily used in combination with FastSDK. Checkout the FastSDK documentation for more information.

Example: using a service hosted on runpod

We assume the service is already hosted. FastTaskAPI makes it incredibly easy to deploy services. Checkout the FastTaskAPI documentation to learn how to host on runpod.

# setup adresses
from socaity.api.image.img2img.face2face.face2face_service_client import srvc_face2face
srvc_face2face.add_service_url("my_runpod", "https://api.runpod.ai/v2/your_runpod_service_id")
# use the service
f2f = Face2Face(service="my_runpod", api_key="your_api_key")
f2f.swap_img_to_img("path/to/image1.jpg", "path/to/image2.jpg")

Important Note

  • PACKAGE IS IN ALPHA RELEASE. RAPID CHANGES TO SYNTAX AND FUNCTIONALITY NEED TO BE EXPECTED
  • LEAVE A STAR TO SUPPORT THIS WORK AND FOR MORE MODELS BEING ADDED TO THE LIBRARY

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

socaity-0.0.4.tar.gz (41.7 kB view details)

Uploaded Source

Built Distribution

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

socaity-0.0.4-py3-none-any.whl (56.7 kB view details)

Uploaded Python 3

File details

Details for the file socaity-0.0.4.tar.gz.

File metadata

  • Download URL: socaity-0.0.4.tar.gz
  • Upload date:
  • Size: 41.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.11

File hashes

Hashes for socaity-0.0.4.tar.gz
Algorithm Hash digest
SHA256 f8b71f6681982a04170309ed853ca7ebb2181efcac19a09dfa7dbd3e8d62da5f
MD5 eab3ab9360b115ab2078d8f02c667381
BLAKE2b-256 2654d0fa700397d0f2ecf4df7b783a986ffb1f783b368398205e98c471721f47

See more details on using hashes here.

File details

Details for the file socaity-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: socaity-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 56.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.11

File hashes

Hashes for socaity-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3e3c30fe75abe59e982b4e14da5e50f553f25ea16e5f9beecd854febcb25c725
MD5 72c7baafa292f8761a96e70aae5c8884
BLAKE2b-256 52e1b3f11c942238552cffde4c6d441827f8ea1752422075725816cb617b3dc9

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