Skip to content

Free draws on Krea 2; VIP draws Krea 2 + MOSS-Image - #274

Merged
iamwavecut merged 1 commit into
mainfrom
feat/krea2-free-draws
Oct 21, 2026
Merged

iamwavecut merged 1 commit into
mainfrom
feat/krea2-free-draws

Conversation

@iamwavecut

Copy link
Copy Markdown
Owner

Summary

Free users now draw with Krea 2 Turbo instead of FLUX.3; VIP draws are two pictures, Krea 2 and MOSS-Image; FLUX.3 stays on VIP edits and as the fallback of the Krea 2 and MOSS slots.

  • VIP draws. The VIP generator runs two slots in parallel: image_generation_flux (Krea 2, model 843) and image_generation_moss (MOSS-Image, 845). The FLUX.3 slot (image_generation_boogu_turbo) leaves the VIP composition. The slot list is the constant VIP_IMAGE_GENERATION_WORKFLOW_KEYS, next to the free and edit workflow constants. The optimizer writes two prompts (Krea 2, MOSS-Image), so the VIP call no longer carries the FLUX.3 rules and examples.
  • Free draws. The regular worker keeps its workflow image_generation_boogu_turbo, so free and VIP routing stay separate in the admin routing page. Migration 210 switches that workflow's FLUX.3 primary to Krea 2 and adds FLUX.3 as fallback (order 0, breaker 5 / 30 s, same as the VIP Krea 2 slot). It acts only on a FLUX.3 primary and only when an enabled Krea 2 model exists on aifarm-draw; the switched row records its previous model and the new row carries a marker, so the down migration restores the previous routing exactly.
  • Edits. Unchanged: image_edit_flux → FLUX.3 (844).

Evidence

  • Production routing before the change: image_generation_boogu_turbo primary = 844 (FLUX.3, assignment 23, no fallback); image_generation_flux = 843 + fallback 844; image_generation_moss = 845 + fallback 844; image_edit_flux = 844.
  • Migration 210 up and down ran against the production database inside a transaction that was rolled back: up → assignment 23 points to 843 with krea2_free_draws_v1_previous_model_id: 844, one fallback row to 844; down → assignment 23 back to 844, fallback row removed.
  • AI Farm draw-api (last 24 h): Krea 2 text-to-image worker_ms p50 17.6 s, p90 19.5 s (n=28, peak reserved 8.5 GB); FLUX.3 text-to-image p50 14.7 s, p90 15.3 s (n=434). The gpu-butler profile draw-krea2-t2i-burst (10112 MiB) already covers the Krea 2 peak, and all three workers are resident, so the farm needs no change.

Tests

  • cargo fmt --all: no changes. cargo clippy --workspace --all-targets -- -D warnings: pass. cargo test -p openplotva-app -p openplotva-storage -p openplotva-media: 1434 + 55 + 179 passed, 0 failed.
  • Changed: image_worker_workflows_keep_free_vip_and_editor_slots_apart pins the free workflow, the two VIP slots, and the VIP editor workflow.

The VIP generator runs two slots in parallel, image_generation_flux (Krea 2)
and image_generation_moss (MOSS-Image); the FLUX.3 slot leaves it. FLUX.3
keeps the VIP edits and stays the fallback of both slots.

Free users keep their own workflow, image_generation_boogu_turbo. Migration
210 switches its FLUX.3 primary to Krea 2 and adds FLUX.3 as fallback, only
when that primary is FLUX.3 and an enabled Krea 2 model exists. The switched
row records its previous model and the new row carries a marker, so the down
migration restores the previous routing exactly.
@github-actions

Copy link
Copy Markdown
Messages
📖 Danger checked 4 changed file(s).

Generated by 🚫 dangerJS against 467e0dc

@iamwavecut
iamwavecut merged commit bfc25a2 into main Oct 21, 2026
12 checks passed
@iamwavecut
iamwavecut deleted the feat/krea2-free-draws branch October 21, 2026 13:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant