Text-to-avatar generates visual UI attributes from natural language descriptions of avatars.
Project description
text_to_avatar
Convert text descriptions into structured UI avatar attributes with consistency and coherence.
Overview
text_to_avatar is a Python package that transforms natural language descriptions of avatars (e.g., "a friendly robot with blue eyes and a metallic body") into structured, consistent UI avatar attributes. It leverages an LLM to interpret input and outputs a standardized format containing elements like color, style, features, and accessories, ensuring visual coherence across different requests.
No complex 3D modeling tools or workflows are required—just a simple text input!
🚀 Installation
pip install text_to_avatar
🔧 Usage
Basic Usage (Default LLM: ChatLLM7)
from text_to_avatar import text_to_avatar
response = text_to_avatar(user_input="a cute fox with red fur and a green scarf")
print(response)
Custom LLM Integration
You can replace the default ChatLLM7 with any LangChain-compatible LLM (e.g., OpenAI, Anthropic, Google Generative AI).
Example with OpenAI:
from langchain_openai import ChatOpenAI
from text_to_avatar import text_to_avatar
llm = ChatOpenAI()
response = text_to_avatar(user_input="a cyberpunk samurai with neon armor", llm=llm)
print(response)
Example with Anthropic:
from langchain_anthropic import ChatAnthropic
from text_to_avatar import text_to_avatar
llm = ChatAnthropic()
response = text_to_avatar(user_input="a mystical elf with glowing runes", llm=llm)
print(response)
Example with Google Generative AI:
from langchain_google_genai import ChatGoogleGenerativeAI
from text_to_avatar import text_to_avatar
llm = ChatGoogleGenerativeAI()
response = text_to_avatar(user_input="a futuristic astronaut in a silver suit", llm=llm)
print(response)
🔑 API Key & Rate Limits
- Default LLM: Uses
ChatLLM7(fromlangchain_llm7). - Free Tier: Sufficient for most use cases (check LLM7's rate limits).
- Custom API Key:
- Set via environment variable:
export LLM7_API_KEY="your_api_key_here"
- Or pass directly:
from text_to_avatar import text_to_avatar response = text_to_avatar(user_input="a dragon with fiery scales", api_key="your_api_key")
- Set via environment variable:
Get a free API key at LLM7 Token.
📝 Input Parameters
| Parameter | Type | Description |
|---|---|---|
user_input |
str |
Text description of the desired avatar (e.g., "a friendly robot with blue eyes"). |
api_key |
Optional[str] |
LLM7 API key (if not provided, falls back to LLM7_API_KEY env var). |
llm |
Optional[BaseChatModel] |
Custom LangChain LLM (e.g., ChatOpenAI, ChatAnthropic). Defaults to ChatLLM7. |
📌 Output Format
The function returns a structured list of avatar attributes (e.g., colors, styles, features) in a consistent format, ready for UI rendering.
Example output:
[
{"color": "blue", "type": "eyes"},
{"style": "metallic", "type": "body"},
{"accessory": "helmet", "material": "chrome"}
]
🔄 Customization
- Modify the regex pattern in
.prompts.pyto adjust output structure. - Extend the system prompt for advanced use cases.
📜 License
MIT License (see LICENSE).
📢 Support & Issues
Report bugs or request features at: 🔗 GitHub Issues
👤 Author
- Eugene Evstafev (@chigwell)
- Email: hi@euegne.plus
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file text_to_avatar-2025.12.21234918.tar.gz.
File metadata
- Download URL: text_to_avatar-2025.12.21234918.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d58daa3bcd99c694a79adecdebe76b7a2a6a6f06b0c98c3596aaf8a0da8fb0e6
|
|
| MD5 |
786083d2a358f1ac893143c3e4e277ed
|
|
| BLAKE2b-256 |
4ef449a4f076cdaa0bb955f42e321f77020e3f8af55d1338a235642762f42294
|
File details
Details for the file text_to_avatar-2025.12.21234918-py3-none-any.whl.
File metadata
- Download URL: text_to_avatar-2025.12.21234918-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b52d4f537195a35cf5a6c98b3389798a51845b74d20427184963369a924f3fb9
|
|
| MD5 |
6e736c28e228ca684ea319fce954ec69
|
|
| BLAKE2b-256 |
b0a4533d32c1846d3f2a90738d9dfe9311987c9d77dd5392d41b246ecf187d24
|