Skip to content

v0.10.22

Choose a tag to compare

@hyoshi hyoshi released this 12 Jul 09:24
411a312

Added

  • Creative Studio image generation (visual layer). A new
    creative_studio_* MCP tool family generates text-free ad key visuals
    through a pluggable, BYO-API-key image provider abstraction (OpenAI
    gpt-image, Google Gemini image, fal.ai FLUX, plus third-party providers via
    the mureo.image_providers entry point). creative_studio_providers_list
    reports configured providers and their capabilities;
    creative_studio_generate_visual renders candidate PNGs into a run
    directory with a provenance manifest. Provider keys live in a new
    creative_studio credentials section (or the OPENAI_API_KEY /
    GEMINI_API_KEY / FAL_KEY env vars), calls are rate-limited, and the
    family can be disabled with MUREO_DISABLE_CREATIVE_STUDIO=1.
  • Creative Studio composition (typography layer). The creative_studio_*
    family gains the layout half of the pipeline: creative_studio_compose
    composites headline/body/CTA/badge/logo over a text-free key visual using
    three professional Jinja2 HTML/CSS templates (hero_overlay, split,
    minimal_badge) rendered by headless Chromium, so Japanese typography is
    pixel-perfect across every banner format (per-format safe areas keep copy
    clear of platform UI chrome). A lightweight brand kit
    (./BRAND_KIT/kit.yml, surfaced by creative_studio_brand_kit_get) supplies
    colours, fonts, and a logo — degrading field-by-field to tasteful defaults so
    output quality never depends on config hygiene. A Japanese-font pipeline
    bundles Noto Sans JP + Zen Kaku Gothic New, downloaded once into
    ~/.mureo/fonts with checksum-locked provenance and a system-font fallback
    when offline. creative_studio_edit_visual refines a visual through a
    provider's edit path for the art-direction loop. Composition dependencies
    (jinja2, playwright) install via the new mureo[creative] extra and
    are lazily imported, so the core install stays lean.
  • Creative Studio guided workflow (/creative-generate) + documentation. A
    new bundled skill encodes the 6-step, quality-first workflow — brief (Persona /
    USP / Brand Voice, optional landing-page analysis), agent-authored copy,
    text-free visual generation, an art-direction scoring loop that Reads each PNG
    and grades it on the 7-dimension creative-refresh rubric (pass bar: no dimension
    ≤ 3 and total ≥ 28/35, max 3 edit rounds), per-format composition, and delivery
    handing approved banners to the existing upload tools. The creative-refresh
    skill cross-links to it. New docs/creative-studio.md / docs/creative-studio.ja.md
    cover the 3-layer architecture, install (pip install 'mureo[creative]' +
    playwright install chromium), provider keys, the BRAND_KIT/kit.yml schema,
    the format matrix, and safety notes.
  • Creative Studio visual prompt engineering. The creative-generate skill
    gains a Visual prompt engineering section — a fill-in prompt scaffold, a
    style-discipline menu, five genre presets (beauty / B2B SaaS / real estate /
    food-EC / recruiting), provider-dialect notes, and anti-patterns — to raise
    the ceiling of generated visuals. creative_studio_generate_visual takes an
    optional template argument (hero_overlay / split / minimal_badge) that
    appends template-aware negative-space guidance to the provider prompt so the
    copy zone is enforced mechanically, and records the chosen template in the run
    manifest.
  • Creative Studio dashboard credentials section. The mureo configure
    dashboard's Setup tab gains a first-class Creative Studio (image
    generation)
    section for the three image-provider API keys
    (OPENAI_API_KEY / GEMINI_API_KEY / FAL_KEY): a labelled masked input
    per provider, a ✓/✗ configured indicator, a Save that persists each
    non-blank key (leave-blank-to-keep), and a Remove for the whole
    creative_studio credentials section — reusing the existing env-var write
    and section-remove endpoints, so keys no longer have to be hand-exported or
    entered through the generic advanced env form.

Fixed

  • Creative Studio review follow-ups. Font resolution during compose runs
    off the event loop (asyncio.to_thread) and a failed download is
    negative-cached for 24h, so an offline / egress-filtered host no longer
    re-blocks on every compose call. Malformed provider 200 bodies now surface
    as normalized, redacted provider errors instead of raw KeyError /
    binascii.Error. creative_studio_compose deduplicates requested formats
    (and the schema declares uniqueItems). Dropped the unused pillow
    dependency from the creative extra.