---
title: 'GPT-4.1 mini API: Model ID, 1M Context and Tool Calling | RunAPI'
description: Call gpt-4.1-mini through RunAPI's OpenAI-compatible Chat Completions API. Smaller GPT-4.1 model with a 1M-token context, 32K output, image input and tools.
url: https://runapi.ai/models/gpt/4.1-mini.md
canonical: https://runapi.ai/models/gpt/4.1-mini
locale: en
site: RunAPI
image: https://runapi.ai/assets/opengraph-bfaaa0f0.png
alternates:
  en: https://runapi.ai/models/gpt/4.1-mini
  zh-CN: https://runapi.ai/zh-CN/models/gpt/4.1-mini
  es: https://runapi.ai/es/models/gpt/4.1-mini
  ja: https://runapi.ai/ja/models/gpt/4.1-mini
  de: https://runapi.ai/de/models/gpt/4.1-mini
  fr: https://runapi.ai/fr/models/gpt/4.1-mini
  pt-BR: https://runapi.ai/pt-BR/models/gpt/4.1-mini
  ko: https://runapi.ai/ko/models/gpt/4.1-mini
  it: https://runapi.ai/it/models/gpt/4.1-mini
  nl: https://runapi.ai/nl/models/gpt/4.1-mini
  pl: https://runapi.ai/pl/models/gpt/4.1-mini
  tr: https://runapi.ai/tr/models/gpt/4.1-mini
  zh-TW: https://runapi.ai/zh-TW/models/gpt/4.1-mini
  zh-HK: https://runapi.ai/zh-HK/models/gpt/4.1-mini
  ar: https://runapi.ai/ar/models/gpt/4.1-mini
  x-default: https://runapi.ai/models/gpt/4.1-mini
model: GPT
provider: OpenAI
variant_id: gpt-4.1-mini
sdk_model_id: gpt-4.1-mini
modality: text
billing_unit: 1K tokens
status: active
---

> HTML version: https://runapi.ai/models/gpt/4.1-mini
> Site index for agents: https://runapi.ai/llms.txt


# gpt-4.1-mini API

Call gpt-4.1-mini from the GPT family through RunAPI. Billing is per token with no subscription, and a request that fails before its response starts is not charged.

**OpenAI / [GPT](https://runapi.ai/models/gpt.md)**
**Operational · text · Commercial OK**

## What GPT-4.1 mini is built for

GPT-4.1 mini is the smaller member of OpenAI's GPT-4.1 family, released on April 14, 2025 as the snapshot gpt-4.1-mini-2025-04-14. It keeps the 1,047,576-token context window and 32,768 max output tokens of GPT-4.1, and OpenAI targets it at fast instruction-following and tool-calling workloads.

It accepts text and image input and answers without a reasoning step. OpenAI supports function calling and structured outputs on the model, and recommends GPT-5 mini for more complex tasks.

On RunAPI, call gpt-4.1-mini through the OpenAI-compatible Chat Completions endpoint (/v1/chat/completions) with the OpenAI SDK pointed at https://runapi.ai/v1. The same API key also calls gpt-4.1 and the newer GPT models, so you can switch by changing the model ID.

**Model ID:** gpt-4.1-mini
**Released:** April 14, 2025
**Context window:** 1,047,576 tokens
**Max output:** 32,768 tokens
**Input:** Text and images
**Reasoning:** None (non-reasoning model)
**Endpoint on RunAPI:** OpenAI Chat Completions



<!-- catalog-model-detail-slot: model-playground -->

## Try GPT-4.1 mini

Pick any model and generate in seconds.


**Model:**
- **Chat completion** — `chat_completion` · `gpt-4.1-mini` · Input $0.40 / 1M tokens | Output $1.60 / 1M tokens

**Prompt:** Describe what you want to create...

**Estimated:** Input $0.40 / 1M tokens | Output $1.60 / 1M tokens

- [Generate](https://runapi.ai/login)
Sign in to generate with RunAPI.
<!-- /catalog-model-detail-slot: model-playground -->

### Switch variant

- [codex-auto-review](https://runapi.ai/models/gpt/codex-auto-review.md)
- [gpt-4.1](https://runapi.ai/models/gpt/4.1.md)
- **gpt-4.1-mini** (current)
- [gpt-4o-mini](https://runapi.ai/models/gpt/4o-mini.md)
- [gpt-5-pro](https://runapi.ai/models/gpt/5-pro.md)
- [gpt-5.2](https://runapi.ai/models/gpt/5.2.md)
- [gpt-5.2-pro](https://runapi.ai/models/gpt/5.2-pro.md)
- [gpt-5.3-codex](https://runapi.ai/models/gpt/5.3-codex.md)
- [gpt-5.3-codex-spark](https://runapi.ai/models/gpt/5.3-codex-spark.md)
- [gpt-5.4](https://runapi.ai/models/gpt/5.4.md)
- [gpt-5.4-mini](https://runapi.ai/models/gpt/5.4-mini.md)
- [gpt-5.4-nano](https://runapi.ai/models/gpt/5.4-nano.md)
- [gpt-5.4-pro](https://runapi.ai/models/gpt/5.4-pro.md)
- [gpt-5.5](https://runapi.ai/models/gpt/5.5.md)
- [gpt-5.5-pro](https://runapi.ai/models/gpt/5.5-pro.md)
- [gpt-5.6-luna](https://runapi.ai/models/gpt/5.6-luna.md)
- [gpt-5.6-sol](https://runapi.ai/models/gpt/5.6-sol.md)
- [gpt-5.6-terra](https://runapi.ai/models/gpt/5.6-terra.md)
- [gpt-6-astra](https://runapi.ai/models/gpt/6-astra.md)
- [gpt-6-luna](https://runapi.ai/models/gpt/6-luna.md)
- [gpt-6-sol](https://runapi.ai/models/gpt/6-sol.md)
- [gpt-6.1-sol](https://runapi.ai/models/gpt/6.1-sol.md)
- [gpt-live-1](https://runapi.ai/models/gpt/live-1.md)

23 versions available





gpt-4.1-mini is one of the GPT models on RunAPI. It uses the same API key as every other model, and you switch to it by changing the model ID in your request. Each call is synchronous and billed in USD by input, output, and cache tokens, with no subscription or minimum spend. A request that fails before the response starts is not charged; once a response is streaming, the tokens already generated are billed, even if the client disconnects.

- Per-token billing in USD with no subscription
- No charge when a request fails before its response starts
- Token-by-token streaming
- Switch models by changing one model ID
- One API key and one bill for every model and provider

## Usage metrics

- **API Calls / Day:** 3
- **Success Rate:** 33.3%
- **Avg Generation:** 5.1s

Verified customer feedback is not available for this model yet.



## Technical details

| Field | Value |
|---|---|
| Provider | OpenAI |
| Model ID | gpt-4.1-mini |
| Modality | Text |
| Task types | Synchronous |
| API endpoint | `/v1/chat/completions` |
|  | `/v1/responses` |
|  | `/v1/messages` |
|  | `/v1beta/models/gpt-4.1-mini:generateContent` |
|  | `/v1beta/models/gpt-4.1-mini:streamGenerateContent` |
| Billing unit | 1K tokens |
| Catalog status | Operational |



**HOW IT WORKS**

## Use This Model in 3 Steps

1. **Get Your Key** - Sign up for free and create an API key for gpt-4.1-mini from the dashboard.
2. **Send a Request** - POST to /v1/chat/completions with the gpt-4.1-mini model slug and your parameters.
3. **Get Results** - Read the completed gpt-4.1-mini response directly from the endpoint.



<!-- catalog-model-detail-slot: feature-cards -->

## What this model offers

- **Endpoint coverage** — Exposes 1 public endpoint(s): chat_completion.
- **Usage-based billing** — Metered by 1K tokens with no subscription requirement.
<!-- /catalog-model-detail-slot: feature-cards -->



## GPT-4.1 mini Pricing

| Endpoint | Price |
|---|---|
| `chat_completion` | Input: $0.40 / 1M tokens<br>Output: $1.60 / 1M tokens<br>Cache read: $0.10 / 1M tokens |



**API REFERENCE**

## Endpoint Specification

| Field | Value |
|---|---|
| Endpoint | `POST /v1/chat/completions` |
| Model ID | `gpt-4.1-mini` |
| Task Types | `chat_completion` |


<!-- catalog-model-detail-slot: request-parameters -->

## Request parameters

No request parameters are published for this endpoint.
<!-- /catalog-model-detail-slot: request-parameters -->

**Request example**

```json
{
  "model": "gpt-4.1-mini",
  "messages": [
    {
      "role": "user",
      "content": "Analyze this quarterly revenue data and produce a summary with key trends, anomalies, and three recommendations."
    }
  ]
}
```

### Model skill — gpt-4.1-mini

Install the skill once, then use the variant ID from this page while building.

Base URL: `https://runapi.ai`

| Endpoint | Protocol |
|---|---|
| `POST /v1/chat/completions` | OpenAI compatible |
| `POST /v1/responses` | OpenAI Responses |
| `POST /v1/messages` | Anthropic compatible |
| `POST /v1beta/models/gpt-4.1-mini:generateContent` | Gemini generateContent |
| `POST /v1beta/models/gpt-4.1-mini:streamGenerateContent` | Gemini streamGenerateContent |

Use the OpenAI / Anthropic / Google Gen AI SDK with your RunAPI API key and `model: "gpt-4.1-mini"`.

### Use gpt-4.1-mini with a model skill

1. **Install** — Install the model skill for the GPT line. It loads docs, request formats, and pricing notes into your coding workspace.
2. **Configure** — Point your SDK at https://runapi.ai and set your RunAPI API key. The same key works for every model and provider.
3. **Call** — Send a request in an API format this model supports, with the model field set to the model ID on this page. RunAPI forwards it to the provider.
4. **Receive** — Read the response from the same call, or stream it as it is generated. The usage field shows the tokens you are billed for.

### What's different about gpt-4.1-mini

- **VS CODEX-AUTO-REVIEW: Smaller GPT-4.1 model; 1M context, image input and tools via OpenAI-compatible API** — codex-auto-review
- **VS GPT-4.1: Smaller GPT-4.1 model; 1M context, image input and tools via OpenAI-compatible API** — OpenAI's non-reasoning GPT-4.1; 1M context, image input and tools via OpenAI-compatible API
- **VS GPT-4O-MINI: Smaller GPT-4.1 model; 1M context, image input and tools via OpenAI-compatible API** — Fast, affordable GPT-4o model for everyday text tasks

## USE CASES

**Customer support**

Answer customer questions from a private knowledge base, reducing ticket volume.

**Document analysis**

Draft contract summaries and flag key clauses for attorney review.

**Code generation**

Auto-generate unit tests, code reviews, and refactoring suggestions in CI.



## Frequently asked questions about GPT-4.1 mini

### When should I use gpt-4.1-mini instead of gpt-4.1?

Use gpt-4.1-mini for fast, high-volume instruction following and tool calls where the larger model is not needed. Use gpt-4.1 for harder instructions. Both share the same context window, output limit, and input types.

### Does GPT-4.1 mini accept images?

Yes. It takes text and image input. On RunAPI, add image_url parts next to the text in messages[].content[] of a Chat Completions request.

### Does GPT-4.1 mini reason before answering?

No. Like gpt-4.1, it has no reasoning step. OpenAI recommends GPT-5 mini for more complex tasks.

### How do I call GPT-4.1 mini through RunAPI?

Point the OpenAI SDK at https://runapi.ai/v1 with your RunAPI API key and send Chat Completions requests with model set to gpt-4.1-mini. Tools use the standard OpenAI tools format.

### How do I select gpt-4.1-mini?

Pass the model ID shown in the quickstart.

### What's the rate limit on this variant?

Per-key rate limits scale with your usage tier. The pricing page shows current limits. If you need higher throughput, contact support to discuss tier upgrades.

### Can I switch variants later?

Yes. Variant is a parameter in the request. Switch by changing the model ID — no code changes, no re-authentication, no separate billing setup. All variants share the same API key and request shape.

### Does it stream?

Where streaming is available, RunAPI streams end-to-end. LLM models support token-level streaming. Media models use async task polling or webhook callbacks for result delivery.

### Where do I report quality issues?

Open an issue on the public GitHub repo or email support at contact@runapi.ai. Include the task ID and model ID so the team can investigate the specific generation.

### Do I need a separate provider account?

No. Your RunAPI API key is enough to access this variant and every other model in the catalog. You do not need accounts with the underlying provider.


### RELATED

- [gpt-6-luna](https://runapi.ai/models/gpt/6-luna.md) — by OpenAI · Input $0.08-$0.16 / 1M tokens | Output $0.40-$0.60 / 1M tokens
- [gpt-4o-mini](https://runapi.ai/models/gpt/4o-mini.md) — by OpenAI · Input $0.12 / 1M tokens | Output $0.48 / 1M tokens
- [codex-auto-review](https://runapi.ai/models/gpt/codex-auto-review.md) — by OpenAI · Input $0.16-$0.32 / 1M tokens | Output $0.96-$1.44 / 1M tokens
- [gpt-5.4-nano](https://runapi.ai/models/gpt/5.4-nano.md) — by OpenAI · Input $0.16 / 1M tokens | Output $1.00 / 1M tokens

### Start building with GPT.

- [Create free account](https://runapi.ai/login)
- [Read the quickstart →](https://runapi.ai/docs/api/openai/chat-completions)
## Building with a team?

We're here to help with enterprise setup, integrations, and technical questions.

[Contact Us](https://runapi.ai/contact.md)



---

## More from RunAPI

- [Home](https://runapi.ai/.md)
### Product
- [Model Catalog](https://runapi.ai/models.md)
- [Pricing](https://runapi.ai/pricing.md)
- [Providers](https://runapi.ai/models#all-models)
### Developers
- [Documentation](https://runapi.ai/docs/guides)
- [SDKs](https://runapi.ai/sdk.md)
- [CLI](https://runapi.ai/cli.md)
- [MCP Server](https://runapi.ai/mcp.md)
- [x402](https://runapi.ai/x402.md)
### Guides
- [Claude Code vs Cursor](https://runapi.ai/claude-code-vs-cursor.md)
- [Cursor API Setup](https://runapi.ai/cursor-api-setup.md)
- [RunAPI vs OpenRouter](https://runapi.ai/openrouter-alternative.md)
### Company
- [Enterprise](https://runapi.ai/contact.md)
- [Contact](https://runapi.ai/contact.md)
### Legal
- [Terms](https://runapi.ai/terms.md)
- [Privacy](https://runapi.ai/privacy.md)
- [Site index for agents](https://runapi.ai/llms.txt)

Contact: contact@runapi.ai

## Structured data

```json
[
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "WebSite",
    "name": "RunAPI",
    "url": "https://runapi.ai/",
    "potentialAction": {
      "@type": "SearchAction",
      "target": {
        "@type": "EntryPoint",
        "urlTemplate": "https://runapi.ai/models?q={search_term_string}"
      },
      "query-input": "required name=search_term_string"
    }
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "Organization",
    "name": "RunAPI",
    "url": "https://runapi.ai/",
    "logo": {
      "@type": "ImageObject",
      "url": "https://runapi.ai/icon.svg"
    },
    "sameAs": [
      "https://github.com/runapi-ai"
    ]
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "SoftwareApplication",
    "name": "GPT gpt-4.1-mini",
    "applicationCategory": "DeveloperApplication"
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Home",
        "item": "https://runapi.ai/"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "Models",
        "item": "https://runapi.ai/models"
      },
      {
        "@type": "ListItem",
        "position": 3,
        "name": "GPT",
        "item": "https://runapi.ai/models/gpt"
      },
      {
        "@type": "ListItem",
        "position": 4,
        "name": "gpt-4.1-mini",
        "item": "https://runapi.ai/models/gpt/4.1-mini"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "HowTo",
    "name": "Use gpt-4.1-mini with a model skill",
    "description": "Call gpt-4.1-mini from the GPT family through RunAPI: per-token pricing, model ID, supported API formats, and setup guide.",
    "totalTime": "PT5M",
    "step": [
      {
        "@type": "HowToStep",
        "position": 1,
        "name": "Install",
        "text": "Install the model skill for the GPT line. It loads docs, request formats, and pricing notes into your coding workspace.",
        "url": "https://runapi.ai/models/gpt/4.1-mini#how-step-1"
      },
      {
        "@type": "HowToStep",
        "position": 2,
        "name": "Configure",
        "text": "Point your SDK at https://runapi.ai and set your RunAPI API key. The same key works for every model and provider.",
        "url": "https://runapi.ai/models/gpt/4.1-mini#how-step-2"
      },
      {
        "@type": "HowToStep",
        "position": 3,
        "name": "Call",
        "text": "Send a request in an API format this model supports, with the model field set to the model ID on this page. RunAPI forwards it to the provider.",
        "url": "https://runapi.ai/models/gpt/4.1-mini#how-step-3"
      },
      {
        "@type": "HowToStep",
        "position": 4,
        "name": "Receive",
        "text": "Read the response from the same call, or stream it as it is generated. The usage field shows the tokens you are billed for.",
        "url": "https://runapi.ai/models/gpt/4.1-mini#how-step-4"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "en",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "When should I use gpt-4.1-mini instead of gpt-4.1?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Use gpt-4.1-mini for fast, high-volume instruction following and tool calls where the larger model is not needed. Use gpt-4.1 for harder instructions. Both share the same context window, output limit, and input types."
        }
      },
      {
        "@type": "Question",
        "name": "Does GPT-4.1 mini accept images?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Yes. It takes text and image input. On RunAPI, add image_url parts next to the text in messages[].content[] of a Chat Completions request."
        }
      },
      {
        "@type": "Question",
        "name": "Does GPT-4.1 mini reason before answering?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "No. Like gpt-4.1, it has no reasoning step. OpenAI recommends GPT-5 mini for more complex tasks."
        }
      },
      {
        "@type": "Question",
        "name": "How do I call GPT-4.1 mini through RunAPI?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Point the OpenAI SDK at https://runapi.ai/v1 with your RunAPI API key and send Chat Completions requests with model set to gpt-4.1-mini. Tools use the standard OpenAI tools format."
        }
      },
      {
        "@type": "Question",
        "name": "How do I select gpt-4.1-mini?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Pass the model ID shown in the quickstart."
        }
      },
      {
        "@type": "Question",
        "name": "What's the rate limit on this variant?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Per-key rate limits scale with your usage tier. The pricing page shows current limits. If you need higher throughput, contact support to discuss tier upgrades."
        }
      },
      {
        "@type": "Question",
        "name": "Can I switch variants later?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Yes. Variant is a parameter in the request. Switch by changing the model ID — no code changes, no re-authentication, no separate billing setup. All variants share the same API key and request shape."
        }
      },
      {
        "@type": "Question",
        "name": "Does it stream?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Where streaming is available, RunAPI streams end-to-end. LLM models support token-level streaming. Media models use async task polling or webhook callbacks for result delivery."
        }
      },
      {
        "@type": "Question",
        "name": "Where do I report quality issues?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Open an issue on the public GitHub repo or email support at contact@runapi.ai. Include the task ID and model ID so the team can investigate the specific generation."
        }
      },
      {
        "@type": "Question",
        "name": "Do I need a separate provider account?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "No. Your RunAPI API key is enough to access this variant and every other model in the catalog. You do not need accounts with the underlying provider."
        }
      }
    ]
  }
]
```
