- mb: zero-dependency python CLI for the full API (ops/upload/run/wait/follow/ download incl. folder assets, retry/cancel, settings). Schema-aware -p k=v coercion. Works from any tailnet machine via MB_HOST. Tested end-to-end (upload -> blender_convert -> download). - AGENTS.md: complete handover brief for other agents using this box as an asset factory — endpoints, CLI reference, catalog, recipes, lanes/etiquette. - scripts/serve.sh (headless start/restart) + scripts/install_launchagent.sh (optional boot persistence, owner-run) - flux_local upgraded to mflux 0.18 reality: flux2-klein-4b default (Apache, UNGATED — runs with zero keys), klein-9b, schnell/schnell-4bit community quant, dev/krea-dev. Research verdict: FLUX.1-dev no longer competitive (Elo ~1027) vs klein ~1083-1119 vs nano-banana ~1154. - openrouter_image rewritten to the dedicated Image API (POST /api/v1/images): b64_json parsing, seed, resolution/aspect, exact usage.cost logging; model enum: gemini-2.5-flash-image / 3.1-flash-image (NB2) / 3-pro-image Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
23 lines
1.4 KiB
JSON
23 lines
1.4 KiB
JSON
{
|
|
"id": "openrouter_image",
|
|
"name": "OpenRouter · nano-banana",
|
|
"category": "generate",
|
|
"description": "Prompt → image via OpenRouter's Image API. nano-banana ≈$0.039/img, nano-banana 2 ≈$0.05-0.08, nano-banana-pro ≈$0.134 (1-2K). Exact cost is reported in the job log. Pair with FLUX (local) on the same prompt + Compare mode for A/B tests. Needs OPENROUTER_API_KEY.",
|
|
"accepts": [],
|
|
"produces": ["image"],
|
|
"resources": "net",
|
|
"requires_env": ["OPENROUTER_API_KEY"],
|
|
"entry": "run.py",
|
|
"params_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"prompt": {"type": "string", "default": "", "description": "What to generate"},
|
|
"model": {"type": "string", "enum": ["google/gemini-2.5-flash-image", "google/gemini-3.1-flash-image", "google/gemini-3-pro-image"], "default": "google/gemini-2.5-flash-image", "description": "nano-banana / nano-banana-2 / nano-banana-pro"},
|
|
"resolution": {"type": "string", "enum": ["1K", "2K", "4K"], "default": "1K", "description": "Output resolution tier (4K: pro/NB2 only, costs more)"},
|
|
"aspect_ratio": {"type": "string", "enum": ["1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3"], "default": "1:1"},
|
|
"seed": {"type": "integer", "description": "Seed (best-effort reproducibility)"},
|
|
"n": {"type": "integer", "default": 1, "minimum": 1, "maximum": 4, "description": "Number of images"}
|
|
}
|
|
}
|
|
}
|