gitaiflow / User guide / OpenRouter Model Discovery
DocsgitaiflowUser guideOpenRouter Model Discovery

OpenRouter Model Discovery

gitaiflow includes OpenRouter model discovery through:

8 min readApplies to v1.1.3
On this page ▾
  1. What --list-models Does
  2. Prerequisites
  3. Basic Usage
  4. ID
  5. CONTEXT
  6. FREE
  7. Context size
  8. Model identity
  9. Model discovery
  10. Normal summary generation
  11. --list-models fails
  12. Model list is empty
  13. A model shown by --list-models does not work
  14. Free model is rate-limited
  15. List available OpenRouter models
  16. Select a specific free model
  17. Let OpenRouter select a free model
  18. Run gitaiflow
  19. OpenRouter
bash
gitaiflow --list-models

This command is designed to help you discover currently available OpenRouter models that can be used with gitaiflow without manually browsing the OpenRouter model catalog.

It is a model-discovery feature, not the normal gitaiflow summary workflow.


What --list-models Does

When you run:

bash
gitaiflow --list-models

gitaiflow queries the OpenRouter model catalog and displays models that are available through OpenRouter's API.

The output focuses on information useful when selecting a model for gitaiflow:

  • ID — the model identifier to use in configuration
  • CONTEXT — the model's context window
  • FREE — whether the model is available as a free model

The command is especially useful when you want to find a free model and then configure it as your AI_MODEL.


Prerequisites

You need an OpenRouter account.

OpenRouter: https://openrouter.ai/

Create an account and obtain the API credentials required for OpenRouter API access.

The --list-models command specifically uses OpenRouter's model catalog, so this feature is independent of the AI provider selected for a normal gitaiflow run.


Basic Usage

Run:

bash
gitaiflow --list-models

The result contains model identifiers and their context information.

A typical entry looks conceptually like:

text
ID                                      CONTEXT    FREE
google/gemma-4-31b-it:free              262144     yes

The important value for later configuration is the ID.

For example:

text
google/gemma-4-31b-it:free

can be used as the model identifier when configuring OpenRouter for normal gitaiflow summary generation.


Understanding the Output

ID

ID is the OpenRouter model identifier.

Example:

text
google/gemma-4-31b-it:free

Use this exact value when configuring:

bash
AI_MODEL=google/gemma-4-31b-it:free

Do not replace the provider/model structure with only the model's display name.


CONTEXT

CONTEXT is the model's context-window size.

For example:

text
262144

means the model supports a context window of up to approximately 262K tokens.

A larger context window can be useful for gitaiflow because the AI request can contain:

  • the system prompt
  • the generated diff
  • the requested output

However, a large context window does not mean that every request should contain a very large diff. Smaller, focused changes are generally easier to summarize and more efficient.


FREE

FREE indicates whether the model is marked as free in the OpenRouter catalog.

Example:

text
yes

Free availability can change on OpenRouter. Treat the result of the current:

bash
gitaiflow --list-models

command as the authoritative discovery result for your current environment/time.

A model being listed as free does not mean it has unlimited capacity or unlimited throughput.


Current Free Models

The following free models were available in the model catalog used for this documentation:

ID Context Free
inclusionai/ling-3.0-flash-fin:free 262,144 Yes
dots-studio/dots-3-note-preview:free 512,000 Yes
liquid/lfm-2.5-2.6b:free 65,536 Yes
nvidia/nemotron-3.5-lightning:free 1,000,000 Yes
thinkingmachines/inkling-small:free 1,048,576 Yes
poolside/laguna-s-2.1:free 262,144 Yes
thinkingmachines/inkling:free 1,048,576 Yes
poolside/laguna-xs-2.1:free 262,144 Yes
cohere/north-mini-code:free 256,000 Yes
z-ai/glm-5.2:free 256,000 Yes
nvidia/nemotron-3.5-content-safety:free 128,000 Yes
nvidia/nemotron-3-ultra-550b-a55b:free 1,000,000 Yes
minimax/minimax-m3:free 1,048,576 Yes
nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free 256,000 Yes
google/gemma-4-26b-a4b-it:free 262,144 Yes
google/gemma-4-31b-it:free 262,144 Yes
minimax/minimax-m2.7:free 196,608 Yes
nvidia/nemotron-3-super-120b-a12b:free 262,144 Yes
openrouter/free 200,000 Yes

Availability note: OpenRouter's catalog is dynamic. The list above represents the catalog information supplied for this documentation and should not be treated as a permanent inventory. Run gitaiflow --list-models to see the current catalog.


openrouter/free

One particularly useful entry is:

text
openrouter/free

with:

text
CONTEXT: 200000
FREE: yes

This is useful when you want OpenRouter to select from its available free models rather than hard-coding one specific free model.

Configure it as:

bash
AI_MODEL=openrouter/free

This is different from selecting a concrete model such as:

bash
AI_MODEL=google/gemma-4-31b-it:free

With a concrete model ID, you explicitly choose the model.

With:

text
openrouter/free

you delegate free-model selection to OpenRouter.


Selecting a Model for gitaiflow

A simple workflow is:

text
Run --list-models
       ↓
Review model IDs
       ↓
Choose a model
       ↓
Set AI_MODEL
       ↓
Run gitaiflow normally

For example:

bash
gitaiflow --list-models

Suppose you choose:

text
google/gemma-4-31b-it:free

Configure:

bash
export AI_PROVIDER=openrouter
export AI_MODEL=google/gemma-4-31b-it:free

Then run:

bash
gitaiflow --path .

The normal summary workflow will use the configured OpenRouter-compatible endpoint and selected model.


Choosing Between Models

The --list-models output gives you two particularly useful signals:

Context size

For large changes, a model with a larger context window provides more room for the prompt and diff.

Examples:

text
liquid/lfm-2.5-2.6b:free              65,536
google/gemma-4-31b-it:free           262,144
dots-studio/dots-3-note-preview:free 512,000
thinkingmachines/inkling:free       1,048,576

Model identity

The model ID tells you exactly which model you are selecting.

For repeatable workflows, explicitly selecting a concrete model can make behavior more predictable than relying on a dynamic free-model alias.


Recommended Selection Strategy

For gitaiflow, do not choose a model based only on the largest context number.

Consider:

  1. Code capability — the model should be suitable for understanding source-code changes.
  2. Context window — it should comfortably accommodate the expected diff size.
  3. Availability — free models can become temporarily unavailable or rate-limited.
  4. Consistency — a concrete model ID is preferable when reproducibility matters.
  5. Cost — :free models can be useful for experimentation and low-cost workflows.

For most repositories, the goal is not to maximize context size. The goal is to select a model that reliably produces useful commit summaries from the repository's typical changes.


--list-models vs Normal gitaiflow Runs

These are separate operations.

Model discovery

bash
gitaiflow --list-models

This:

  • queries OpenRouter's model catalog
  • displays model information
  • helps you choose a model
  • does not generate a Git summary

Normal summary generation

bash
gitaiflow --path .

This:

  • analyzes Git changes
  • generates the filtered diff
  • sends the summary request to the configured AI provider
  • parses the AI response
  • writes the resulting artifacts

Therefore, you can use --list-models before configuring the model, then use the selected model during normal execution.


Authentication and Configuration

The model catalog feature is specifically tied to OpenRouter.

For normal OpenRouter summary generation, configure the OpenRouter provider and credentials according to the gitaiflow configuration supported by your installed version.

Typical configuration is conceptually:

bash
export AI_PROVIDER=openrouter
export AI_API_KEY=<your-openrouter-key>
export AI_MODEL=google/gemma-4-31b-it:free

Do not put your API key directly into source code or commit it to Git.

If you use a .env file, keep it outside version-controlled content or ensure it is properly ignored.


Troubleshooting

--list-models fails

Check:

bash
gitaiflow --version

Then verify network connectivity from the environment where gitaiflow is running.

OpenRouter model discovery requires access to the OpenRouter API.


Model list is empty

An empty result can indicate that the OpenRouter catalog request did not return usable model records.

Retry:

bash
gitaiflow --list-models

If the problem persists, verify network access and the installed gitaiflow version.


A model shown by --list-models does not work

Model availability can change independently of gitaiflow.

Check the current catalog again:

bash
gitaiflow --list-models

Then verify the exact model ID.

For example, these are distinct identifiers:

text
google/gemma-4-31b-it:free
openrouter/free

Do not assume that a model ID remains available indefinitely just because it appeared in an earlier catalog response.


Free model is rate-limited

FREE=yes does not guarantee unlimited access.

A free model can have provider-side:

  • rate limits
  • concurrency limits
  • availability restrictions
  • temporary capacity constraints

If a selected free model is unavailable, try another currently listed model or use:

bash
AI_MODEL=openrouter/free

where appropriate.


Security and Privacy

--list-models is a model-catalog discovery operation.

It does not need your repository diff to determine which OpenRouter models are available.

For normal summary generation, the security/privacy boundary is different because the selected AI provider receives the prompt and filtered diff required to generate the summary.

Do not confuse:

bash
gitaiflow --list-models

with:

bash
gitaiflow --path .

The first is model discovery. The second performs repository analysis and AI synthesis.

For complete telemetry behavior, see:

text
user-guides/telemetry.md

Quick Reference

List available OpenRouter models

bash
gitaiflow --list-models

Select a specific free model

bash
export AI_PROVIDER=openrouter
export AI_MODEL=google/gemma-4-31b-it:free

Let OpenRouter select a free model

bash
export AI_PROVIDER=openrouter
export AI_MODEL=openrouter/free

Run gitaiflow

bash
gitaiflow --path .

OpenRouter

Sign up / manage your OpenRouter account(https://openrouter.ai/)


Summary

gitaiflow --list-models provides a convenient way to discover OpenRouter models directly from the CLI.

Use it to:

  • inspect available model IDs
  • compare context windows
  • identify free models
  • select a model for AI_MODEL
  • discover the openrouter/free dynamic free-model option

Because OpenRouter's catalog changes over time, the current output of gitaiflow --list-models should always be preferred over a static model list in documentation.