@bendyline/gilde 0.1.10 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/chat-models/index.json +1 -1
- package/data/chat-models/ta/talkie-1930-13b-q4/manifest.json +0 -1
- package/data/craftbook-templates/in/investigate/versions/1.0.0/craftbook.json +4 -0
- package/data/craftbook-templates/in/investigate/versions/1.1.0/craftbook.json +4 -0
- package/data/craftbook-templates/index.json +1 -1
- package/data/craftbook-templates/of/office-hours/versions/1.0.0/craftbook.json +4 -0
- package/data/craftbook-templates/of/office-hours/versions/1.1.0/craftbook.json +4 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.3.0/craftbook.json +138 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.3.0/test.json +160 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.0.0/craftbook.json +4 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.1.0/craftbook.json +4 -0
- package/data/craftbook-templates/qa/qa/versions/1.0.0/craftbook.json +4 -0
- package/data/craftbook-templates/sh/ship/versions/1.0.0/craftbook.json +4 -0
- package/data/craftbook-templates/sh/ship/versions/1.1.0/craftbook.json +4 -0
- package/data/image-models/an/animagine-xl-4/manifest.json +1 -0
- package/data/image-models/fl/flux-1-dev-q4/manifest.json +1 -0
- package/data/image-models/fl/flux-1-schnell-q4/manifest.json +1 -0
- package/data/image-models/fl/flux-2-klein-4b-q4/manifest.json +1 -0
- package/data/image-models/index.json +1 -1
- package/data/image-models/kr/krea-2-turbo-q4/manifest.json +1 -0
- package/data/image-models/kr/krea-2-turbo-q6/manifest.json +1 -0
- package/data/image-models/kr/krea-2-turbo-q8/manifest.json +1 -0
- package/data/image-models/sd/sd-1.5/manifest.json +1 -0
- package/data/image-models/sd/sd-turbo/manifest.json +1 -0
- package/data/image-models/sd/sdxl-base-1.0/manifest.json +1 -0
- package/data/image-models/sd/sdxl-lightning-4step/manifest.json +1 -0
- package/data/image-models/sd/sdxl-turbo/manifest.json +1 -0
- package/data/toolsets/do/docblocks/versions/2.3.4/manifest.json +95 -0
- package/data/toolsets/index.json +1 -1
- package/package.json +1 -1
- package/schemas/craftbook-test.schema.json +34 -1
- package/schemas/image-model-identity.schema.json +3 -0
- package/schemas/project-type-version.schema.json +3 -0
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
"id": "office-hours",
|
|
3
3
|
"name": "Office Hours",
|
|
4
4
|
"description": "An office-hours-style scoping procedure. The user shows up with an idea\nor a problem; the procedure forces them through *listen → challenge →\nreframe → lock scope* before any solutioning happens.\n\nThis is deliberately a pure-prose procedure — no scripts, no hooks. The model\nfollows the step prose, elicits answers via `ask_user_question` (or\nprose, see below), and writes the locked scope to a task note that\ndownstream craftbooks (`/plan-eng-review`, `/review`, `/ship`) read.\n\nThe principle is the YC office-hours pattern: most ideas die not because\nthey're bad but because the problem statement was too loose to bite\ninto. A 20-minute conversation that lands on the *right* problem is\nworth more than a week building the wrong product.\n\nThe recipe never assumes the user is right. If their framing is shaky,\nthe **Challenge** step names that explicitly. The **Reframe** step\nforces a single pick — office hours doesn't end with three startups.\n\n## Tool surface assumptions\n\nEach step prefers `ask_user_question` for structured prompts and\n`write_task_note` for the lock-scope artifact, but each prompt also\nships a **prose / `writeFile` fallback** so the craftbook completes on\nany gezel whose role-tool-filter omits the question/notes tools.\nThat mismatch — Office Hours being assigned to a gezel without the\nquestion tool — was the 2026-06 failure mode: an 8B Gemma running\nunder the developer-style role surface had no `ask_user_question`,\nspun up workarounds (memory searches, repeated `invoke_craftbook`\ncalls, throwaway tasks), and got aborted by the\nsame-arguments-5-times detector before producing anything useful.\nThe explicit *\"if it's in your function schema, otherwise prose\"*\nbranches keep small/medium models on the rails when the surface\nisn't what the prompt assumes.\n\nThe kickoff step also **explicitly overrides** the common gezel\ninstruction to \"search memory before asking the user.\" Pre-loading\ncontext is the right default for follow-up turns and for non-listening\ntasks; for office-hours kickoff it defeats the procedure (the whole\npoint is to hear the user's framing FRESH). The override is named in\nthe prompt so the model doesn't have to resolve the conflict by\nguessing.\n\n## Notes for small / medium models (≤12B)\n\n- Steps are kept under ~200 words and frontload the action (\"**One\n job this step:** …\") so a small context window doesn't lose focus\n on long preambles.\n- The \"do NOT\" list is explicit and specific (don't search memory,\n don't list tasks, don't `invoke_craftbook`) because small models\n tend to wander to those tools when their headline tool is missing.\n- Examples are concrete (Pac-Man-style: \"A personal chief-of-staff\n (productivity tool); A solution to nobody-reads-RSS (consumer\n media); A publishing tool for journalists (B2B SaaS)\") rather than\n abstract — small models reason better from a worked example than\n from a rule.\n- Each step is self-contained: re-reading the previous step's notes\n is allowed but not required to complete this one. The lock-scope\n step is the only one that depends on prior-step output; the rest\n read what's directly above in the chat.\n",
|
|
5
|
+
"basedOn": {
|
|
6
|
+
"name": "gstack",
|
|
7
|
+
"url": "https://github.com/garrytan/gstack"
|
|
8
|
+
},
|
|
5
9
|
"entryStepId": "kickoff",
|
|
6
10
|
"triggers": [
|
|
7
11
|
"office hours",
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
"id": "office-hours",
|
|
3
3
|
"name": "Office Hours",
|
|
4
4
|
"description": "An office-hours-style scoping procedure. The user shows up with an idea\nor a problem; the procedure forces them through *listen → challenge →\nreframe → lock scope* before any solutioning happens.\n\nThis is deliberately a pure-prose procedure — no scripts, no hooks. The model\nfollows the step prose, elicits answers via `ask_user_question` (or\nprose, see below), and writes the locked scope to a task note that\ndownstream craftbooks (`/plan-eng-review`, `/review`, `/ship`) read.\n\nThe principle is the YC office-hours pattern: most ideas die not because\nthey're bad but because the problem statement was too loose to bite\ninto. A 20-minute conversation that lands on the *right* problem is\nworth more than a week building the wrong product.\n\nThe recipe never assumes the user is right. If their framing is shaky,\nthe **Challenge** step names that explicitly. The **Reframe** step\nforces a single pick — office hours doesn't end with three startups.\n\n## Tool surface assumptions\n\nEach step prefers `ask_user_question` for structured prompts and\n`write_task_note` for the lock-scope artifact, but each prompt also\nships a **prose / `write_file` fallback** so the craftbook completes on\nany gezel whose role-tool-filter omits the question/notes tools.\nThat mismatch — Office Hours being assigned to a gezel without the\nquestion tool — was the 2026-06 failure mode: an 8B Gemma running\nunder the developer-style role surface had no `ask_user_question`,\nspun up workarounds (memory searches, repeated `invoke_craftbook`\ncalls, throwaway tasks), and got aborted by the\nsame-arguments-5-times detector before producing anything useful.\nThe explicit *\"if it's in your function schema, otherwise prose\"*\nbranches keep small/medium models on the rails when the surface\nisn't what the prompt assumes.\n\nThe kickoff step also **explicitly overrides** the common gezel\ninstruction to \"search memory before asking the user.\" Pre-loading\ncontext is the right default for follow-up turns and for non-listening\ntasks; for office-hours kickoff it defeats the procedure (the whole\npoint is to hear the user's framing FRESH). The override is named in\nthe prompt so the model doesn't have to resolve the conflict by\nguessing.\n\n## Notes for small / medium models (≤12B)\n\n- Steps are kept under ~200 words and frontload the action (\"**One\n job this step:** …\") so a small context window doesn't lose focus\n on long preambles.\n- The \"do NOT\" list is explicit and specific (don't search memory,\n don't list tasks, don't `invoke_craftbook`) because small models\n tend to wander to those tools when their headline tool is missing.\n- Examples are concrete (Pac-Man-style: \"A personal chief-of-staff\n (productivity tool); A solution to nobody-reads-RSS (consumer\n media); A publishing tool for journalists (B2B SaaS)\") rather than\n abstract — small models reason better from a worked example than\n from a rule.\n- Each step is self-contained: re-reading the previous step's notes\n is allowed but not required to complete this one. The lock-scope\n step is the only one that depends on prior-step output; the rest\n read what's directly above in the chat.\n",
|
|
5
|
+
"basedOn": {
|
|
6
|
+
"name": "gstack",
|
|
7
|
+
"url": "https://github.com/garrytan/gstack"
|
|
8
|
+
},
|
|
5
9
|
"entryStepId": "kickoff",
|
|
6
10
|
"triggers": [
|
|
7
11
|
"office hours",
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "powerpoint-deck",
|
|
3
|
+
"name": "PowerPoint from Content",
|
|
4
|
+
"description": "Turn source content into a real, editable PowerPoint without hand-building HTML, JavaScript, XML, or binary bytes. A planner locks the audience, narrative, and one message per slide. A copywriter writes deck.md as ordinary Markdown with one level-one heading per deliberate slide boundary. A designer then uses the pre-authorized DocBlocks toolset to convert the workspace file directly to PPTX, preview every slide, save an artifact copy, and copy the exact bytes to the requested workspace output path.\n\nDocBlocks 2.3.x treats plain Markdown as the normal authoring surface and selects compatible templates automatically. Optional authoring context is for targeted visual control, not a mandatory preflight.",
|
|
5
|
+
"entryStepId": "outline",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"make a powerpoint",
|
|
8
|
+
"create a pptx",
|
|
9
|
+
"powerpoint from this content",
|
|
10
|
+
"turn this into a presentation",
|
|
11
|
+
"build a slide deck file",
|
|
12
|
+
"export these slides to powerpoint"
|
|
13
|
+
],
|
|
14
|
+
"paramSchema": {
|
|
15
|
+
"type": "object",
|
|
16
|
+
"properties": {
|
|
17
|
+
"outputPath": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"title": "Workspace output path",
|
|
20
|
+
"description": "Project-workspace-relative path for the finished PowerPoint.",
|
|
21
|
+
"default": "deck.pptx"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"toolsets": [
|
|
26
|
+
{
|
|
27
|
+
"toolsetId": "docblocks",
|
|
28
|
+
"sourceId": "bundled",
|
|
29
|
+
"autoAllow": true,
|
|
30
|
+
"reason": "convert deck.md directly to PPTX, preview slides, and save the finished PowerPoint without a prompt per call"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"steps": [
|
|
34
|
+
{
|
|
35
|
+
"id": "outline",
|
|
36
|
+
"name": "Outline the deck",
|
|
37
|
+
"description": "Lock the audience, purpose, takeaway, and one message per slide.",
|
|
38
|
+
"prompt": "Read the named source content and plan the deck before authoring slides. 1. State the audience, occasion, and ONE takeaway. 2. Draft an 8-15 slide outline unless the user requested another length; for each slide provide a working title and the single idea it must land. 3. Mark where a compact table, comparison, image, or quote genuinely helps. 4. Write acceptance criteria: every outline slide appears in order, one idea per slide, no wall-of-text slides, claims stay grounded in the source, the deck opens with context and closes with the ask/next step, visual preview passes, an artifact copy is retained, and the exact workspace file {{outputPath}} is delivered. Write the outline to notes/outline.md and call write_task_note with the slide count, takeaway, and requested output path. Do not write slide content or HTML.",
|
|
39
|
+
"suggestedRole": "planner",
|
|
40
|
+
"advanceWhen": {
|
|
41
|
+
"file": "notes/outline.md",
|
|
42
|
+
"minBytes": 1,
|
|
43
|
+
"sniff": "nonempty"
|
|
44
|
+
},
|
|
45
|
+
"gate": {
|
|
46
|
+
"at": "completion",
|
|
47
|
+
"checks": [
|
|
48
|
+
{
|
|
49
|
+
"kind": "minBytes",
|
|
50
|
+
"file": "notes/outline.md",
|
|
51
|
+
"bytes": 180
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"kind": "sniff",
|
|
55
|
+
"file": "notes/outline.md",
|
|
56
|
+
"sniff": "nonempty"
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"onReject": "outline",
|
|
60
|
+
"maxAttempts": 3
|
|
61
|
+
},
|
|
62
|
+
"next": "write"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "write",
|
|
66
|
+
"name": "Write the Markdown deck",
|
|
67
|
+
"description": "Write deck.md with one H1 heading per slide.",
|
|
68
|
+
"prompt": "Write deck.md to the locked outline. 1. Use exactly one `#` level-one heading per slide; each H1 is a deliberate slide boundary. Do not add `---` separators unless a visible horizontal rule is intended. 2. The first H1 is the title slide and the final H1 is the ask or next-steps slide. 3. Under each H1, land one idea with 3-6 short bullet phrases, a compact Markdown table, or a short quote; never use paragraph walls. 4. Bold the load-bearing figure or claim. 5. Keep every claim traceable to the source and include only the slides in notes/outline.md, in order. 6. On loop-back, repair only the slides the reviewer names. Call write_task_note with the path and H1 slide count. Do not create HTML, JavaScript, OOXML, or PPTX bytes.",
|
|
69
|
+
"suggestedRole": "copywriter",
|
|
70
|
+
"advanceWhen": {
|
|
71
|
+
"file": "deck.md",
|
|
72
|
+
"minBytes": 1,
|
|
73
|
+
"sniff": "nonempty"
|
|
74
|
+
},
|
|
75
|
+
"gate": {
|
|
76
|
+
"at": "completion",
|
|
77
|
+
"checks": [
|
|
78
|
+
{
|
|
79
|
+
"kind": "minBytes",
|
|
80
|
+
"file": "deck.md",
|
|
81
|
+
"bytes": 700
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"kind": "contains",
|
|
85
|
+
"file": "deck.md",
|
|
86
|
+
"pattern": "(?:^|\\n)#\\s+\\S",
|
|
87
|
+
"label": "at least one H1 slide heading"
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
"onReject": "write",
|
|
91
|
+
"maxAttempts": 4
|
|
92
|
+
},
|
|
93
|
+
"next": "publish"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"id": "publish",
|
|
97
|
+
"name": "Publish the PowerPoint",
|
|
98
|
+
"description": "Convert deck.md with DocBlocks, preview every slide, and deliver {{outputPath}}.",
|
|
99
|
+
"prompt": "Publish deck.md as a real editable PowerPoint with the pre-authorized DocBlocks tools. 1. Call list_roots first and identify the read-enabled workspace root and write-enabled artifacts root. If there is no write root, report the blocker rather than substituting HTML. 2. Call get_authoring_context with targetFormat \"pptx\", goal \"visual-polish\", and the deck.md file source only if target guidance or template examples would help; ordinary Markdown needs no preflight. 3. Call convert_document with source `{ \"kind\": \"file\", \"rootId\": <workspace root id>, \"path\": \"deck.md\" }`, target `[{ \"format\": \"pptx\", \"fidelity\": \"editable-native\", \"slideBreak\": \"h1\", \"title\": <deck title> }]`, an audience-appropriate theme when useful, and `autoTemplates: true`. 4. Call preview_document on the PPTX artifact URI and inspect every slide (paginate after 20): expected slide count, no overflow or tiny text, tables legible, visual hierarchy consistent. If QA fails, fix deck.md and convert again. 5. Call save_artifact with destination `{ \"rootId\": <artifacts root id>, \"path\": \"{{outputPath}}\", \"ifExists\": \"error\" }`; on a loop-back, replace only with the current expectedSha256. 6. Call copy_artifact_to_workspace with source `{{outputPath}}` and dest `{{outputPath}}` so the user receives the exact requested workspace file without a text/binary round-trip. 7. Call write_task_note with the artifact path, workspace path, slide count, theme, and preview result. Do not hand-build an HTML deck or presentation XML.",
|
|
100
|
+
"suggestedRole": "designer",
|
|
101
|
+
"advanceWhen": {
|
|
102
|
+
"file": "{{outputPath}}",
|
|
103
|
+
"minBytes": 1
|
|
104
|
+
},
|
|
105
|
+
"gate": {
|
|
106
|
+
"at": "completion",
|
|
107
|
+
"checks": [
|
|
108
|
+
{
|
|
109
|
+
"kind": "minBytes",
|
|
110
|
+
"file": "{{outputPath}}",
|
|
111
|
+
"bytes": 1000
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
"onReject": "publish",
|
|
115
|
+
"maxAttempts": 4
|
|
116
|
+
},
|
|
117
|
+
"next": "evaluate"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"id": "evaluate",
|
|
121
|
+
"name": "Evaluate",
|
|
122
|
+
"description": "Review the saved PowerPoint against the narrative and visual criteria.",
|
|
123
|
+
"prompt": "Review artifacts/{{outputPath}} against every criterion in notes/outline.md. Use list_roots to identify the artifacts root and preview_document with source `{ \"kind\": \"file\", \"rootId\": <artifacts root id>, \"path\": \"{{outputPath}}\" }`; inspect all slides. Confirm the file is a real PPTX, workspace/{{outputPath}} also exists, every outlined slide appears once and in order, each slide has one message, the source facts are preserved, bullets are concise, tables and text fit, the theme is consistent, and the closing ask is present. Write PASS/FAIL for every criterion and name the slide for any failure.\n\nThen route:\n\n- Every criterion PASSES → call `advance_task_step({ ref, stepId: \"evaluate\", next: \"finish\" })`.\n- Any criterion FAILS → write the exact gaps to task notes, then call `advance_task_step({ ref, stepId: \"evaluate\", next: \"write\" })`.\n\nNever route to finish while any criterion is unmet. After about three unproductive loops, stop with DONE_WITH_CONCERNS.",
|
|
124
|
+
"suggestedRole": "reviewer",
|
|
125
|
+
"next": "write"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"id": "finish",
|
|
129
|
+
"name": "Finish",
|
|
130
|
+
"description": "All narrative, slide, and file checks passed.",
|
|
131
|
+
"prompt": "Every acceptance criterion passed. Call write_task_note with a short DONE summary naming deck.md as the source, artifacts/{{outputPath}} as the retained production copy, and workspace/{{outputPath}} as the requested finished deliverable, plus the slide count and confirmation that visual preview passed. Then report DONE.",
|
|
132
|
+
"suggestedRole": "designer",
|
|
133
|
+
"terminal": true
|
|
134
|
+
}
|
|
135
|
+
],
|
|
136
|
+
"version": "1.3.0",
|
|
137
|
+
"releasedAt": "2026-08-05T00:00:00Z"
|
|
138
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "PowerPoint exact-output DocBlocks eval",
|
|
4
|
+
"objective": "Verify the real multi-role PowerPoint craftbook uses the DocBlocks tool sequence and delivers a deterministic PPTX at the requested workspace path.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"external",
|
|
7
|
+
"documents"
|
|
8
|
+
],
|
|
9
|
+
"prompt": "Read source/brief.md and create a concise operations-lead PowerPoint at deliverables/d-day.pptx. Preserve the supplied facts, use one H1 per slide in deck.md, and run the production and review steps through DocBlocks.",
|
|
10
|
+
"setup": {
|
|
11
|
+
"projectName": "PowerPoint DocBlocks Eval",
|
|
12
|
+
"about": "The deck source is Markdown and the exact requested PPTX is produced through the project-scoped fake DocBlocks toolset.",
|
|
13
|
+
"missionObjectives": "Run the PowerPoint craftbook end to end and deliver workspace/deliverables/d-day.pptx without HTML or a developer fallback.",
|
|
14
|
+
"files": [
|
|
15
|
+
{
|
|
16
|
+
"path": "source/brief.md",
|
|
17
|
+
"content": "# Boreal Desk Returns Pilot\n\nAudience: operations leads.\n\nFacts:\n- Pilot coverage: 18 SKUs.\n- Median first response: 18 hours to 6 hours.\n- Preventable refund leakage: 14.2% to 8.9%.\n- Top unresolved complaint: status silence after photo submission.\n- Next actions: automated status emails, barcode-exception training, weekly Finance exception export.\n\nDo not invent other metrics."
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"worker": {
|
|
21
|
+
"name": "Jules",
|
|
22
|
+
"role": "Copywriter"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"mocks": [
|
|
26
|
+
{
|
|
27
|
+
"kind": "mcp",
|
|
28
|
+
"id": "docblocks",
|
|
29
|
+
"toolsetId": "docblocks",
|
|
30
|
+
"description": "Deterministic fake DocBlocks MCP for end-to-end presentation conversion, preview, and saving.",
|
|
31
|
+
"tools": [
|
|
32
|
+
{
|
|
33
|
+
"name": "list_roots",
|
|
34
|
+
"description": "List the workspace read root and artifacts write root.",
|
|
35
|
+
"resultTemplate": {
|
|
36
|
+
"roots": [
|
|
37
|
+
{
|
|
38
|
+
"id": "workspace",
|
|
39
|
+
"name": "workspace",
|
|
40
|
+
"capabilities": [
|
|
41
|
+
"read"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "artifacts",
|
|
46
|
+
"name": "artifacts",
|
|
47
|
+
"capabilities": [
|
|
48
|
+
"read",
|
|
49
|
+
"write"
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "get_authoring_context",
|
|
57
|
+
"description": "Return optional PPTX authoring guidance.",
|
|
58
|
+
"resultTemplate": {
|
|
59
|
+
"targetFormat": "pptx",
|
|
60
|
+
"guidance": "Use one H1 per slide and editable-native fidelity."
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "convert_document",
|
|
65
|
+
"description": "Convert Markdown to a deterministic PPTX artifact URI.",
|
|
66
|
+
"resultTemplate": {
|
|
67
|
+
"artifacts": [
|
|
68
|
+
{
|
|
69
|
+
"format": "pptx",
|
|
70
|
+
"uri": "mock://docblocks/deck.pptx",
|
|
71
|
+
"sha256": "1111111111111111111111111111111111111111111111111111111111111111"
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"diagnostics": []
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "preview_document",
|
|
79
|
+
"description": "Return deterministic slide-preview evidence.",
|
|
80
|
+
"resultTemplate": {
|
|
81
|
+
"slides": 7,
|
|
82
|
+
"overflow": false,
|
|
83
|
+
"tinyText": false,
|
|
84
|
+
"previewed": true
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "save_artifact",
|
|
89
|
+
"description": "Save the converted PPTX into the project artifacts drawer.",
|
|
90
|
+
"resultTemplate": {
|
|
91
|
+
"ok": true,
|
|
92
|
+
"bytes": 2400,
|
|
93
|
+
"sha256": "2222222222222222222222222222222222222222222222222222222222222222"
|
|
94
|
+
},
|
|
95
|
+
"writeFixture": {
|
|
96
|
+
"surface": "artifact",
|
|
97
|
+
"pathArgument": "destination.path",
|
|
98
|
+
"fixture": "minimal-pptx"
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
"success": {
|
|
105
|
+
"summary": "The craftbook called the required DocBlocks tools and copied a deterministic PPTX to the exact requested workspace path.",
|
|
106
|
+
"deliverables": [
|
|
107
|
+
{
|
|
108
|
+
"path": "deliverables/d-day.pptx",
|
|
109
|
+
"kind": "slide-deck",
|
|
110
|
+
"minBytes": 1000
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
"mocks": [
|
|
114
|
+
{
|
|
115
|
+
"service": "docblocks",
|
|
116
|
+
"requiredTools": [
|
|
117
|
+
"list_roots",
|
|
118
|
+
"convert_document",
|
|
119
|
+
"preview_document",
|
|
120
|
+
"save_artifact"
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
"rubric": {
|
|
126
|
+
"artifact": {
|
|
127
|
+
"path": "deck.md",
|
|
128
|
+
"kind": "markdown"
|
|
129
|
+
},
|
|
130
|
+
"axes": [
|
|
131
|
+
{
|
|
132
|
+
"name": "narrative",
|
|
133
|
+
"description": "The source Markdown forms a coherent briefing with one message per slide and a clear closing action."
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "grounding",
|
|
137
|
+
"description": "Every metric and action comes from the seeded brief."
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "production",
|
|
141
|
+
"description": "The workflow uses conversion, preview, save, and exact-path delivery rather than a substitute format."
|
|
142
|
+
}
|
|
143
|
+
]
|
|
144
|
+
},
|
|
145
|
+
"qualityFocus": [
|
|
146
|
+
"capability-first routing",
|
|
147
|
+
"DocBlocks tool sequence",
|
|
148
|
+
"exact requested PPTX path"
|
|
149
|
+
],
|
|
150
|
+
"extensions": {
|
|
151
|
+
"legacySimulators": [
|
|
152
|
+
{
|
|
153
|
+
"id": "docblocks-mcp",
|
|
154
|
+
"kind": "mcp",
|
|
155
|
+
"status": "implemented",
|
|
156
|
+
"description": "Project-scoped fake DocBlocks tools with deterministic PPTX materialization and call-log assertions."
|
|
157
|
+
}
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
}
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
"id": "pull-request-review",
|
|
3
3
|
"name": "Pull Request Review",
|
|
4
4
|
"description": "Staff-engineer-style code review. Five steps:\n\n1. **Load PR context** — figure out which PR, fetch metadata + diff\n2. **Scan diff** — pattern-based first-pass + judgment-based second-pass\n3. **Raise findings** or **Approve** — branches on whether issues were found\n4. **Summary** — stamp a final verdict to task notes\n\nThe upstream procedure's bash-driven preamble (config lookup, learnings\nsearch, telemetry logging) is replaced by:\n\n- The `pr-context.ts` script loads PR metadata via `github_pr_view`/`github_pr_diff`\n- `diff-scan.ts` applies the upstream safety/quality checklist patterns\n (SQL, secrets, `any`, console.log, etc.)\n- Memory (via `save_memory` / `search_memory`) replaces the upstream\n `learnings.jsonl` file — search prior reviews for \"have we seen this\n pattern before?\"\n\nThe branches behavior: `diff-scan` stamps `clean: boolean` into the\nrun output; the **Scan diff** step routes to **Approve** when clean and\nto **Raise findings** otherwise.\n\nThis craftbook needs the github toolset configured (PAT) — without it,\nthe PR-fetch tools error and the craftbook surfaces an actionable\nmessage to the user.\n",
|
|
5
|
+
"basedOn": {
|
|
6
|
+
"name": "gstack",
|
|
7
|
+
"url": "https://github.com/garrytan/gstack"
|
|
8
|
+
},
|
|
5
9
|
"entryStepId": "load-pr",
|
|
6
10
|
"triggers": [
|
|
7
11
|
"review this pr",
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
"id": "pull-request-review",
|
|
3
3
|
"name": "Pull Request Review",
|
|
4
4
|
"description": "Staff-engineer-style code review. Five steps:\n\n1. **Load PR context** — figure out which PR, fetch metadata + diff\n2. **Scan diff** — pattern-based first-pass + judgment-based second-pass\n3. **Raise findings** or **Approve** — branches on whether issues were found\n4. **Summary** — stamp a final verdict to task notes\n\nThe upstream procedure's bash-driven preamble (config lookup, learnings\nsearch, telemetry logging) is replaced by:\n\n- The `pr-context.ts` script loads PR metadata via `github_pr_view`/`github_pr_diff`\n- `diff-scan.ts` applies the upstream safety/quality checklist patterns\n (SQL, secrets, `any`, console.log, etc.)\n- Memory (via `save_memory` / `search_memory`) replaces the upstream\n `learnings.jsonl` file — search prior reviews for \"have we seen this\n pattern before?\"\n\nThe branches behavior: `diff-scan` stamps `clean: boolean` into the\nrun output; the **Scan diff** step routes to **Approve** when clean and\nto **Raise findings** otherwise.\n\nThis craftbook needs the github toolset configured (PAT) — without it,\nthe PR-fetch tools error and the craftbook surfaces an actionable\nmessage to the user.\n",
|
|
5
|
+
"basedOn": {
|
|
6
|
+
"name": "gstack",
|
|
7
|
+
"url": "https://github.com/garrytan/gstack"
|
|
8
|
+
},
|
|
5
9
|
"entryStepId": "load-pr",
|
|
6
10
|
"triggers": [
|
|
7
11
|
"review this pr",
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
"id": "qa",
|
|
3
3
|
"name": "QA",
|
|
4
4
|
"description": "Live UI QA pass using a real browser, driven heavily by Playwright.\nGezel runs Playwright via the\n`run_playwright_script` MCP tool, so the model writes the actual\ninteraction script — but the craftbook provides the structure.\n\nSix steps:\n\n1. **Smoke** — navigate, confirm the page loaded\n2. **Exercise the flow** — golden path: click CTA, fill form, submit, verify\n3. **Edges** — small set of edge cases (empty, oversized, double-submit, back)\n4. **Triage** — branched: stamp the finding when something broke\n5. **Summary** — branched: clean pass\n6. **Halt** — branched: smoke failed before testing started\n\nThe script `qa-trace.ts` is a thin wrapper around `run_playwright_script`\nthat returns a YAML accessibility snapshot — gives the model a structured\nview of what's on the page without having to parse a 200KB HTML blob.\n\nImportant: this craftbook **does not fix bugs**. When QA surfaces a\nfinding, the recipe halts. Fixing is a separate concern — the user\nroutes the finding to `/investigate` (root cause) and then to a regular\nedit task. Mixing QA and fixing in one craftbook is how a procedure balloons\ninto an unmaintainable monolith.\n",
|
|
5
|
+
"basedOn": {
|
|
6
|
+
"name": "gstack",
|
|
7
|
+
"url": "https://github.com/garrytan/gstack"
|
|
8
|
+
},
|
|
5
9
|
"entryStepId": "smoke",
|
|
6
10
|
"triggers": [
|
|
7
11
|
"qa this",
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
"id": "ship",
|
|
3
3
|
"name": "Ship",
|
|
4
4
|
"description": "End-to-end release procedure. Six normal\nsteps + one halt step the branches divert to on failure:\n\n1. **Preflight** — snapshot branch + working-tree state, gate trunk pushes\n2. **Run tests** — project's primary test command\n3. **Self-review pass** — last walk through the diff\n4. **Open PR** — push + create\n5. **Wait for CI** — poll until green or failure\n6. **Summary** — final DONE\n7. **Halt** (branched target) — DONE_WITH_CONCERNS on any failure\n\nThe branches are the load-bearing piece. If tests fail, CI fails, or\nthe poll times out, the recipe routes to `halt` rather than blasting\nthrough. The upstream procedure encoded that safety property in\nimperative if/else; the craftbook schema makes it explicit.\n\nScripts:\n- `run-tests.ts` — wraps `run_package_script` with the right test command\n- `open-pr.ts` — pushes the branch, calls `github_pr_create`\n- `wait-checks.ts` — polls `github_check_status` until settled\n\n## Applicability\n\nThe craftbook declares two manifest-level `requirements` so the launcher\nand command registry only offer it where it can actually run:\n\n- **github** — the project must be connected to a GitHub repo (the\n `open-pr` and `wait-checks` scripts call `github_pr_create` /\n `github_check_status` directly; without a connected repo they have\n nowhere to push to).\n- **non-main-branch** — the project's checkout must be on a branch\n other than `main` / `master`. The preflight step's `ask_user_question`\n was a runtime guard against accidental trunk shipping; promoting it\n to a hard `requirements` gate removes the temptation entirely. The\n step-level prompt still re-checks in case the catalog's branch\n snapshot is stale.\n\nRequires the github toolset configured. Both gates evaluate via\n`unmetCraftbookRequirements` in `@bendyline/gezel` and are surfaced\nthrough `/api/projects/:id/craftbooks` so the Commands panel hides the\ncraftbook in projects that don't qualify rather than letting the user\nlaunch it and watch step 4 fail.\n",
|
|
5
|
+
"basedOn": {
|
|
6
|
+
"name": "gstack",
|
|
7
|
+
"url": "https://github.com/garrytan/gstack"
|
|
8
|
+
},
|
|
5
9
|
"entryStepId": "preflight",
|
|
6
10
|
"triggers": [
|
|
7
11
|
"ship this",
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
"id": "ship",
|
|
3
3
|
"name": "Ship",
|
|
4
4
|
"description": "End-to-end release procedure. Six normal\nsteps + one halt step the branches divert to on failure:\n\n1. **Preflight** — snapshot branch + working-tree state, gate trunk pushes\n2. **Run tests** — project's primary test command\n3. **Self-review pass** — last walk through the diff\n4. **Open PR** — push + create\n5. **Wait for CI** — poll until green or failure\n6. **Summary** — final DONE\n7. **Halt** (branched target) — DONE_WITH_CONCERNS on any failure\n\nThe branches are the load-bearing piece. If tests fail, CI fails, or\nthe poll times out, the recipe routes to `halt` rather than blasting\nthrough. The upstream procedure encoded that safety property in\nimperative if/else; the craftbook schema makes it explicit.\n\nScripts:\n- `run-tests.ts` — wraps `run_package_script` with the right test command\n- `open-pr.ts` — pushes the branch, calls `github_pr_create`\n- `wait-checks.ts` — polls `github_check_status` until settled\n\n## Applicability\n\nThe craftbook declares two manifest-level `requirements` so the launcher\nand command registry only offer it where it can actually run:\n\n- **github** — the project must be connected to a GitHub repo (the\n `open-pr` and `wait-checks` scripts call `github_pr_create` /\n `github_check_status` directly; without a connected repo they have\n nowhere to push to).\n- **non-main-branch** — the project's checkout must be on a branch\n other than `main` / `master`. The preflight step's `ask_user_question`\n was a runtime guard against accidental trunk shipping; promoting it\n to a hard `requirements` gate removes the temptation entirely. The\n step-level prompt still re-checks in case the catalog's branch\n snapshot is stale.\n\nRequires the github toolset configured. Both gates evaluate via\n`unmetCraftbookRequirements` in `@bendyline/gezel` and are surfaced\nthrough `/api/projects/:id/craftbooks` so the Commands panel hides the\ncraftbook in projects that don't qualify rather than letting the user\nlaunch it and watch step 4 fail.\n",
|
|
5
|
+
"basedOn": {
|
|
6
|
+
"name": "gstack",
|
|
7
|
+
"url": "https://github.com/garrytan/gstack"
|
|
8
|
+
},
|
|
5
9
|
"entryStepId": "preflight",
|
|
6
10
|
"triggers": [
|
|
7
11
|
"ship this",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"schemaVersion":1,"kind":"image-model","count":12,"entries":[{"manifest":{"schemaVersion":1,"kind":"image-model","id":"animagine-xl-4","name":"Animagine XL 4.0","description":"Cagliostro Lab's flagship open anime/illustration model. SDXL-compatible so all SDXL tooling and LoRAs work. Booru-style tag prompts produce the best results. The strongest open anime model available.","tags":["sdxl","anime","illustration","artistic"],"maintainer":{"name":"Cagliostro Lab","url":"https://huggingface.co/cagliostrolab/animagine-xl-4.0"},"license":"Fair AI Public License 1.0-SD","licenseClass":"custom-restricted","licenseShortName":"Fair AI 1.0-SD","licenseUrl":"https://huggingface.co/cagliostrolab/animagine-xl-4.0","version":"4.0.0","releasedAt":"2026-04-27T00:00:00Z","downloadUrl":"https://huggingface.co/cagliostrolab/animagine-xl-4.0/resolve/main/animagine-xl-4.0.safetensors","sha256":"1d5b43ff75b6ab598502d4c779d2fbfa3dceca51c60c3b609640a60772333916","approxSizeBytes":6938434056,"quantization":"FP16","recommendedSteps":28,"widthRange":{"min":512,"max":1536},"heightRange":{"min":512,"max":1536},"upstream":"https://huggingface.co/cagliostrolab/animagine-xl-4.0","category":"artistic","weightsKind":"checkpoint","auxiliaryFiles":[],"hardwareTier":"mid","minRamGB":10,"commercialUse":true,"availableVersions":["4.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"flux-1-dev-q4","name":"FLUX.1 dev (Q4)","description":"Black Forest Labs' flagship FLUX.1-dev — the highest open-weights image quality available today. Needs more sampler steps (20-25) than schnell but rewards them with sharper detail, better composition, and excellent text rendering. Note: license restricts commercial use; for commercial work use FLUX.1 schnell instead.","tags":["flux","flagship","quality","non-commercial"],"maintainer":{"name":"Black Forest Labs (quantized by city96)","url":"https://huggingface.co/city96/FLUX.1-dev-gguf"},"license":"FLUX.1 [dev] Non-Commercial","licenseClass":"commercial-restricted","licenseShortName":"FLUX.1 dev","licenseUrl":"https://huggingface.co/black-forest-labs/FLUX.1-dev/blob/main/LICENSE.md","version":"1.0.0","releasedAt":"2026-04-27T00:00:00Z","downloadUrl":"https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q4_K_S.gguf","sha256":"75bb19459b5240c9f373b5af527584af15b675867fa142efadf7478d6abbf62b","approxSizeBytes":6805988640,"quantization":"Q4_K_S","recommendedSteps":24,"widthRange":{"min":512,"max":2048},"heightRange":{"min":512,"max":2048},"upstream":"https://huggingface.co/city96/FLUX.1-dev-gguf","category":"general","weightsKind":"diffusion-model","auxiliaryFiles":[{"role":"vae","downloadUrl":"https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors","sha256":"afc8e28272cd15db3919bacdb6918ce9c1ed22e96cb12c4d5ed0fba823529e38","approxSizeBytes":335304388},{"role":"clip_l","downloadUrl":"https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors","sha256":"660c6f5b1abae9dc498ac2d21e1347d2abdb0cf6c0c0c8576cd796491d9a6cdd","approxSizeBytes":246144152},{"role":"t5xxl","downloadUrl":"https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn.safetensors","sha256":"7d330da4816157540d6bb7838bf63a0f02f573fc48ca4d8de34bb0cbfd514f09","approxSizeBytes":4893934904}],"hardwareTier":"high","minRamGB":16,"commercialUse":false,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"flux-1-schnell-q4","name":"FLUX.1 schnell (Q4)","description":"Black Forest Labs' FLUX.1-schnell — fast 4-step flagship-quality generation with the cleanest license in the flagship tier (Apache 2.0). City96's Q4_K_S quantization plus the standard VAE and text encoders. Best-in-class prompt adherence and text rendering on consumer hardware.","tags":["flux","flagship","fast","4-step","apache"],"maintainer":{"name":"Black Forest Labs (quantized by city96)","url":"https://huggingface.co/city96/FLUX.1-schnell-gguf"},"license":"Apache 2.0","licenseClass":"open","licenseShortName":"Apache 2.0","licenseUrl":"https://huggingface.co/black-forest-labs/FLUX.1-schnell","version":"1.0.0","releasedAt":"2026-04-27T00:00:00Z","downloadUrl":"https://huggingface.co/city96/FLUX.1-schnell-gguf/resolve/main/flux1-schnell-Q4_K_S.gguf","sha256":"4fd16477b3a5296d0cf722c4b92a9fd7f30d09ac7495826e4465d8de9c9fd973","approxSizeBytes":6783943712,"quantization":"Q4_K_S","recommendedSteps":4,"widthRange":{"min":512,"max":2048},"heightRange":{"min":512,"max":2048},"upstream":"https://huggingface.co/city96/FLUX.1-schnell-gguf","category":"general","weightsKind":"diffusion-model","auxiliaryFiles":[{"role":"vae","downloadUrl":"https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors","sha256":"afc8e28272cd15db3919bacdb6918ce9c1ed22e96cb12c4d5ed0fba823529e38","approxSizeBytes":335304388},{"role":"clip_l","downloadUrl":"https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors","sha256":"660c6f5b1abae9dc498ac2d21e1347d2abdb0cf6c0c0c8576cd796491d9a6cdd","approxSizeBytes":246144152},{"role":"t5xxl","downloadUrl":"https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn.safetensors","sha256":"7d330da4816157540d6bb7838bf63a0f02f573fc48ca4d8de34bb0cbfd514f09","approxSizeBytes":4893934904}],"hardwareTier":"high","minRamGB":16,"commercialUse":true,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"flux-2-klein-4b-q4","name":"FLUX.2 Klein 4B (Q4)","description":"Black Forest Labs' FLUX.2-klein-4B — the successor to FLUX.1-schnell. A 4-step, CFG-free, 4B-parameter rectified flow transformer with state-of-the-art quality on consumer hardware (~13 GB VRAM, sub-second generation on a single GPU). Drops the FLUX.1 T5+CLIP encoder pair for a single Qwen3-4B LLM encoder. leejet's Q4_0 quantization of the diffusion model paired with Qwen3-4B-Q4_K_M and the FLUX.2-small-decoder VAE. Apache 2.0 throughout — fully commercial-friendly.","tags":["flux","flux2","flagship","fast","4-step","apache","llm-encoder"],"maintainer":{"name":"Black Forest Labs (quantized by leejet)","url":"https://huggingface.co/leejet/FLUX.2-klein-4B-GGUF"},"license":"Apache 2.0","licenseClass":"open","licenseShortName":"Apache 2.0","licenseUrl":"https://huggingface.co/black-forest-labs/FLUX.2-klein-4B/blob/main/LICENSE.md","recoScore":20,"version":"1.0.0","releasedAt":"2026-01-18T00:00:00Z","downloadUrl":"https://huggingface.co/leejet/FLUX.2-klein-4B-GGUF/resolve/main/flux-2-klein-4b-Q4_0.gguf","sha256":"d1023499ef3f2f82ff7c50e6778495195c1b6cc34835741778868428111f9ff4","approxSizeBytes":2460378560,"quantization":"Q4_0","recommendedSteps":4,"widthRange":{"min":512,"max":2048},"heightRange":{"min":512,"max":2048},"upstream":"https://huggingface.co/black-forest-labs/FLUX.2-klein-4B","category":"general","weightsKind":"diffusion-model","auxiliaryFiles":[{"role":"vae","downloadUrl":"https://huggingface.co/black-forest-labs/FLUX.2-small-decoder/resolve/main/full_encoder_small_decoder.safetensors","sha256":"ea4273f02d1fafbf8e1d1c2cf6018ed8748652eb0bf34f2dd91171f16f15ab62","approxSizeBytes":249519092},{"role":"llm","downloadUrl":"https://huggingface.co/unsloth/Qwen3-4B-GGUF/resolve/main/Qwen3-4B-Q4_K_M.gguf","sha256":"f6f851777709861056efcdad3af01da38b31223a3ba26e61a4f8bf3a2195813a","approxSizeBytes":2497281312}],"hardwareTier":"high","minRamGB":16,"commercialUse":true,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"krea-2-turbo-q4","name":"Krea 2 Turbo (Q4)","description":"Krea's flagship Krea 2 Turbo — a 12B diffusion transformer distilled for fast 8-step generation at 1K-2K resolution, paired with the Qwen-Image VAE and a Qwen3-VL text encoder. Abiray's Q4_K_M quantization is the consumer-hardware tier. Non-commercial (Krea 2 Community License).","tags":["krea","krea-2","flagship","8-step","distilled","non-commercial"],"maintainer":{"name":"Krea (quantized by Abiray)","url":"https://huggingface.co/Abiray/Krea-2-Turbo-GGUF"},"license":"Krea 2 Community License","licenseClass":"commercial-restricted","licenseShortName":"Krea 2 Community","licenseUrl":"https://huggingface.co/krea/Krea-2-Turbo/blob/main/LICENSE.pdf","version":"1.0.0","releasedAt":"2026-06-24T00:00:00Z","downloadUrl":"https://huggingface.co/Abiray/Krea-2-Turbo-GGUF/resolve/main/Krea-2-Turbo-Q4_K_M.gguf","sha256":"1e23e478144ce4c1adc6854efe2ff52930a836cf4e0008b6a0e41d235d9bdd07","approxSizeBytes":7486289232,"quantization":"Q4_K_M","recommendedSteps":8,"widthRange":{"min":512,"max":2048},"heightRange":{"min":512,"max":2048},"upstream":"https://huggingface.co/krea/Krea-2-Turbo","category":"general","weightsKind":"diffusion-model","auxiliaryFiles":[{"role":"vae","downloadUrl":"https://huggingface.co/Comfy-Org/Krea-2/resolve/main/vae/qwen_image_vae.safetensors","sha256":"a70580f0213e67967ee9c95f05bb400e8fb08307e017a924bf3441223e023d1f","approxSizeBytes":253806246},{"role":"llm","downloadUrl":"https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct-GGUF/resolve/main/Qwen3VL-4B-Instruct-Q4_K_M.gguf","sha256":"66358cb18bb6b3b1b6675aa412c7a88ef01d228f481184d13668e5201c730a0a","approxSizeBytes":2497281664}],"hardwareTier":"high","minRamGB":16,"commercialUse":false,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"krea-2-turbo-q6","name":"Krea 2 Turbo (Q6)","description":"Krea's flagship Krea 2 Turbo — a 12B diffusion transformer distilled for fast 8-step generation at 1K-2K resolution, paired with the Qwen-Image VAE and a Qwen3-VL text encoder. Abiray's Q6_K quantization trades extra VRAM for near-Q8 fidelity. Non-commercial (Krea 2 Community License).","tags":["krea","krea-2","flagship","8-step","distilled","non-commercial"],"maintainer":{"name":"Krea (quantized by Abiray)","url":"https://huggingface.co/Abiray/Krea-2-Turbo-GGUF"},"license":"Krea 2 Community License","licenseClass":"commercial-restricted","licenseShortName":"Krea 2 Community","licenseUrl":"https://huggingface.co/krea/Krea-2-Turbo/blob/main/LICENSE.pdf","version":"1.0.0","releasedAt":"2026-06-24T00:00:00Z","downloadUrl":"https://huggingface.co/Abiray/Krea-2-Turbo-GGUF/resolve/main/Krea-2-Turbo-Q6_K.gguf","sha256":"91103da0cf8e2b79f2108d4c6b885a62bacf7911c633373bbe0556b6da9a1f5c","approxSizeBytes":10583638350,"quantization":"Q6_K","recommendedSteps":8,"widthRange":{"min":512,"max":2048},"heightRange":{"min":512,"max":2048},"upstream":"https://huggingface.co/krea/Krea-2-Turbo","category":"general","weightsKind":"diffusion-model","auxiliaryFiles":[{"role":"vae","downloadUrl":"https://huggingface.co/Comfy-Org/Krea-2/resolve/main/vae/qwen_image_vae.safetensors","sha256":"a70580f0213e67967ee9c95f05bb400e8fb08307e017a924bf3441223e023d1f","approxSizeBytes":253806246},{"role":"llm","downloadUrl":"https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct-GGUF/resolve/main/Qwen3VL-4B-Instruct-Q4_K_M.gguf","sha256":"66358cb18bb6b3b1b6675aa412c7a88ef01d228f481184d13668e5201c730a0a","approxSizeBytes":2497281664}],"hardwareTier":"workstation","minRamGB":24,"commercialUse":false,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"krea-2-turbo-q8","name":"Krea 2 Turbo (Q8)","description":"Krea's flagship Krea 2 Turbo — a 12B diffusion transformer distilled for fast 8-step generation at 1K-2K resolution, paired with the Qwen-Image VAE and a Qwen3-VL text encoder. Abiray's Q8_0 quantization is near-lossless for workstation-class hardware. Non-commercial (Krea 2 Community License).","tags":["krea","krea-2","flagship","8-step","distilled","non-commercial"],"maintainer":{"name":"Krea (quantized by Abiray)","url":"https://huggingface.co/Abiray/Krea-2-Turbo-GGUF"},"license":"Krea 2 Community License","licenseClass":"commercial-restricted","licenseShortName":"Krea 2 Community","licenseUrl":"https://huggingface.co/krea/Krea-2-Turbo/blob/main/LICENSE.pdf","version":"1.0.0","releasedAt":"2026-06-24T00:00:00Z","downloadUrl":"https://huggingface.co/Abiray/Krea-2-Turbo-GGUF/resolve/main/Krea-2-Turbo-Q8_0.gguf","sha256":"8be11f7fa2b63cab28be213246001195ebe04f271a703b351461e0b775e3f775","approxSizeBytes":13705958734,"quantization":"Q8_0","recommendedSteps":8,"widthRange":{"min":512,"max":2048},"heightRange":{"min":512,"max":2048},"upstream":"https://huggingface.co/krea/Krea-2-Turbo","category":"general","weightsKind":"diffusion-model","auxiliaryFiles":[{"role":"vae","downloadUrl":"https://huggingface.co/Comfy-Org/Krea-2/resolve/main/vae/qwen_image_vae.safetensors","sha256":"a70580f0213e67967ee9c95f05bb400e8fb08307e017a924bf3441223e023d1f","approxSizeBytes":253806246},{"role":"llm","downloadUrl":"https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct-GGUF/resolve/main/Qwen3VL-4B-Instruct-Q4_K_M.gguf","sha256":"66358cb18bb6b3b1b6675aa412c7a88ef01d228f481184d13668e5201c730a0a","approxSizeBytes":2497281664}],"hardwareTier":"workstation","minRamGB":32,"commercialUse":false,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"sd-turbo","name":"SD-Turbo","description":"Stability AI's distilled SD 2.1 model that produces images in 1-4 sampler steps. Smaller and faster than SDXL Turbo, near-real-time on modest hardware. Set steps=1-4 and CFG to 1.0.","tags":["fast","distilled","low-vram","1-step"],"maintainer":{"name":"Stability AI","url":"https://huggingface.co/stabilityai/sd-turbo"},"license":"Stability AI Community License","licenseClass":"custom-restricted","licenseShortName":"Stability Community","licenseUrl":"https://huggingface.co/stabilityai/sd-turbo/blob/main/LICENSE.md","version":"1.0.0","releasedAt":"2026-04-27T00:00:00Z","downloadUrl":"https://huggingface.co/stabilityai/sd-turbo/resolve/main/sd_turbo.safetensors","sha256":"3f067a1b943cf162f2b8f8588f6cf5824bd5b4c7d1d88d87164b9ca123616549","approxSizeBytes":5214561328,"quantization":"FP16","recommendedSteps":4,"widthRange":{"min":256,"max":768},"heightRange":{"min":256,"max":768},"upstream":"https://huggingface.co/stabilityai/sd-turbo","category":"general","weightsKind":"checkpoint","auxiliaryFiles":[],"hardwareTier":"low","minRamGB":8,"commercialUse":true,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"sdxl-lightning-4step","name":"SDXL Lightning (4-step)","description":"ByteDance's distillation of SDXL down to 4 sampler steps with quality close to the full 30-step base. The full-unet checkpoint, not a LoRA. CFG should be 1.0. Strong choice when you want SDXL quality with near-Turbo speed and a commercially-usable license.","tags":["sdxl","fast","distilled","4-step"],"maintainer":{"name":"ByteDance","url":"https://huggingface.co/ByteDance/SDXL-Lightning"},"license":"OpenRAIL++","licenseClass":"custom-restricted","licenseShortName":"OpenRAIL++","licenseUrl":"https://huggingface.co/ByteDance/SDXL-Lightning/blob/main/LICENSE.md","version":"1.0.0","releasedAt":"2026-04-27T00:00:00Z","downloadUrl":"https://huggingface.co/ByteDance/SDXL-Lightning/resolve/main/sdxl_lightning_4step.safetensors","sha256":"e0d996ee0013e79d9d3561f50fcafb9a17e3ff07b780358e3b66d67932c4d490","approxSizeBytes":6938040682,"quantization":"FP16","recommendedSteps":4,"widthRange":{"min":512,"max":1536},"heightRange":{"min":512,"max":1536},"upstream":"https://huggingface.co/ByteDance/SDXL-Lightning","category":"general","weightsKind":"checkpoint","auxiliaryFiles":[],"hardwareTier":"mid","minRamGB":10,"commercialUse":true,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"sdxl-turbo","name":"SDXL Turbo","description":"Stability AI's adversarial-distilled SDXL — single-step generation at SDXL quality. Use steps=1-4, CFG=1.0. Note: license restricts commercial use to research only; for commercial work prefer SDXL Lightning.","tags":["sdxl","fast","distilled","1-step","non-commercial"],"maintainer":{"name":"Stability AI","url":"https://huggingface.co/stabilityai/sdxl-turbo"},"license":"Stability AI Non-Commercial Research","licenseClass":"commercial-restricted","licenseShortName":"Stability NC Research","licenseUrl":"https://huggingface.co/stabilityai/sdxl-turbo/blob/main/LICENSE.md","version":"1.0.0","releasedAt":"2026-04-27T00:00:00Z","downloadUrl":"https://huggingface.co/stabilityai/sdxl-turbo/resolve/main/sd_xl_turbo_1.0_fp16.safetensors","sha256":"e869ac7d6942cb327d68d5ed83a40447aadf20e0c3358d98b2cc9e270db0da26","approxSizeBytes":6938081905,"quantization":"FP16","recommendedSteps":4,"widthRange":{"min":512,"max":1024},"heightRange":{"min":512,"max":1024},"upstream":"https://huggingface.co/stabilityai/sdxl-turbo","category":"general","weightsKind":"checkpoint","auxiliaryFiles":[],"hardwareTier":"mid","minRamGB":10,"commercialUse":false,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"sd-1.5","name":"Stable Diffusion 1.5","description":"The classic SD 1.5 checkpoint. Tiny, fast, and runs on almost any hardware. Native 512x512; output quality is dated relative to SDXL/FLUX, but the LoRA ecosystem is massive and inference is near-instant on M-series Macs.","tags":["small","fast","low-vram","classic"],"maintainer":{"name":"Runway / Stable Diffusion community","url":"https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5"},"license":"CreativeML Open RAIL-M","licenseClass":"custom-restricted","licenseShortName":"OpenRAIL-M","licenseUrl":"https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5","version":"1.0.0","releasedAt":"2026-04-27T00:00:00Z","downloadUrl":"https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors","sha256":"6ce0161689b3853acaa03779ec93eafe75a02f4ced659bee03f50797806fa2fa","approxSizeBytes":4265146304,"quantization":"FP16","recommendedSteps":25,"widthRange":{"min":256,"max":768},"heightRange":{"min":256,"max":768},"upstream":"https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5","category":"general","weightsKind":"checkpoint","auxiliaryFiles":[],"hardwareTier":"low","minRamGB":6,"commercialUse":true,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"sdxl-base-1.0","name":"Stable Diffusion XL 1.0","description":"SDXL Base — the mid-tier workhorse. Native 1024x1024 generation, strong prompt following, and a huge LoRA ecosystem. Sound default for any modern laptop with 8 GB+ memory budget.","tags":["sdxl","1024","general"],"maintainer":{"name":"Stability AI","url":"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0"},"license":"CreativeML Open RAIL++-M","licenseClass":"custom-restricted","licenseShortName":"OpenRAIL++-M","licenseUrl":"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/LICENSE.md","version":"1.0.0","releasedAt":"2026-04-27T00:00:00Z","downloadUrl":"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors","sha256":"31e35c80fc4829d14f90153f4c74cd59c90b779f6afe05a74cd6120b893f7e5b","approxSizeBytes":6938078334,"quantization":"FP16","recommendedSteps":30,"widthRange":{"min":512,"max":1536},"heightRange":{"min":512,"max":1536},"upstream":"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0","category":"general","weightsKind":"checkpoint","auxiliaryFiles":[],"hardwareTier":"mid","minRamGB":10,"commercialUse":true,"availableVersions":["1.0.0"]}}]}
|
|
1
|
+
{"schemaVersion":1,"kind":"image-model","count":12,"entries":[{"manifest":{"schemaVersion":1,"kind":"image-model","id":"animagine-xl-4","name":"Animagine XL 4.0","description":"Cagliostro Lab's flagship open anime/illustration model. SDXL-compatible so all SDXL tooling and LoRAs work. Booru-style tag prompts produce the best results. The strongest open anime model available.","tags":["sdxl","anime","illustration","artistic"],"maintainer":{"name":"Cagliostro Lab","url":"https://huggingface.co/cagliostrolab/animagine-xl-4.0"},"license":"Fair AI Public License 1.0-SD","licenseClass":"custom-restricted","licenseShortName":"Fair AI 1.0-SD","licenseUrl":"https://huggingface.co/cagliostrolab/animagine-xl-4.0","version":"4.0.0","releasedAt":"2026-04-27T00:00:00Z","downloadUrl":"https://huggingface.co/cagliostrolab/animagine-xl-4.0/resolve/main/animagine-xl-4.0.safetensors","sha256":"1d5b43ff75b6ab598502d4c779d2fbfa3dceca51c60c3b609640a60772333916","approxSizeBytes":6938434056,"quantization":"FP16","recommendedSteps":28,"widthRange":{"min":512,"max":1536},"heightRange":{"min":512,"max":1536},"upstream":"https://huggingface.co/cagliostrolab/animagine-xl-4.0","category":"artistic","weightsKind":"checkpoint","supportsImg2Img":true,"auxiliaryFiles":[],"hardwareTier":"mid","minRamGB":10,"commercialUse":true,"availableVersions":["4.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"flux-1-dev-q4","name":"FLUX.1 dev (Q4)","description":"Black Forest Labs' flagship FLUX.1-dev — the highest open-weights image quality available today. Needs more sampler steps (20-25) than schnell but rewards them with sharper detail, better composition, and excellent text rendering. Note: license restricts commercial use; for commercial work use FLUX.1 schnell instead.","tags":["flux","flagship","quality","non-commercial"],"maintainer":{"name":"Black Forest Labs (quantized by city96)","url":"https://huggingface.co/city96/FLUX.1-dev-gguf"},"license":"FLUX.1 [dev] Non-Commercial","licenseClass":"commercial-restricted","licenseShortName":"FLUX.1 dev","licenseUrl":"https://huggingface.co/black-forest-labs/FLUX.1-dev/blob/main/LICENSE.md","version":"1.0.0","releasedAt":"2026-04-27T00:00:00Z","downloadUrl":"https://huggingface.co/city96/FLUX.1-dev-gguf/resolve/main/flux1-dev-Q4_K_S.gguf","sha256":"75bb19459b5240c9f373b5af527584af15b675867fa142efadf7478d6abbf62b","approxSizeBytes":6805988640,"quantization":"Q4_K_S","recommendedSteps":24,"widthRange":{"min":512,"max":2048},"heightRange":{"min":512,"max":2048},"upstream":"https://huggingface.co/city96/FLUX.1-dev-gguf","category":"general","weightsKind":"diffusion-model","supportsImg2Img":true,"auxiliaryFiles":[{"role":"vae","downloadUrl":"https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors","sha256":"afc8e28272cd15db3919bacdb6918ce9c1ed22e96cb12c4d5ed0fba823529e38","approxSizeBytes":335304388},{"role":"clip_l","downloadUrl":"https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors","sha256":"660c6f5b1abae9dc498ac2d21e1347d2abdb0cf6c0c0c8576cd796491d9a6cdd","approxSizeBytes":246144152},{"role":"t5xxl","downloadUrl":"https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn.safetensors","sha256":"7d330da4816157540d6bb7838bf63a0f02f573fc48ca4d8de34bb0cbfd514f09","approxSizeBytes":4893934904}],"hardwareTier":"high","minRamGB":16,"commercialUse":false,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"flux-1-schnell-q4","name":"FLUX.1 schnell (Q4)","description":"Black Forest Labs' FLUX.1-schnell — fast 4-step flagship-quality generation with the cleanest license in the flagship tier (Apache 2.0). City96's Q4_K_S quantization plus the standard VAE and text encoders. Best-in-class prompt adherence and text rendering on consumer hardware.","tags":["flux","flagship","fast","4-step","apache"],"maintainer":{"name":"Black Forest Labs (quantized by city96)","url":"https://huggingface.co/city96/FLUX.1-schnell-gguf"},"license":"Apache 2.0","licenseClass":"open","licenseShortName":"Apache 2.0","licenseUrl":"https://huggingface.co/black-forest-labs/FLUX.1-schnell","version":"1.0.0","releasedAt":"2026-04-27T00:00:00Z","downloadUrl":"https://huggingface.co/city96/FLUX.1-schnell-gguf/resolve/main/flux1-schnell-Q4_K_S.gguf","sha256":"4fd16477b3a5296d0cf722c4b92a9fd7f30d09ac7495826e4465d8de9c9fd973","approxSizeBytes":6783943712,"quantization":"Q4_K_S","recommendedSteps":4,"widthRange":{"min":512,"max":2048},"heightRange":{"min":512,"max":2048},"upstream":"https://huggingface.co/city96/FLUX.1-schnell-gguf","category":"general","weightsKind":"diffusion-model","supportsImg2Img":true,"auxiliaryFiles":[{"role":"vae","downloadUrl":"https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/ae.safetensors","sha256":"afc8e28272cd15db3919bacdb6918ce9c1ed22e96cb12c4d5ed0fba823529e38","approxSizeBytes":335304388},{"role":"clip_l","downloadUrl":"https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors","sha256":"660c6f5b1abae9dc498ac2d21e1347d2abdb0cf6c0c0c8576cd796491d9a6cdd","approxSizeBytes":246144152},{"role":"t5xxl","downloadUrl":"https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn.safetensors","sha256":"7d330da4816157540d6bb7838bf63a0f02f573fc48ca4d8de34bb0cbfd514f09","approxSizeBytes":4893934904}],"hardwareTier":"high","minRamGB":16,"commercialUse":true,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"flux-2-klein-4b-q4","name":"FLUX.2 Klein 4B (Q4)","description":"Black Forest Labs' FLUX.2-klein-4B — the successor to FLUX.1-schnell. A 4-step, CFG-free, 4B-parameter rectified flow transformer with state-of-the-art quality on consumer hardware (~13 GB VRAM, sub-second generation on a single GPU). Drops the FLUX.1 T5+CLIP encoder pair for a single Qwen3-4B LLM encoder. leejet's Q4_0 quantization of the diffusion model paired with Qwen3-4B-Q4_K_M and the FLUX.2-small-decoder VAE. Apache 2.0 throughout — fully commercial-friendly.","tags":["flux","flux2","flagship","fast","4-step","apache","llm-encoder"],"maintainer":{"name":"Black Forest Labs (quantized by leejet)","url":"https://huggingface.co/leejet/FLUX.2-klein-4B-GGUF"},"license":"Apache 2.0","licenseClass":"open","licenseShortName":"Apache 2.0","licenseUrl":"https://huggingface.co/black-forest-labs/FLUX.2-klein-4B/blob/main/LICENSE.md","recoScore":20,"version":"1.0.0","releasedAt":"2026-01-18T00:00:00Z","downloadUrl":"https://huggingface.co/leejet/FLUX.2-klein-4B-GGUF/resolve/main/flux-2-klein-4b-Q4_0.gguf","sha256":"d1023499ef3f2f82ff7c50e6778495195c1b6cc34835741778868428111f9ff4","approxSizeBytes":2460378560,"quantization":"Q4_0","recommendedSteps":4,"widthRange":{"min":512,"max":2048},"heightRange":{"min":512,"max":2048},"upstream":"https://huggingface.co/black-forest-labs/FLUX.2-klein-4B","category":"general","weightsKind":"diffusion-model","supportsImg2Img":false,"auxiliaryFiles":[{"role":"vae","downloadUrl":"https://huggingface.co/black-forest-labs/FLUX.2-small-decoder/resolve/main/full_encoder_small_decoder.safetensors","sha256":"ea4273f02d1fafbf8e1d1c2cf6018ed8748652eb0bf34f2dd91171f16f15ab62","approxSizeBytes":249519092},{"role":"llm","downloadUrl":"https://huggingface.co/unsloth/Qwen3-4B-GGUF/resolve/main/Qwen3-4B-Q4_K_M.gguf","sha256":"f6f851777709861056efcdad3af01da38b31223a3ba26e61a4f8bf3a2195813a","approxSizeBytes":2497281312}],"hardwareTier":"high","minRamGB":16,"commercialUse":true,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"krea-2-turbo-q4","name":"Krea 2 Turbo (Q4)","description":"Krea's flagship Krea 2 Turbo — a 12B diffusion transformer distilled for fast 8-step generation at 1K-2K resolution, paired with the Qwen-Image VAE and a Qwen3-VL text encoder. Abiray's Q4_K_M quantization is the consumer-hardware tier. Non-commercial (Krea 2 Community License).","tags":["krea","krea-2","flagship","8-step","distilled","non-commercial"],"maintainer":{"name":"Krea (quantized by Abiray)","url":"https://huggingface.co/Abiray/Krea-2-Turbo-GGUF"},"license":"Krea 2 Community License","licenseClass":"commercial-restricted","licenseShortName":"Krea 2 Community","licenseUrl":"https://huggingface.co/krea/Krea-2-Turbo/blob/main/LICENSE.pdf","version":"1.0.0","releasedAt":"2026-06-24T00:00:00Z","downloadUrl":"https://huggingface.co/Abiray/Krea-2-Turbo-GGUF/resolve/main/Krea-2-Turbo-Q4_K_M.gguf","sha256":"1e23e478144ce4c1adc6854efe2ff52930a836cf4e0008b6a0e41d235d9bdd07","approxSizeBytes":7486289232,"quantization":"Q4_K_M","recommendedSteps":8,"widthRange":{"min":512,"max":2048},"heightRange":{"min":512,"max":2048},"upstream":"https://huggingface.co/krea/Krea-2-Turbo","category":"general","weightsKind":"diffusion-model","supportsImg2Img":false,"auxiliaryFiles":[{"role":"vae","downloadUrl":"https://huggingface.co/Comfy-Org/Krea-2/resolve/main/vae/qwen_image_vae.safetensors","sha256":"a70580f0213e67967ee9c95f05bb400e8fb08307e017a924bf3441223e023d1f","approxSizeBytes":253806246},{"role":"llm","downloadUrl":"https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct-GGUF/resolve/main/Qwen3VL-4B-Instruct-Q4_K_M.gguf","sha256":"66358cb18bb6b3b1b6675aa412c7a88ef01d228f481184d13668e5201c730a0a","approxSizeBytes":2497281664}],"hardwareTier":"high","minRamGB":16,"commercialUse":false,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"krea-2-turbo-q6","name":"Krea 2 Turbo (Q6)","description":"Krea's flagship Krea 2 Turbo — a 12B diffusion transformer distilled for fast 8-step generation at 1K-2K resolution, paired with the Qwen-Image VAE and a Qwen3-VL text encoder. Abiray's Q6_K quantization trades extra VRAM for near-Q8 fidelity. Non-commercial (Krea 2 Community License).","tags":["krea","krea-2","flagship","8-step","distilled","non-commercial"],"maintainer":{"name":"Krea (quantized by Abiray)","url":"https://huggingface.co/Abiray/Krea-2-Turbo-GGUF"},"license":"Krea 2 Community License","licenseClass":"commercial-restricted","licenseShortName":"Krea 2 Community","licenseUrl":"https://huggingface.co/krea/Krea-2-Turbo/blob/main/LICENSE.pdf","version":"1.0.0","releasedAt":"2026-06-24T00:00:00Z","downloadUrl":"https://huggingface.co/Abiray/Krea-2-Turbo-GGUF/resolve/main/Krea-2-Turbo-Q6_K.gguf","sha256":"91103da0cf8e2b79f2108d4c6b885a62bacf7911c633373bbe0556b6da9a1f5c","approxSizeBytes":10583638350,"quantization":"Q6_K","recommendedSteps":8,"widthRange":{"min":512,"max":2048},"heightRange":{"min":512,"max":2048},"upstream":"https://huggingface.co/krea/Krea-2-Turbo","category":"general","weightsKind":"diffusion-model","supportsImg2Img":false,"auxiliaryFiles":[{"role":"vae","downloadUrl":"https://huggingface.co/Comfy-Org/Krea-2/resolve/main/vae/qwen_image_vae.safetensors","sha256":"a70580f0213e67967ee9c95f05bb400e8fb08307e017a924bf3441223e023d1f","approxSizeBytes":253806246},{"role":"llm","downloadUrl":"https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct-GGUF/resolve/main/Qwen3VL-4B-Instruct-Q4_K_M.gguf","sha256":"66358cb18bb6b3b1b6675aa412c7a88ef01d228f481184d13668e5201c730a0a","approxSizeBytes":2497281664}],"hardwareTier":"workstation","minRamGB":24,"commercialUse":false,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"krea-2-turbo-q8","name":"Krea 2 Turbo (Q8)","description":"Krea's flagship Krea 2 Turbo — a 12B diffusion transformer distilled for fast 8-step generation at 1K-2K resolution, paired with the Qwen-Image VAE and a Qwen3-VL text encoder. Abiray's Q8_0 quantization is near-lossless for workstation-class hardware. Non-commercial (Krea 2 Community License).","tags":["krea","krea-2","flagship","8-step","distilled","non-commercial"],"maintainer":{"name":"Krea (quantized by Abiray)","url":"https://huggingface.co/Abiray/Krea-2-Turbo-GGUF"},"license":"Krea 2 Community License","licenseClass":"commercial-restricted","licenseShortName":"Krea 2 Community","licenseUrl":"https://huggingface.co/krea/Krea-2-Turbo/blob/main/LICENSE.pdf","version":"1.0.0","releasedAt":"2026-06-24T00:00:00Z","downloadUrl":"https://huggingface.co/Abiray/Krea-2-Turbo-GGUF/resolve/main/Krea-2-Turbo-Q8_0.gguf","sha256":"8be11f7fa2b63cab28be213246001195ebe04f271a703b351461e0b775e3f775","approxSizeBytes":13705958734,"quantization":"Q8_0","recommendedSteps":8,"widthRange":{"min":512,"max":2048},"heightRange":{"min":512,"max":2048},"upstream":"https://huggingface.co/krea/Krea-2-Turbo","category":"general","weightsKind":"diffusion-model","supportsImg2Img":false,"auxiliaryFiles":[{"role":"vae","downloadUrl":"https://huggingface.co/Comfy-Org/Krea-2/resolve/main/vae/qwen_image_vae.safetensors","sha256":"a70580f0213e67967ee9c95f05bb400e8fb08307e017a924bf3441223e023d1f","approxSizeBytes":253806246},{"role":"llm","downloadUrl":"https://huggingface.co/Qwen/Qwen3-VL-4B-Instruct-GGUF/resolve/main/Qwen3VL-4B-Instruct-Q4_K_M.gguf","sha256":"66358cb18bb6b3b1b6675aa412c7a88ef01d228f481184d13668e5201c730a0a","approxSizeBytes":2497281664}],"hardwareTier":"workstation","minRamGB":32,"commercialUse":false,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"sd-turbo","name":"SD-Turbo","description":"Stability AI's distilled SD 2.1 model that produces images in 1-4 sampler steps. Smaller and faster than SDXL Turbo, near-real-time on modest hardware. Set steps=1-4 and CFG to 1.0.","tags":["fast","distilled","low-vram","1-step"],"maintainer":{"name":"Stability AI","url":"https://huggingface.co/stabilityai/sd-turbo"},"license":"Stability AI Community License","licenseClass":"custom-restricted","licenseShortName":"Stability Community","licenseUrl":"https://huggingface.co/stabilityai/sd-turbo/blob/main/LICENSE.md","version":"1.0.0","releasedAt":"2026-04-27T00:00:00Z","downloadUrl":"https://huggingface.co/stabilityai/sd-turbo/resolve/main/sd_turbo.safetensors","sha256":"3f067a1b943cf162f2b8f8588f6cf5824bd5b4c7d1d88d87164b9ca123616549","approxSizeBytes":5214561328,"quantization":"FP16","recommendedSteps":4,"widthRange":{"min":256,"max":768},"heightRange":{"min":256,"max":768},"upstream":"https://huggingface.co/stabilityai/sd-turbo","category":"general","weightsKind":"checkpoint","supportsImg2Img":true,"auxiliaryFiles":[],"hardwareTier":"low","minRamGB":8,"commercialUse":true,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"sdxl-lightning-4step","name":"SDXL Lightning (4-step)","description":"ByteDance's distillation of SDXL down to 4 sampler steps with quality close to the full 30-step base. The full-unet checkpoint, not a LoRA. CFG should be 1.0. Strong choice when you want SDXL quality with near-Turbo speed and a commercially-usable license.","tags":["sdxl","fast","distilled","4-step"],"maintainer":{"name":"ByteDance","url":"https://huggingface.co/ByteDance/SDXL-Lightning"},"license":"OpenRAIL++","licenseClass":"custom-restricted","licenseShortName":"OpenRAIL++","licenseUrl":"https://huggingface.co/ByteDance/SDXL-Lightning/blob/main/LICENSE.md","version":"1.0.0","releasedAt":"2026-04-27T00:00:00Z","downloadUrl":"https://huggingface.co/ByteDance/SDXL-Lightning/resolve/main/sdxl_lightning_4step.safetensors","sha256":"e0d996ee0013e79d9d3561f50fcafb9a17e3ff07b780358e3b66d67932c4d490","approxSizeBytes":6938040682,"quantization":"FP16","recommendedSteps":4,"widthRange":{"min":512,"max":1536},"heightRange":{"min":512,"max":1536},"upstream":"https://huggingface.co/ByteDance/SDXL-Lightning","category":"general","weightsKind":"checkpoint","supportsImg2Img":true,"auxiliaryFiles":[],"hardwareTier":"mid","minRamGB":10,"commercialUse":true,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"sdxl-turbo","name":"SDXL Turbo","description":"Stability AI's adversarial-distilled SDXL — single-step generation at SDXL quality. Use steps=1-4, CFG=1.0. Note: license restricts commercial use to research only; for commercial work prefer SDXL Lightning.","tags":["sdxl","fast","distilled","1-step","non-commercial"],"maintainer":{"name":"Stability AI","url":"https://huggingface.co/stabilityai/sdxl-turbo"},"license":"Stability AI Non-Commercial Research","licenseClass":"commercial-restricted","licenseShortName":"Stability NC Research","licenseUrl":"https://huggingface.co/stabilityai/sdxl-turbo/blob/main/LICENSE.md","version":"1.0.0","releasedAt":"2026-04-27T00:00:00Z","downloadUrl":"https://huggingface.co/stabilityai/sdxl-turbo/resolve/main/sd_xl_turbo_1.0_fp16.safetensors","sha256":"e869ac7d6942cb327d68d5ed83a40447aadf20e0c3358d98b2cc9e270db0da26","approxSizeBytes":6938081905,"quantization":"FP16","recommendedSteps":4,"widthRange":{"min":512,"max":1024},"heightRange":{"min":512,"max":1024},"upstream":"https://huggingface.co/stabilityai/sdxl-turbo","category":"general","weightsKind":"checkpoint","supportsImg2Img":true,"auxiliaryFiles":[],"hardwareTier":"mid","minRamGB":10,"commercialUse":false,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"sd-1.5","name":"Stable Diffusion 1.5","description":"The classic SD 1.5 checkpoint. Tiny, fast, and runs on almost any hardware. Native 512x512; output quality is dated relative to SDXL/FLUX, but the LoRA ecosystem is massive and inference is near-instant on M-series Macs.","tags":["small","fast","low-vram","classic"],"maintainer":{"name":"Runway / Stable Diffusion community","url":"https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5"},"license":"CreativeML Open RAIL-M","licenseClass":"custom-restricted","licenseShortName":"OpenRAIL-M","licenseUrl":"https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5","version":"1.0.0","releasedAt":"2026-04-27T00:00:00Z","downloadUrl":"https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors","sha256":"6ce0161689b3853acaa03779ec93eafe75a02f4ced659bee03f50797806fa2fa","approxSizeBytes":4265146304,"quantization":"FP16","recommendedSteps":25,"widthRange":{"min":256,"max":768},"heightRange":{"min":256,"max":768},"upstream":"https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5","category":"general","weightsKind":"checkpoint","supportsImg2Img":true,"auxiliaryFiles":[],"hardwareTier":"low","minRamGB":6,"commercialUse":true,"availableVersions":["1.0.0"]}},{"manifest":{"schemaVersion":1,"kind":"image-model","id":"sdxl-base-1.0","name":"Stable Diffusion XL 1.0","description":"SDXL Base — the mid-tier workhorse. Native 1024x1024 generation, strong prompt following, and a huge LoRA ecosystem. Sound default for any modern laptop with 8 GB+ memory budget.","tags":["sdxl","1024","general"],"maintainer":{"name":"Stability AI","url":"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0"},"license":"CreativeML Open RAIL++-M","licenseClass":"custom-restricted","licenseShortName":"OpenRAIL++-M","licenseUrl":"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/LICENSE.md","version":"1.0.0","releasedAt":"2026-04-27T00:00:00Z","downloadUrl":"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors","sha256":"31e35c80fc4829d14f90153f4c74cd59c90b779f6afe05a74cd6120b893f7e5b","approxSizeBytes":6938078334,"quantization":"FP16","recommendedSteps":30,"widthRange":{"min":512,"max":1536},"heightRange":{"min":512,"max":1536},"upstream":"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0","category":"general","weightsKind":"checkpoint","supportsImg2Img":true,"auxiliaryFiles":[],"hardwareTier":"mid","minRamGB":10,"commercialUse":true,"availableVersions":["1.0.0"]}}]}
|