Omnicron is a powerful multimodel API designed to cater to a wide range of advanced capabilities. Think of it as an all in one package that suites all your needs. Here is a list of its features:
- Chat Completion: Includes models like the open ai gpt-4 and gpt-40 to handle chat completion.
- Image Generation: Image Generation is handled by replicate state of the art models for image generations like the sdxl-lightning-4step and more ...
- Video Generation
- Speech To Text
- Text To Speech (voice cloning)
- Image Upscale
- Music Generation
- Song Recognition (shazam)
- Youtube Summarization
- Video downloader tool: Download videos from various website.
- Music downloader tool: Search and download song/music to your device. A drop in replacement for spotify.
- MP3 Converter: Convert your video and audio files to mp3.
- Text To Image: Scan text written in your image using the tesseract ocr engine.
Omnicron leverages robust and efficient models from Replicate, ensuring high performance, accuracy, and scalability across all its functionalities. Rigorous testing and meticulous design using go makes Omnicron suitable for production environments.
One notable project that successfully integrates Omnicron is Omnicron-Telebot, demonstrating its versatility and reliability in real-world applications.
note: If you want your project to be listed here. Send an email to me with a full description of your project. charlesozochukwu2004@gmail.com
- Go 1.20+
- Python 3.8 or higher
- Git
- Docker and Docker-compose.
- Tesseract-ocr
- ffmpeg
To install Omnicron, follow these steps:
-
Clone the Repository: Clone the Git repository to your local machine.
git clone https://github.com/kingmariano/omnicron.git
-
Set Up Environment Variables: Change the environment variables as required.
- MY API KEY: Generate a random API key. It can be done using various methods. Either by using openssl or any other method suitable for you. using openssl
openssl rand -base64 32
-
Port: Set the port to
9000
or any other port number. -
GROK API KEY: Signup/Login to the Grok Console Cloud and retrieve your API token.
-
GEMINI PRO API KEY: Signup/Login to the Google Gemini Studio and retrieve your API token.
-
REPLICATE API TOKEN: Signup/Login to replicate and retrieve your API token.
-
CLOUDINARY URL: Signup/Login to Cloudinary. Navigate to the cloudinary console and get your cloudinary URL secret. It should look like this
cloudinary://<your_api_key>:<your_api_secret>@djagytapi
-
TESSDATA PREFIX: This is the location of where tesseract is installed on your machine. Install tessract for your os and set the location to
/usr/local/share/tessdata
for linux orC:\Program Files\Tesseract-OCR\tessdata
for windows. If yours is configured to a different file location. Set it to where the tessdata location is on your machine. -
FAST API BASE URL: Set this to
http://0.0.0.0:8000
orhttp://localhost:8000
to connect the fast api server to the go code. -
Environment Variables: Create a
.env
file in the project root directory and add the following:
PORT=9000 // or some other port MY_API_KEY=YOUR_API_KEY_HERE GROK_API_KEY=YOUR_GROK_API_KEY_HERE GEMINI_PRO_API_KEY=YOUR_GEMINI_PRO_API_KEY_HERE REPLICATE_API_TOKEN=YOUR_REPLICATE_API_TOKEN_HERE CLOUDINARY_URL=YOUR_CLOUDINARY_URL_HERE TESSDATA_PREFIX=/usr/local/share/tessdata //or C:\Program Files\Tesseract-OCR\tessdata for windows FAST_API_BASE_URL=http://0.0.0.0:8000
-
Build and run the Application: First install all the python dependencies by running
pip install --upgrade -r ./python/requirements.txt
then run
go build -o omnicron && ./omnicron
-
Using docker compose: You can use docker compose to build the image.
docker-compose up --build
After setting up and running the application, you can navigate to http://localhost:9000/readiness
to check the health of the application.
Check out the full api documentation here
- Golang: A robust wrapper for the Omnicron API has also already been written check it out here
Please feel free to submit issues, fork the repository and send pull requests! If you notice any bug in the code. You can always submit an issue and it will be reviewed.
If you use Omnicron in your research or project, please cite it as follows:
@software{omnicron,
author = {Charles Ozochukwu},
title = {Omnicron: A Multimodel API for Advanced AI Capabilities},
year = {2024},
url = {https://github.com/kingmariano/omnicron}
}
This project is licensed under the MIT License. See the LICENSE file for details.