
Dali by Lulu
io.github.Lulu-The-Narwhalv0.6.1更新於 Oct 10, 2026
The prediction MCP — score your prompt before you generate, so you never waste a credit.
概覽
在消耗生成額度之前,用長期投放的獲勝廣告語料為 AI 圖像與影片提示詞及廣告素材評分。
- 功能
- Dali 對生成提示詞給出 0 到 100 的評分與各維度明細,分數偏低時同時回傳改寫要點。它也能為實際廣告圖片評分,圖片可來自 URL 或對話中分享的圖片,並與已驗證的獲勝素材比對,列出缺少的高提升屬性。其他工具可排序多個提示詞變體、依概念與預算推薦生成模型,並提供社群模式與基準。
- 適用情境
- 適合在生成圖像或影片廣告之前使用,以便在付費重試前發現薄弱提示詞或不符合套路的素材。面向美妝、健康、補給品、健身、食品、服飾、科技與寵物等垂直領域的投放工作流程。
- 執行需求
- 可使用無需宣告驗證的託管遠端端點,或透過 Python 以 stdio 執行本機 PyPI 套件 dali-mcp。自架套件只提供提示詞評分工具;素材評分與獲勝廣告語料需要連線託管伺服器。使用託管端點需要網路存取。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Dali by Lulu,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"dali": {
"type": "http",
"url": "https://dali.getlulu.dev/mcp"
}
}
}README
Dali by Lulu
[Dali by Lulu — creative intelligence MCP]
dali.getlulu.dev · Install · Live stats · Lulu
[Dali by Lulu — featured on Product Hunt]
[PyPI version] [PyPI downloads] [npm version] [npm downloads] [MIT License] [MCP Server] [Live]
Score your creative against what's actually winning in the ad market — before you spend the credit.
Most AI generation failures are predictable. A weak prompt, an off-formula creative — you can't tell until after you've burned the token. Dali scores it first, and it doesn't grade against opinions or generic "prompt tips." It grades against a real, living corpus of proven-winning ads — creatives still running in the market months after launch, scraped, embedded, and ranked. Two jobs:
score_prompt— judge the prompt before you generate (craft: camera, motion, lighting, model-native language).score_creative— judge the actual image against proven winners (does it look like what converts, and what's missing).
Every wasted generation has a real cost — a Seedance retry is ~$6. The live dashboard tracks what the community has saved by catching bad creatives before they burned a credit.
The real winning data layer
This is what makes Dali more than a prompt linter. The scores are grounded in real ads that are actually winning, not hand-written rules.
How the corpus is built — longevity is the outcome signal. We scrape the public Meta Ad Library. An ad still running months after it launched is one the advertiser keeps paying for — a proven winner. That "still-running-after-N-days" longevity is a market-validated label you can't fake, and it's the spine of the whole dataset.
What's in it, today:
The pipeline (offline → serving). The tools never scrape or embed on the fly — they read pre-built stores:
So when score_creative runs, it embeds your image and finds the actual winning ads it most resembles by full visual signature — then tells you which winning attributes you're missing. When enhance_prompt runs with a category, the rewrite brief is backed by real market lift ("before/after shows up in 78% of winning wellness ads, 4× baseline"), not craft opinion.
Honest scope. The winner label is longevity (a strong market-validated proxy), not per-ad conversion rate — measured CVR validation is in progress. The corpus grows on a schedule, so coverage per vertical keeps deepening. What you get today: your creative scored against what's demonstrably surviving in the live market.
Contents
- The real winning data layer
- Install
- Tools
- Supported models
- Platform supersets
- Why model-specific?
- MCP resources
- Contributing
Install
Hosted MCP — connect once, scores every prompt and creative:
→ Full install guide with all clients
Self-hosted — local, no auth required:
The self-hosted package exposes the prompt-scoring tools locally. The creative-scoring tools (
score_creative,analyze_winning_formula) and the winning-ad corpus run on the hosted server — connect via the hosted MCP to use them.
Tools
Score the creative — against real winners
Score the prompt — before you generate
The graph brain & meta
Supported models
Video
Sora 2 (OpenAI): API shutdown September 24, 2026. Do not build new dependencies on it — use Runway or Kling instead.
Image
Imagen 4 (Google): deprecated — use
gemini-3.5-flashwith image output. Dali still scores legacy Imagen prompts via theimagenmodel key but don't build new things on it.
Platform supersets
Higgsfield and Runway are aggregator platforms — they proxy multiple underlying models under one API. The model you pick matters more than the platform name:
Dali scores for the underlying model's native prompt language, not the platform wrapper. Pass the model name (veo3, kling, seedance…), not the platform name.
Why model-specific?
Generic prompt optimizers don't know that:
- Veo 3.1 needs camera movement specified above everything else
- Kling 3 supports multi-shot scene labels natively in the prompt
- Flux responds to camera body and lens names like a photographer (
"Sony A7 IV, 85mm f/1.4") - Midjourney V8.1 reads prose + parameters, not keyword lists
- Higgsfield simulates physics — you describe materials in motion, not motion abstractly
- Minimax uses
[Pan left]bracket syntax for camera moves — plain text camera commands are ignored - Ideogram V4 needs text quoted exactly in the prompt for typography accuracy
- Wan 2.7 generates native audio — include sound descriptions alongside visuals
Dali has a separate scoring rubric and rewrite brief for each model. Your LLM does the creative rewriting — Dali provides the intelligence.
MCP resources
Contributing
Model guides live in dali/data/guides/{model}.json on the hosted server. Found practitioner patterns that consistently produce high-grade results? Open an issue with the model, the pattern, and a sample prompt + result. The best contributions come from Reddit, Discord, and YouTube — real practitioners, not official docs.
→ Prompt best practices by model — cheat sheets, do/don't tables, top patterns per model → Dali creative flow skill — install this skill so your LLM follows the score → enhance → generate workflow automatically
MIT License · Built by Lulu · dali.getlulu.dev
來源:README.md,提交 bcefc78
工具
0版本歷史
1- v0.6.1最新Sep 16, 2026
