This Unity package provides an easy-to-use integration for the Hugging Face Inference API, allowing developers to access and use Hugging Face AI models within their Unity projects.
- Open the Unity project you want to add the package to.
- Go to "Window" > "Package Manager" to open the Package Manager.
- Click the "+" in the upper left hand corner and select "Add package from git URL".
- Enter the URL of this repository and click "Add": https://github.com/huggingface/unity-api.git
In the Hugging Face Website:
-
Generate an API key in https://huggingface.co/settings/tokens, we **advise you to create a Fine-Grained Token.
-
When the API key is created click on Set Permissions
- Authorize Inference with this API key
After installation, the Hugging Face API wizard should open. If not, open it by clicking "Window" > "Hugging Face API Wizard".
-
Test the API key.
-
Optionally, update the endpoints to use different models.
To help you getting started, we wrote a tutorial where you create a robot agent that understands text orders and executes them.
The tutorial 👉 https://thomassimonini.substack.com/p/building-a-smart-robot-ai-using-hugging
The demo 👉 https://huggingface.co/spaces/ThomasSimonini/SmartRobot
To try the included example scene, follow these steps:
- Click "Install Examples" in the Hugging Face API Wizard to copy the example files into your project.
- Navigate to the "Hugging Face API" > "Examples" > "Scenes" folder in your project.
- Open the "ConversationExample" scene.
- If prompted by the TMP Importer, click "Import TMP Essentials".
- Press "Play" to run the example. You should be able to use the UI to interact with the model.
The package includes a HuggingFaceAPI
class that you can use from your scripts.
- Import the
HuggingFace.API
namespace in your script. - Call the API method for the task you want.
using HuggingFace.API;
HuggingFaceAPI.TextToImage("a cat in a hat", result => {
// Do something with the result, which in this case is a Texture2D
}, error => {
// Handle errors
Debug.LogError(error);
});
For a more advanced scripting example, refer to the included example scripts.
Task | Status |
---|---|
Conversation | ✅ |
Text Generation | ✅ |
Text to Image | ✅ |
Text Classification | ✅ |
Zero Shot Text Classification | ✅ |
Question Answering | ✅ |
Translation | ✅ |
Summarization | ✅ |
Sentence Similarity | ✅ |
Speech Recognition | ✅ |
If you encounter issues or have questions about the package, open an issue on the repository.