Professional logos from a product description. Zero dependencies. Open source.
= 18" />
______________________________________________________________________
这是什么?
Logo Studio获取您的产品名称和描述,找出使其在视觉上与众不同的原因,并使用扩散模型生成专业的品牌标记。
大多数AI徽标工具要么是戴着AI面具的模板引擎,要么是将提示负担转嫁给你的原始扩散游乐场。Logo Studio是缺失的中间环节:它理解你的产品,说图像编码器实际响应的语言,并处理代币预算,所以你不必这样做。
管道:
Product text → Mine visual anchors → Compile encoder-aware prompts → Generate images
(LLM extraction) (CLIP/T5 token budgeting) (ComfyUI / Together / diffusers)零生产依赖。 整个包——包括一个完整的CLIP BPE标记器——作为纯TypeScript发布,没有外部npm包。安装它,它就可以工作了。
安装
npm install @mcptoolshop/logo-studio三种使用方法
1.工作室模式——让AI处理一切
给它提供你的产品信息。挖掘引擎提取视觉隐喻,LLM编写一个有凝聚力的提示,编译器令牌为图像编码器进行预算。
import { mine, compile, generate } from '@mcptoolshop/logo-studio';
const mined = await mine({
name: 'Acme Corp',
description: 'We build bridges between legacy systems and modern cloud infrastructure.',
industry: 'enterprise software',
});
// The LLM wrote a visual brief — the compiler uses it directly
const prompts = compile(mined, { promptMode: 'studio' });
const result = await generate(prompts[0], {
backend: 'comfyui',
seed: 42,
});2.原始模式——你写提示
已经知道你想要什么了?编写自己的SDXL提示。管道添加负片并处理后端管道。
import { compile, generate } from '@mcptoolshop/logo-studio';
const prompts = compile(
{ productName: 'Acme', anchors: [], suggestedLogoType: 'symbol', suggestedStyle: '', suggestedPalette: [] },
{
promptMode: 'raw',
rawPrompt: 'geometric shield emblem, interlocking AC monogram, deep navy and burnished gold, clean edges, black background',
}
);
const result = await generate(prompts[0], { backend: 'comfyui' });3.CLI——一个命令
# Full pipeline
logo-studio generate \
--name "Acme Corp" \
--description "We build bridges between legacy systems and modern cloud" \
--backend comfyui \
--variants 4 \
--output ./logos/
# See what the compiler produces (no generation)
logo-studio dry-run --name "Acme" --description "We build bridges..."
# Inspect how CLIP tokenizes your text
logo-studio tokenize "geometric badge with mountain motif, navy and gold"管道是如何工作的
采矿
挖掘引擎将您的产品文本发送给LLM(Anthropic或OpenAI),并要求它像高级品牌设计师一样思考。它提取:
- 视觉锚点 --代表您产品的物理对象(桥、棱镜、联锁齿轮)
- 视觉简报 --一个完整、连贯的SDXL提示(40-65个单词),作为一个单一的视觉故事编写
- 风格和调色板建议 --基于行业和产品定位
关键的见解是:LLM不会输出用逗号粘在一起的2-3个单词的短语,而是将实际的提示写成一个连贯的部分。这比任何关键字填充方法都能产生更好的结果。
编译
编译器获取挖掘输出并将其准备给图像编码器:
- 代币预算 --CLIP的硬上限为77个令牌(75个可用)。编译器将A层保持在72以下,以留出余量。
- 视觉简短验证 --检查LLM的简报是否包含至少一个一级物理对象,是否在字数限制范围内,并避免使用违禁词。无效的内裤会自动退回锚定组件。
- 禁用单词净化 --从CLIP培训分发的廉价端剥离“徽标”、“徽章”、“图标”、“徽标”等单词。
- 检查点感知阴性 --FLUX、SDXL和DreamShaper各自具有不同的故障模式。传递检查点名称,编译器将添加正确的抑制。
- 负提示组装 --用于文本抑制、照片真实感保护和质量保护的标准底片。
- 双层输出 --主题和风格的A级(CLIP,≤72个标记),丰富的可选B级(T5,≤250个标记)。
编译器附带了用TypeScript从头构建的完整CLIP BPE标记器。没有Python,没有WASM,没有外部调用。令牌计数是准确的,不是估计的。
生成
三个可插拔后端:
| 后端 | 您需要什么 | 最适合 |
|---|---|---|
| Comfy用户界面 | 运行ComfyUI服务器(本地或远程) | 完全控制,本地GPU,SDXL/FLUX |
| 一起AI | TOGETHER_API_KEY env-var | 快速生成云,无需GPU |
| 扩散器 | 安装Python+NVIDIA GPU+扩散器 | 研究、微调模型 |
总督(选择加入)
调控器是一个基于令牌的资源控制器,可以防止成本失控:
- 预算跟踪 --限制采矿+发电的总支出
- VRAM限制 --读取nvidia smi,在内存紧张时降低分辨率
- 预热检测 --在发送请求之前等待ComfyUI加载模型
- 断路器 -对故障(OOM、超时、API错误)进行分类并自动退出
- 成本估算 --提交前预览运行成本
import { createGovernor, mine, generate } from '@mcptoolshop/logo-studio';
const governor = createGovernor({ budget: 200, onBudgetExhausted: 'scale' });
const safeMine = governor.wrapMine(mine);
const safeGenerate = governor.wrapGenerate(generate);
// Same API — governor handles throttling transparently
const mined = await safeMine({ name: 'Acme', description: '...' });环境变量
| 变量 | 必需 | 默认 | 由使用 |
|---|---|---|---|
ANTHROPIC_API_KEY | 用于采矿 | -- | 采矿发动机(LLM提取) |
OPENAI_API_KEY | 用于采矿(替代方案) | -- | 采矿发动机(LLM提取) |
TOGETHER_API_KEY | For Together后端 | -- | 共同生成AI |
COMFYUI_URL | 没有 | http://127.0.0.1:8188 | ComfyUI后端 |
你只需要你使用的零件的钥匙。使用原始提示在本地运行ComfyUI需要零个API键。
ComfyUI设置
如果您使用的是ComfyUI后端(建议用于本地GPU):
SDXL工作流使用:CheckpointLoaderSimple→ CLIPTextEncode(正/负)→ 空延迟图像→ K取样器(DPM++2M卡拉斯,30步,CFG 5.0)→ VAE解码→ 保存图像。
CLI参考
logo-studio generate Generate logo images from a product description
logo-studio tokenize Analyze CLIP token usage for a prompt
logo-studio dry-run Show compiled prompts without generating
logo-studio sweep Generate same prompt across multiple seeds for comparison
logo-studio validate Check if a visual brief will produce good results
logo-studio backends Inspect and manage generation backends
Generate options:
--name Product name (required)
--description Product description (or use --file)
--file Read description from a text file
--backend together | comfyui | diffusers (default: together)
--variants How many images to generate (default: 4)
--style Override style (minimal, geometric, organic, brutalist, etc.)
--colors Override palette (comma-separated hex)
--output Output directory (default: ./logos)
--svg Also trace SVG vectors from generated PNGs
--seed Fixed seed for reproducible output
--checkpoint Checkpoint name (enables checkpoint-specific negative tuning)
--model Together AI model ID or checkpoint override
--sampler ComfyUI sampler (euler, dpmpp_2m, etc.)
--scheduler ComfyUI scheduler (simple, karras, etc.)
--quantize Diffusers quantization: fp8 | nf4 | none
--width Image width in pixels (default: 1024)
--height Image height in pixels (default: 1024)
--cfg CFG scale override
--verbose Show detailed prompt assembly
Sweep options:
--prompt SDXL prompt to test (required)
--seeds Comma-separated seed list (default: 42,123,777,2024)
--backend together | comfyui | diffusers (default: together)
--output Output directory (default: ./sweep)
Backends subcommands:
backends ping Check if ComfyUI is reachable
backends list-checkpoints List available checkpoints, samplers, schedulers
Governor options:
--governor Enable resource control
--budget Token budget for the session (default: 200)
--max-resolution Max image size in pixels (default: 1024)
--max-spend Together AI spend cap in USD (default: 5.00)
--on-budget What to do when budget runs out: throw | warn | scale程序化API
CLI所能做的一切都可以作为键入函数使用:
// Mining
import { mine, getConceptCount } from '@mcptoolshop/logo-studio';
// Compilation
import { compile, validateBrief, getNegativesForCheckpoint } from '@mcptoolshop/logo-studio';
import type { CompileOptions, BriefValidation } from '@mcptoolshop/logo-studio';
// Generation
import { generate, createBackend } from '@mcptoolshop/logo-studio';
import type { BackendCapabilities } from '@mcptoolshop/logo-studio';
// Backend utilities
import { withRetry, isTransientError, ComfyUIError, ping, queryServerInfo } from '@mcptoolshop/logo-studio';
// Tokenizer (standalone)
import { getTokenizer, countTokens, checkBudget, detectCollisions } from '@mcptoolshop/logo-studio';
// Governor
import { createGovernor, Governor } from '@mcptoolshop/logo-studio';
// Post-processing
import { trace, verifyPalette } from '@mcptoolshop/logo-studio';建筑
src/
├── mining/ LLM-driven semantic extraction + metaphor mapping
├── compiler/ Token-budgeted prompt assembly + canonical phrases
├── tokenizer/ Pure TypeScript CLIP BPE tokenizer + T5 estimator
├── backends/ ComfyUI, Together AI, diffusers adapters
├── governor/ Budget control, VRAM throttling, circuit breaker
├── post/ SVG tracing + palette verification
├── cli/ Zero-dependency CLI with argument parser
└── types/ Shared interfaces30个源文件。零运行时依赖关系。一个npm安装。
为什么是零依赖?
每一种依赖都是一种供应链风险,一种等待发生的版本冲突,也是某人的原因 npm install 星期二休息。Logo Studio提供所需的一切:
- CLIP标记器 --使用官方合并表实现完整的BPE
- T5估计器 --没有2GB模型的统计令牌计数
- 参数解析器 --手卷,无指挥官/码/最小
- HTTP客户端 --本地人
fetch(节点18+) - GPU指标 —
nvidia-smi子进程,非NVIDIA上的优雅回退
快速工程手册
回购包括 快速工程手册 记录:
- SDXL的双CLIP编码器系统如何工作
- CLIP视觉强度层次结构(物理对象→ 抽象概念)
- 代币预算规则和什么会意外吃掉代币
- 带有示例的徽标提示公式
- 专门针对徽标的负面提示策略
- 不同样式的CFG比例和采样器设置
- 已知的限制(文本渲染、颜色精度、构图)
它是编译器做出的每一个决定背后的参考文件。
安全和数据范围
| 方面 | 细节 |
|---|---|
| 数据已触摸 | 产品描述(输入)、生成的图像(输出)、标记器数据(捆绑) |
| 数据未被触碰 | 没有用户凭据,没有数据库,没有分析 |
| 权限 | 读取:输入文本/config。写入:将图像输出到用户指定的路径 |
| 网络 | 可选-配置ComfyUI或Together API时。默认情况下为无。 |
| 遥测 | 未收集或发送 |
看 安全.md 用于漏洞报告。
记分卡
| 类别 | 分数 |
|---|---|
| A.安全 | 10 |
| B.错误处理 | 10 |
| C.操作员文档 | 10 |
| D.航运卫生 | 10 |
| E.身份(软) | 10 |
| 总体 | 50/50 |
全面审计: 发货日期.md · SCORECARD.md
许可证
麻省理工学院
