socaity
Version:
SDK for Generative AI. Build AI-powered applications with ease
138 lines (97 loc) • 5.02 kB
Markdown
<h1 align="center" style="margin-top:-25px">SocAIty SDK</h1>
<p align="center">
<img align="center" src="docs/socaity_icon.png" height="200" />
</p>
<h2 align="center" style="margin-top:-10px">Build AI-powered applications with ease </h2>
The **Socaity TypeScript SDK** simplifies integration with **[Socaity.ai](https://www.socaity.ai)**, a leading platform for AI-powered content generation, including **text-to-image**, **text-to-speech**, **face swapping**, **chat models**, and more.
With a lightweight footprint (**UMD ~25KB, ES ~30KB**), this SDK lets you seamlessly interact with Socaity's hosted AI models using simple, intuitive API calls.
A complete list of all models can be found [here](https://www.socaity.ai/APIs/Overview).
## 🚀 Why Use the Socaity SDK?
- **One-liner AI calls** – No need to handle raw API requests.
- **Asynchronous & performant** – Optimized for parallel processing.
- **Supports multiple AI models** – Text, images, voice cloning, deep fakes, virutal avatars and more.
- **File handling included** – Upload/download images with ease.
- **Works with Node.js & Browser** – Supports ES modules and UMD builds.
## Installation
Install via **npm**:
```sh
npm install socaity
```
## Quick Start
### 🔑 Import the SDK
```typescript
import { socaity } from "socaity";
socaity.setApiKey('sk...'); // we recommend settting the API key with environment variables.
```
Register and [get your API key](https://www.socaity.ai/signinup?page_state=0)
This will use the SOTA DeepSeek-R1 to create your response.
```typescript
const response = await socaity.chat("Explain why an SDK is better than direct API calls.");
```
To use a different model like llama3 just add a second parameter as model name.
```typescript
const images = await socaity.text2img("A futuristic city at sunset", "flux-schnell", { num_outputs: 1 });
await images[0].save("output/futuristic_city.jpg");
```
```typescript
const audio = await socaity.text2voice("Hello, welcome to Socaity!");
await audio.save("output/welcome_message.mp3");
```
Use two audio-files and copy the voice of the source to the other one.
Internally this will create an embedding first.
```typescript
const clonedVoice = await socaity.voice2voice("data/input_voice.mp3", "data/source_voice.mp3");
await clonedVoice.save("output/cloned_voice.mp3");
```
Or do it more efficient by creating and reusing an embedding by leveraging the power of [SpeechCraft](https://github.com/SocAIty/SpeechCraft).
```typescript
import { SpeechCraft } from 'socaity'
// create embedding
const speechCraft = new SpeechCraft();
const embedding = await speechCraft.voice2embedding("data/source_voice.mp3");
await embedding.save("output/source_embedding.npz");
// reuse embedding
const clonedVoice = await speechCraft.voice2voice("data/input_voice.mp3", "output/source_embedding.npz");
await clonedVoice.save("output/cloned_voice.mp3");
```
```typescript
const result = await socaity.swapImg2Img("data/source.jpg", "data/target.jpg");
await result.save("output/face_swap.jpg");
```
```typescript
const [img, chat_response] = await Promise.all([
socaity.text2img("A cyberpunk landscape", "flux-schnell"),
socaity.chat("Describe quantum physics in simple terms.")
]);
```
The SocAIty SDK includes a powerful toolkit that simplifies handling files across both Node.js and browser environments. Check-out the media-toolkit [docs](https://github.com/SocAIty/media-toolkit-js) to learn more about it.
Many models are directly importable by the module. Some of them have specialized methods and parameters which are not included to the simple usage wrapper methods like socaity.text2img.
```typescript
import { FluxSchnell } from "socaity";
FluxSchnell.text2img("Rick and Morty swimming in a lake", {
num_outputs: 3,
aspect_ratio: "16:9",
num_outputs: 3,
num_inference_steps: 5}
).then(images => { ... });
```
- **Node.js:** Works with `import { socaity } from "socaity"`.
- **Browser:** Use the UMD build: `<script src="socaity.umd.js"></script>`.
You might be interested also in the [python SDK](https://github.com/SocAIty/socaity)
We welcome contributions! Submit PRs or report issues in the GitHub Repos or in the Help section of your socaity account.
This SDK is open-source and available under the **MIT License**.
Note: We are in alpha version. Thus expect rapid changes to the SDK, APIs and more models to be added frequently.