Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions skills/openrouter-images/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,18 @@ Images come back base64-encoded in a `data` array. For raster PNG output, `media
}
```

### Streaming

Endpoints with `supports_streaming` accept `"stream": true` on `POST /api/v1/images` and respond with SSE events:

| Event | Payload |
|---|---|
| `image_generation.partial_image` | `partial_image_index`, `b64_json` — a partial raster image |
| `image_generation.text_chunk` | `text`, `phase` — a text fragment for text-based formats (e.g. partial SVG markup). `phase` is `content`, `reasoning`, or `draft`; only `content` is renderable output |
| `image_generation.completed` | Final `b64_json`, `media_type`, `created`, `usage` |

The skill's scripts use non-streaming requests; streaming is useful when rendering output progressively (e.g. SVG as it's generated).

## Using a Different Model

The default model is `google/gemini-3.1-flash-image-preview` (Nano Banana 2). To use another, pass `--model <id>` with any image model ID (e.g. `google/gemini-3.1-flash-lite-image`). Run `discover.ts` to browse image models and `discover.ts <model>` to confirm which parameters and providers it supports before generating.
Expand Down