Ted is a friendly, professional AI agent that evaluates visual assets (images and videos) against brand guidelines to ensure compliance and stylistic alignment. Ted is powered by Hugging Face models and runs entirely without Google Cloud.
The evaluation methodology uses a rubric-based approach (inspired by Rubric-Based Evaluation for On-Brand Generative Media):
- DSG (Davidsonian Scene Graph) — checks prompt fidelity and general quality
- BAS (Brand Alignment Scorecard) — checks compliance with your brand guidelines
Ted uses a sequential Python pipeline (no external agent framework):
- Ted (Planner) — understands your request, categorises uploaded files, confirms the plan
- Ted Processor — extracts structured brand criteria from guideline documents (PDF, MD, TXT)
- Ted Evaluator — evaluates each visual asset against the extracted criteria using a vision LLM
- Ted Summariser — aggregates scores and presents a final brand-alignment report
Tech stack:
- LLM / Vision: Hugging Face Inference API —
meta-llama/Llama-3.2-11B-Vision-Instructby default - Web UI: Gradio
- Storage: Local filesystem (
~/.ted/) - No Google Cloud account required
- Python 3.13+
- uv package manager
- A Hugging Face account with an access token
cp .env.template .envOpen .env and set your Hugging Face token:
HF_TOKEN="hf_your_token_here"
Get a token at huggingface.co/settings/tokens. The free tier is sufficient for meta-llama/Llama-3.2-11B-Vision-Instruct.
uv syncuv run python -m ted.appOpen http://localhost:7860 in your browser.
- Upload your brand guideline files (PDF, Markdown, or text) using the file panel
- Upload your visual assets (PNG, JPG, MP4, etc.)
- Type "proceed" (or any evaluation-related message) to start
- Ted will process your guidelines, evaluate each asset, and deliver a full report
uv run pytest -vUnit tests use mocks and do not require an HF token. Integration tests mock the HF API by default.
All configuration lives in .env:
| Variable | Default | Description |
|---|---|---|
HF_TOKEN |
(required) | Your Hugging Face access token |
MODEL_NAME |
meta-llama/Llama-3.2-11B-Vision-Instruct |
Vision model for all LLM calls |
TED_STORAGE_DIR |
~/.ted |
Local directory for session files and reports |
| Type | Extensions | Used as |
|---|---|---|
| Brand guidelines | .pdf, .md, .txt |
Extracted for evaluation criteria |
| Visual assets (images) | .png, .jpg, .jpeg, .gif, .webp |
Evaluated visually against criteria |
| Visual assets (video) | .mp4, .mov, .avi |
Evaluated via rubric (frame extraction not required) |
ted/
├── agent.py — Async pipeline orchestration (Ted's "brain")
├── app.py — Gradio web interface
├── services.py — HF InferenceClient: guideline extraction + vision evaluation
├── tools.py — Local filesystem operations + formatting helpers
├── models.py — Pydantic data models (framework-agnostic)
├── utils.py — Radar chart generation, progress bar
└── auth.py — HF token helper