> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lumenfall.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Models

> AI models available through Lumenfall

Lumenfall provides access to AI models from multiple [providers](/providers). Each model has different capabilities, quality characteristics, and pricing.

Text models are available through [OpenRouter](https://openrouter.ai), giving you access to models from OpenAI, Google, Anthropic, and many more. Image and video models are routed across dedicated providers like Google Vertex, OpenAI, Replicate, Fal, and others.

## Discovering models

Browse available models:

* **[Model catalog](https://lumenfall.ai/models)** - Full list with capabilities, pricing, and examples
* **[Models API](/api-reference/models/list)** - Programmatic access to available models

<CodeGroup>
  ```bash HTTP theme={null}
  curl https://api.lumenfall.ai/openai/v1/models \
    -H "Authorization: Bearer $LUMENFALL_API_KEY"
  ```

  ```python Python theme={null}
  from openai import OpenAI

  client = OpenAI(
      api_key="lmnfl_your_api_key",
      base_url="https://api.lumenfall.ai/openai/v1"
  )

  models = client.models.list()
  for model in models.data:
      print(model.id)
  ```

  ```typescript JavaScript / TypeScript theme={null}
  import OpenAI from "openai";

  const client = new OpenAI({
    apiKey: "lmnfl_your_api_key",
    baseURL: "https://api.lumenfall.ai/openai/v1",
  });

  const models = await client.models.list();
  for (const model of models.data) {
    console.log(model.id);
  }
  ```

  ```go Go theme={null}
  package main

  import (
      "context"
      "fmt"

      "github.com/openai/openai-go"
      "github.com/openai/openai-go/option"
  )

  func main() {
      client := openai.NewClient(
          option.WithAPIKey("lmnfl_your_api_key"),
          option.WithBaseURL("https://api.lumenfall.ai/openai/v1"),
      )

      models, err := client.Models.List(context.Background())
      if err != nil {
          panic(err)
      }

      for _, model := range models.Data {
          fmt.Println(model.ID)
      }
  }
  ```

  ```csharp C# / .NET theme={null}
  using OpenAI;
  using OpenAI.Models;

  var options = new OpenAIClientOptions
  {
      Endpoint = new Uri("https://api.lumenfall.ai/openai/v1")
  };

  var client = new OpenAIClient("lmnfl_your_api_key", options);
  var modelClient = client.GetModelClient();

  var models = modelClient.GetModels();
  foreach (var model in models.Value)
  {
      Console.WriteLine(model.Id);
  }
  ```

  ```java Java theme={null}
  import com.openai.client.OpenAIClient;
  import com.openai.client.okhttp.OpenAIOkHttpClient;
  import com.openai.models.ModelListParams;

  OpenAIClient client = OpenAIOkHttpClient.builder()
      .apiKey("lmnfl_your_api_key")
      .baseUrl("https://api.lumenfall.ai/openai/v1")
      .build();

  var models = client.models().list(ModelListParams.builder().build());
  models.data().forEach(model -> System.out.println(model.id()));
  ```

  ```ruby Ruby theme={null}
  require "openai"

  client = OpenAI::Client.new(
    api_key: "lmnfl_your_api_key",
    base_url: "https://api.lumenfall.ai/openai/v1"
  )

  models = client.models.list
  models.data.each { |model| puts model.id }
  ```
</CodeGroup>

### Response

```json theme={null}
{
  "object": "list",
  "data": [
    {
      "id": "gemini-3-pro-image",
      "object": "model",
      "created": 1702345678,
      "owned_by": "lumenfall"
    },
    {
      "id": "gpt-image-1.5",
      "object": "model",
      "created": 1702345678,
      "owned_by": "lumenfall"
    }
  ]
}
```

## Using models

Specify a model by its ID in the `model` parameter. For text models, use the OpenRouter model identifier (e.g., `google/gemini-3-flash-preview`). For image models, use the Lumenfall model ID (e.g., `gemini-3-pro-image`).

| Operation            | Description                                  | API reference                                             |
| -------------------- | -------------------------------------------- | --------------------------------------------------------- |
| **Chat completions** | Generate text from a conversation            | [Create chat completion](/api-reference/chat/completions) |
| **Generate images**  | Create new images from text prompts          | [Generate images](/api-reference/images/generate)         |
| **Edit images**      | Modify existing images with prompts          | [Edit images](/api-reference/images/edit)                 |
| **Upscale images**   | Increase the resolution of an existing image | [Image upscaling](/use-cases/image-upscaling)             |
| **Generate videos**  | Create videos from text or image prompts     | [Generate videos](/api-reference/videos/generate)         |

## Pricing

Pricing varies by model, size, and quality. Check the [model catalog](https://lumenfall.ai/models) for current pricing details.

Use [dry run mode](/api-reference/cost-estimation) to estimate costs before generating.

<Note>
  Pricing in the model catalog and from the cost estimation endpoint is approximate. Effective pricing is calculated after the request runs, because it depends on outputs.
</Note>

See [Billing](/billing) for billing modes and payment options.
