@kolbo/kolbo-code-linux-arm64
Advanced tools
+1
-1
| { | ||
| "name": "@kolbo/kolbo-code-linux-arm64", | ||
| "version": "2.4.19", | ||
| "version": "2.4.20", | ||
| "os": [ | ||
@@ -5,0 +5,0 @@ "linux" |
@@ -101,4 +101,15 @@ <!-- PARITY: the asset-first rule and the model defaults here are mirrored in | ||
| **Purity (HARD).** Every still on a DNA is packed into later generations (all | ||
| slots the model has, or a white grid if only one slot is left). Keep each | ||
| profile surgically clean: one identity, one vibe. Environment / location | ||
| stills must not contain a main character or recognizable hero face (anonymous | ||
| crowd is OK). Character stills must not contain a second lead. Separate | ||
| states (day/night, clean/bloody) are separate DNAs. Full pack + purity | ||
| rules: `references/workflows/visual-dna.md`. | ||
| Then `create_visual_dna` with the sheet as the reference and the matching | ||
| `dna_type`. Name each DNA in the exact form it will be tagged with later. | ||
| Immediately `link_project_asset` it onto the working project and | ||
| `update_project_asset` with the identity `description` plus a purpose `note`. | ||
| Do not leave a cast DNA undescribed on the project roster. | ||
@@ -105,0 +116,0 @@ ## 3. Confirm — a labeled GATE, then wait |
@@ -82,3 +82,3 @@ <!-- Schema and preserve-vocabulary distilled from patterns observed across a | ||
| **`edit_scope` names ONE change.** "Change only the background to a night street." A | ||
| **The edit-scope field names ONE change.** "Change only the background to a night street." A | ||
| prompt that re-describes the whole picture is a re-generation, and the model will | ||
@@ -85,0 +85,0 @@ re-imagine exactly the parts you wanted frozen. |
@@ -11,9 +11,36 @@ # Visual DNA — Character / Style Consistency | ||
| 1. **Sheet first, then DNA.** For any production asset (character / location / prop), resolve the sheet **preset** (`list_presets` with `search`) and `generate_image` with that `preset_id` — custom instructions live on the preset. Then `create_visual_dna` with the sheet as `character_sheet_url` (max 4 extra images — if the user gives more, pick the 4 most representative; never pass 5+). Optionally video and audio. | ||
| 1. **Sheet first, then DNA.** For any production asset (character / location / prop), resolve the sheet **preset** (`list_presets` with `search`) and `generate_image` with that `preset_id` — custom instructions live on the preset. Then `create_visual_dna` with the sheet as `character_sheet_url` (max 4 extra images — if the user gives more, pick the 4 most representative **that share the same identity and vibe**; never pass 5+). Optionally video and audio. See **Purity** above before you generate those stills. | ||
| 2. **Types**: `character` (default), `style`, `product`, `scene`, `environment`. | ||
| 3. **Use** the profile by passing its `id` in `visual_dna_ids` in: `generate_image`, `generate_creative_director`, `generate_elements`, `generate_video_from_image`, `generate_video_from_video`, `generate_first_last_frame`. | ||
| 4. **List/inspect** profiles with `list_visual_dnas` / `get_visual_dna`. | ||
| 5. **Edit in place** with `update_visual_dna` (name, `prompt_helper`, stills, `character_sheet_url`, type, attributes). NEVER `delete_visual_dna` + `create_visual_dna` to rename, restyle, swap stills, or change a description — the old id is what generations and `@Name` already bind to. Providing `images` replaces the whole still set and re-analyzes; omit images to keep them. | ||
| 6. **Tag it onto the project cast.** After `create_visual_dna` for named-project work, call `link_project_asset` (`asset_type: "visual_dna"`) then `update_project_asset` with a real `description` (the DNA identity text the roster injects) and a `note` (what this asset is for in THIS project). List first with `list_project_assets`. Same for moodboards (`asset_type: "moodboard"`, note only — style edits stay on `update_moodboard`). Never unlink+relink to change a description. | ||
| **Server-side auto-routing:** passing `visual_dna_ids` is enough — the server expands the DNA's reference images and auto-routes the selected text-to-image model to its image-editing variant (e.g. `nano-banana-2` → `nano-banana-2-image-editing`). You do NOT need to also pass `reference_images` when using DNA. If the chosen model has no edit variant at all, the server falls back to using the DNA's images as style references on the t2i model. DNA payloads are never silently dropped. | ||
| ## How those images actually reach the model (packing) | ||
| Kolbo no longer sends only the first still or the character sheet. For every attached DNA: | ||
| 1. **User-uploaded refs take image slots first.** | ||
| 2. **Remaining slots:** one main still per DNA, then leftover stills from each DNA **round-robin** until the model's image-slot cap (`elementsMaxImages` / equivalent) is full. | ||
| 3. **If every still fits the cap, every still is sent** as its own reference. A 4-image character DNA on a 9-slot model is four slots, not one. | ||
| 4. **If a DNA only gets one leftover slot**, has **no distinct character sheet**, and still has unused stills, those leftovers are composited into a **white grid / collage** (up to 9 cells) so the model still sees them. A real character sheet is never overwritten by a collage. | ||
| 5. **Native Kling Elements** stays one element per DNA (sheet / frontal). Other providers use the slot pack above. | ||
| So every image you store on a DNA can appear in the generation — as its own slot or as a cell in that grid. Unused stills are no longer ignored. | ||
| ## Purity — what may live on a DNA (HARD) | ||
| Because leftover stills now travel with the DNA, a junk-drawer profile poisons every generation that uses it. | ||
| - **One DNA = one identity + one vibe.** All stills must feel like the same person / place / product / look. Do not mix two lighting moods, two eras, or two art directions on one profile. | ||
| - **Character DNA:** only that character. No second hero, no "also include the friend." Extra people only as **anonymous crowd / background extras** — never a named, readable, or story-important second face. | ||
| - **Environment / scene / location DNA:** architecture, light, materials, geography. Empty, or with anonymous crowd / atmosphere extras, is OK. **Do not put a main character, hero, or recognizable face that is not supposed to live in that place** — they will bleed into every shot that uses the location. | ||
| - **Product DNA:** only that product (angles, materials, label). No hand-model hero unless the product is worn-on-body and the body is generic / faceless. | ||
| - **Style DNA:** one art direction. A style board applied to varied subjects is OK. Two conflicting looks in one style DNA is not. | ||
| - **Separate states = separate DNAs** (clean vs bloodied, day vs night, intact vs broken). Do not dump both into one profile. | ||
| - When **generating** stills for a DNA, lock subject + wardrobe/era/palette in the prompt and explicitly forbid extra heroes / wrong-location characters. | ||
| - If the user hands you mixed refs, pick the stills that share vibe + identity (or generate clean ones). Do not register a junk drawer. Max 4 extra images on `create_visual_dna` still applies — those 4 are **all consumed**. | ||
| ## ⚠️ Pre-flight: Verify the Visual DNA Exists Before Using It (MANDATORY) | ||
@@ -220,6 +247,12 @@ | ||
| **Why:** A single reference photo only shows one angle. The close-up gives the engine facial detail; the 4-angle sheet gives it body geometry and pose range. Together they produce far more consistent generations. | ||
| **Why:** A single reference photo only shows one angle. The close-up gives the engine facial detail; the 4-angle sheet gives it body geometry and pose range. Together they produce far more consistent generations. Both stills (and any user photos you add) must be the **same person, same vibe** — they will all be packed into the next generation. | ||
| **Skip this only if** the user explicitly says "just use my image as-is" or provides 3+ reference images already covering multiple angles. | ||
| ### Environments, products, style — same precision | ||
| - **Environment / location:** generate empty (or crowd-only) plates. Prompt out heroes and readable faces. A location DNA that contains `@maya` in the frame will put Maya in every later shot of that place. | ||
| - **Product:** isolated angles, consistent lighting, readable label. No extra hero unless the product is worn and the body is generic. | ||
| - **Style:** one look, applied cleanly. Do not mix neon-cyber and dusty-western stills on the same style DNA. | ||
| ## When to Use | ||
@@ -256,3 +289,3 @@ | ||
| 2. Pass the exact `id` as `preset_id` on `generate_image` (2K or 4K, never 1K; 4K for bible / high-detail / when named) | ||
| 3. Show the sheet → GATE → `create_visual_dna { name, images, character_sheet_url }` | ||
| 3. Show the sheet → GATE → `create_visual_dna { name, images, character_sheet_url }` (or `update_visual_dna` with `character_sheet_url` when the DNA already exists) | ||
@@ -259,0 +292,0 @@ | Search | When | |
| --- | ||
| version: 0.9.0 | ||
| version: 0.9.3 | ||
| name: kolbo | ||
@@ -120,3 +120,3 @@ description: | | ||
| | `upload_media` / `create_upload_ticket` / `list_media` / `get_media` / `get_media_stats` / `favorite_media` / `unfavorite_media` / `delete_media` / `restore_media` / `permanently_delete_media` / `move_media` / `bulk_*_media` / `*_media_folder` | Media library — see `workflows/media-library.md`. Getting a LOCAL file in depends on where the server runs: `upload_media` with a path only works on a local (stdio) install; over a remote connector use `create_upload_ticket` and POST the file yourself. | | ||
| | `create_visual_dna` / `generate_character_sheet` / `list_visual_dnas` / `get_visual_dna` / `delete_visual_dna` / `*_visual_dna_folder` (5 folder tools) | Visual DNA (+ character sheet, character folders) — see `workflows/visual-dna.md` | | ||
| | `create_visual_dna` / `update_visual_dna` / `generate_character_sheet` / `list_visual_dnas` / `get_visual_dna` / `delete_visual_dna` / `*_visual_dna_folder` (5 folder tools) | Visual DNA (+ character sheet, character folders) — see `workflows/visual-dna.md`. Edit with `update_visual_dna`; never delete+recreate. | | ||
| | `list_moodboards` / `get_moodboard` / `list_presets` | Style overlays + sheet presets. Always pass `search` when you know the name — that is a silent id lookup, not a catalog to show. Never omit `preset_id` after claiming a preset was used. | | ||
@@ -127,7 +127,8 @@ | `list_color_palettes` / `analyze_color_palette` / `create_color_palette` / `update_color_palette` / `delete_color_palette` / `activate_color_palette` / `deactivate_color_palette` | **Color DNA — sticky and account-wide.** At most one palette is active at a time; while it is, it strict-grades **every** image and video generation automatically, with no per-call argument. `analyze_color_palette` pulls colors out of 1-5 image URLs for free and does NOT save. `create_color_palette` defaults `is_active: true`, which activates it and deactivates any other. Per-generation opt-out: `skip_color_palette: true` on `generate_image` / `generate_image_edit` / `generate_video` / `generate_video_from_image`. | | ||
| | `search_music_library` / `browse_music_library` / `get_music_library_facets` / `get_music_track_audio` / `get_music_track_lyrics` / `get_music_track_related` / `analyze_script_for_music` / `acquire_clean_music_track` / `import_music_track_to_library` | **SYNCI licensed music** — a commercially licensed catalog, not free stock. Discovery and previews are free but **watermarked**; there is no unwatermarked URL until you pay. `acquire_clean_music_track` (or `import_music_track_to_library`, which also copies it to the media library) **CHARGES CREDITS** for the clean master — confirm with the user first, and pass a stable `requestId` so a retry doesn't buy it twice. `analyze_script_for_music` turns a script into search terms for `search_music_library`. Use this family when the user needs music cleared for commercial use; use `search_stock_media` with `mediaType: "music"` when free stock will do. | | ||
| | `list_projects` / `move_session` | Projects: resolve a project NAME → the `project_id` you pass on generation/upload/doc calls; `move_session` relocates a whole session + its media when work landed in the wrong project. See "Projects — Where Work Lands" below. | | ||
| | `create_project` / `update_project` / `archive_project` / `unarchive_project` / `list_sessions` / `rename_session` / `delete_session` / `restore_session` | Project lifecycle + session inventory. `list_sessions` returns `project_id` + `types[]` on every row. Soft-delete leftover empty sessions after a move; `restore_session` undoes trash. Create a project when the user starts new work, then pass its id on EVERY call. | | ||
| | `list_projects` / `get_project` / `move_session` | Projects: resolve a project NAME → the `project_id` you pass on generation/upload/doc calls; `get_project` returns the full description (list clips it). `move_session` relocates a whole session + its media when work landed in the wrong project. See "Projects — Where Work Lands" below. | | ||
| | `create_project` / `update_project` / `archive_project` / `unarchive_project` / `list_sessions` / `rename_session` / `delete_session` / `restore_session` | Project lifecycle + session inventory. Edit name/description with `update_project` (read via `get_project` first). Rename sessions with `rename_session` — never delete+recreate. `list_sessions` returns `project_id` + `types[]` on every row. Soft-delete leftover empty sessions after a move; `restore_session` undoes trash. Create a project when the user starts new work, then pass its id on EVERY call. | | ||
| | `bulk_move_sessions` / `list_session_generations` / `move_generations_to_session` / `split_session` / `undo_session_organization` | Reorganize many sessions or generations. `list_session_generations` is an inventory (not a live generation card). | | ||
| | `add_project_context` / `list_project_context` / `delete_project_context` / `get_project_profile` / `regenerate_project_profile` | Project knowledge base (RAG): feed scripts/URLs/notes; `get_project_profile` = the living brief — read it to ground work in the project | | ||
| | `create_moodboard` / `update_moodboard` / `delete_moodboard` | Moodboards from image URLs → AI master style prompt → pass `moodboard_id` to generation tools | | ||
| | `list_project_assets` / `link_project_asset` / `unlink_project_asset` / `update_project_asset` | Project CAST roster: the Visual DNAs and moodboards tagged onto a project (`@Name` / `#Name`). `update_project_asset` writes each tagged DNA's identity description and/or its project-scoped purpose note. Never unlink+relink to edit. | | ||
| | `create_moodboard` / `update_moodboard` / `delete_moodboard` | Moodboards from image URLs → AI master style prompt → pass `moodboard_id` to generation tools. Edit with `update_moodboard`; never delete+recreate. | | ||
| | `clone_voice` / `import_elevenlabs_voice` / `delete_voice` | Custom voices (clone CHARGES CREDITS — confirm first; new voices show in `list_voices`) | | ||
@@ -139,2 +140,19 @@ | `trim_video` | Frame-accurate trim of a Kolbo-hosted video (tool waits and returns the URL). `edit_video` also gained `remove_background`. | | ||
| ## ⚠️ Edit in place — never delete+recreate (HARD RULE — always on) | ||
| Existing Kolbo objects keep a stable id. Generations, `@Name` / `#Name` bindings, share links, and teammates already point at that id. Deleting and making a new one orphans those links and throws away the stored analysis. | ||
| | What changed | Tool | | ||
| |---|---| | ||
| | Visual DNA name, description, stills, sheet, type, attributes | `update_visual_dna` | | ||
| | Project-cast DNA description or purpose note | `update_project_asset` | | ||
| | Moodboard name, style notes, images | `update_moodboard` | | ||
| | Project name or description | `get_project` then `update_project` | | ||
| | Project cast membership | `link_project_asset` / `unlink_project_asset` (list first) | | ||
| | Session title | `rename_session` | | ||
| | Custom agent name / persona | `update_agent` | | ||
| | AI Doc title / content | `get_doc` then `update_doc` | | ||
| `delete_*` is only for objects the user asked to remove. | ||
| ## ⚠️ Visual DNA `@Name` in the prompt (HARD RULE — always on) | ||
@@ -155,2 +173,4 @@ | ||
| **Every still on a DNA can reach the model.** Kolbo now sends all of a DNA's reference images that fit the model's image-slot cap (user uploads first, then one still per DNA, then leftovers round-robin). If a DNA only gets one leftover slot and has no real character sheet, unused stills become a white grid. Mixed-vibe stills or environment photos that contain a main character will confuse the generation — keep each DNA surgically clean. Create-and-pack rules: `references/workflows/visual-dna.md`. | ||
| ## ⚠️ `enhance_prompt` — leave it OFF (HARD RULE) | ||
@@ -157,0 +177,0 @@ |
@@ -1,1 +0,1 @@ | ||
| 0.9.0 | ||
| 0.9.3 |
Sorry, the diff of this file is not supported yet
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
171033619
0.01%