# OpenClaw Plugin Configuration

Read this only when the skill runs as an OpenClaw plugin and you need to
inspect or explain plugin defaults. CLI flags always override these values.

When installed as an OpenClaw plugin, the skill reads defaults from
`~/.openclaw/openclaw.json` (override the location with
`OPENCLAW_CONFIG_PATH`). The supported config schema is defined in
[`openclaw.plugin.json`](../openclaw.plugin.json).

Example entry (values shown are sample overrides, not schema defaults — the
CLI defaults are 512×512 images, count 1, spark tokens, prompt-hash seeds):

```json
{
  "plugins": {
    "entries": {
      "sogni-creative-agent-skill": {
        "enabled": true,
        "config": {
          "defaultImageModel": "z_image_turbo_bf16",
          "defaultEditModel": "krea2_identity_edit_v1_2",
          "defaultPhotoboothModel": "coreml-sogniXLturbo_alpha1_ad",
          "defaultMusicModel": "minimax_music3",
          "videoModels": {
            "t2v": "ltx25-22b-int8_t2v_distilled",
            "i2v": "wan_v2.2-14b-fp8_i2v_lightx2v",
            "s2v": "wan_v2.2-14b-fp8_s2v_lightx2v",
            "ia2v": "ltx25-22b-int8_ia2v_distilled",
            "a2v": "ltx25-22b-int8_a2v_distilled",
            "animate-move": "wan_v2.2-14b-fp8_animate-move_lightx2v",
            "animate-replace": "wan_v2.2-14b-fp8_animate-replace_lightx2v",
            "v2v": "ltx25-22b-int8_v2v_distilled"
          },
          "defaultVideoWorkflow": "t2v",
          "defaultNetwork": "fast",
          "defaultTokenType": "spark",
          "apiBaseUrl": "https://api.sogni.ai",
          "defaultLlmModel": "qwen3.6-35b-a3b-gguf-iq4xs",
          "defaultTaskProfile": "general",
          "defaultApiMaxTokens": 1600,
          "defaultApiThinking": false,
          "defaultApiToolMode": "creative-agent",
          "defaultWorkflowMaxCost": 25,
          "defaultWorkflowConfirmCost": false,
          "seedStrategy": "prompt-hash",
          "modelDefaults": {
            "flux1-schnell-fp8": { "steps": 4, "guidance": 3.5 },
            "qwen_image_2512_fp8": { "steps": 20, "guidance": 7.5 }
          },
          "defaultWidth": 512,
          "defaultHeight": 512,
          "defaultCount": 1,
          "defaultFps": 16,
          "defaultDurationSec": 5,
          "defaultImageTimeoutSec": 30,
          "defaultVideoTimeoutSec": 1800,
          "defaultMusicDurationSec": 60,
          "defaultMusicTimeoutSec": 600,
          "credentialsPath": "~/.config/sogni/credentials",
          "lastRenderPath": "~/.config/sogni/last-render.json",
          "mediaInboundDir": "~/.openclaw/media/inbound"
        }
      }
    }
  }
}
```

Notes:

- Seed strategies: `prompt-hash` (deterministic) or `random`.
- `defaultNetwork` sets the Supernet every local render uses; `--network` overrides
  it for one run. With `relaxed`, a model with no Relaxed workers is refused rather
  than moved to Fast (`sogni-agent --list-models --model-network relaxed` lists what
  runs there), except vendor models, which stay on Fast. Hosted chat and hosted
  workflows always run on Fast. Without a timeout setting, renders on Relaxed wait at
  least 30 minutes; a `default*TimeoutSec` value in this config replaces that, so
  raise any short one you have set.
- `defaultEditModel` pins one model for every `-c` edit that names no `-m`.
  Leave it unset to keep the CLI's choice: `krea2_identity_edit_v1_2` for one
  or two context images, `flux3_image_klein_sd_int8_convrot` for three to ten.
- `videoModels.i2v` also governs two-image `--ref` + `--ref-end` renders:
  when set, it overrides the built-in LTX-2.5 first/last-frame default
  (`ltx25-22b-int8_i2v_distilled`) that otherwise applies to first/last-frame
  pairs. Unset, single-image i2v defaults to `wan_v2.2-14b-fp8_i2v_lightx2v`.
- `defaultCount` is clamped to the CLI's safety cap (16 unless raised with
  `SOGNI_MAX_COUNT`).
- `mediaInboundDir` defaults to `~/.openclaw/media/inbound`; when unset and
  only the legacy `~/.clawdbot/media/inbound` exists (pre-rename installs),
  the CLI falls back to it automatically.
- The API key is **never** stored in plugin config. Provide `SOGNI_API_KEY`
  via the environment the OpenClaw gateway passes to the CLI, or save it to
  `~/.config/sogni/credentials`.
