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

> ## Agent Instructions
> To act on a user's behalf in Guild, use the Guild REST API at https://api.guild.ai/v1.
> The OpenAPI spec is unauthenticated: https://docs.guild.ai/openapi.json (or openapi.yaml).
> Authenticate with an account API key, sent as HTTP Basic (key id as username, secret as password) or as `Authorization: Bearer <api_key_id>:<api_key_secret>`. See https://docs.guild.ai/api-reference/introduction#authentication.
> To run one agent on demand without account-wide access, use an API trigger instead: https://docs.guild.ai/platform/api-triggers.
> To search these docs from an MCP client, connect to https://docs.guild.ai/mcp. The full page index is https://docs.guild.ai/llms.txt.

# Run GPT and o-series models in Guild agents under policy

> Call OpenAI's GPT and o-series models from Guild agents with managed access or your own key, and choose which workspaces and agents can use each one.

Integrations · OpenAI

Guild agents call OpenAI's GPT and o-series models through `task.llm`, with no API key in agent code. Guild holds the credential server-side, checks your model policies on every call, and attributes spend to the workspace, agent, and user that made it.

> **[Book a demo](https://guild-ai.cal.com/gtm/meeting-with-guild.ai)**
>
> See how teams govern agents that use OpenAI.

> **[Start free](https://app.guild.ai)**
>
> Connect OpenAI and scope your first agent.

## One request shape across GPT and o-series

Not every OpenAI model accepts the same reasoning parameters. Guild removes the ones a model doesn't accept, so the same `task.llm` request works across GPT and o-series models. Streaming responses always carry token usage, so every call is attributed to its session.

## How it works

**1. Add a credential**

In **Access & setup > Models & providers**, click **Add API key** and choose a provider that serves GPT and o-series models. Check **OpenAI** under **Models**. On a managed account, you can skip this while Guild holds a managed OpenAI key.

**2. Write a model policy**

Bind the credential's OpenAI access to the account, a workspace, or an agent, and list the models it may call, such as `gpt-5*`.

**3. Call it from task.llm**

Name `"openai"` in `llmPreferences`, or leave preferences out and let your policies choose. Guild resolves the credential at runtime.

## Every GPT and o-series call goes through your policies

Agents never hold the key. Guild stores the credential server-side and shows only a masked value, so you can rotate it without touching agent code or the [model policies](/platform/llm-settings#model-policies) bound to it. Policies are an allowlist: a workspace, agent, or installed agent can call a GPT and o-series model only if a rule allows it. Set a [daily token limit](/platform/llm-settings#daily-token-limit) to cap spend, and see each call by workspace, agent, and user in [Usage](/insights/usage).

A raw API key in an agent's environment reaches every model the key can. A policy reaches only the models you name.

## About OpenAI models on Guild

| | |
| - | - |
| Name under **Models** in the credential form | OpenAI |
| `provider` in `llmPreferences` | `"openai"` |
| Default model | `gpt-4o` |
| Managed access | Yes, when Guild holds a managed key |

## Inference providers

You can reach these models through the OpenAI API itself or through a third-party provider.

| Provider | Notes |
| - | - |
| OpenAI | The publisher's own API. Available on every account. |
| [AWS Bedrock](/platform/providers/aws-bedrock) | Serves GPT-5.4 and later, including the `gpt-6` models, plus the open-weight `gpt-oss` models. |
| [OpenRouter](/platform/providers/openrouter) | Served under OpenRouter's `openai/` namespace. |
| [Fireworks AI](/platform/providers/fireworks) | Serves `gpt-oss-120b`. |

Write the canonical model name, such as `gpt-4o`, everywhere in Guild. Guild maps it to each provider's own model ID.

## Models

Guild prices and recognizes these OpenAI model IDs. A policy or preference can also name any other model your credential can reach. Third-party providers route more models than this list, and their catalogs change; see each provider's page for what it serves.

| Model | Notes |
| - | - |
| `gpt-5.6-sol` | |
| `gpt-5.6-terra` | |
| `gpt-5.6-luna` | |
| `gpt-5.5` | |
| `gpt-5.4` | |
| `gpt-5.4-mini` | |
| `gpt-5` | |
| `gpt-5-mini` | |
| `gpt-5-nano` | |
| `gpt-5-pro` | |
| `gpt-4.1` | |
| `gpt-4.1-mini` | |
| `gpt-4.1-nano` | |
| `gpt-4o` | The default. |
| `gpt-4o-mini` | |
| `o3` | |
| `o3-mini` | |
| `o3-pro` | |
| `o4-mini` | |
| `gpt-oss-120b` | Open-weight. Served by Fireworks AI and Bedrock, not the OpenAI API. |

## Set up OpenAI

On a managed account, agents can use OpenAI models without a credential, as long as Guild holds a managed key for OpenAI. To use your own OpenAI account instead, add a credential. Adding your first credential switches the whole account to bring your own key (BYOK).

**1. Open Models & providers**

Click **Access & setup** in the left nav, then **Models & providers**. In an organization, only admins can open it.

**2. Add a credential**

Click **Add API key** and choose an inference provider from the table above.

**3. Enter the provider's secret**

Give the credential a **Name** and paste your provider's **API key**. [AWS Bedrock](/platform/providers/aws-bedrock) asks for an IAM role and region instead.

**4. Choose OpenAI**

Under **Models**, check **OpenAI**. Keep `gpt-4o` as its default model or enter another from the list above. Then click **Add Key**. On [Fireworks AI](/platform/providers/fireworks), pick a model from its list, because the pre-filled default isn't available there.

To control which workspaces and agents can use OpenAI models, add a [model policy](/platform/llm-settings#model-policies) for the credential. For example, `--models "gpt-5*"` limits a policy to matching models:

```bash theme={null}
guild llm policy create --credential <credential-id> --publisher OPENAI --target-id <workspace-or-agent-id> --models "gpt-5*"
```

## Use it from an agent

Agent code never names a credential. Guild resolves the call against the workspace owner's settings. To ask for OpenAI explicitly, put it in `llmPreferences`:

```typescript theme={null}
const result = await task.llm.generateText({
  prompt: "Summarize this text...",
  llmPreferences: [
    { provider: "openai", model: "gpt-5" },
    { provider: "openai" },
  ],
})
```

The first entry asks for `gpt-5`. The second falls back to the default model of the matching policy. Preferences are strict: if no credential or policy allows any of them, the call fails rather than using another publisher. See [LLM preferences](/guide/llms#llm-preferences).

## Notes

* OpenAI streaming responses always include token usage, so Guild can attribute spend to the session.
* Guild removes reasoning parameters a model doesn't accept, so the same request works across GPT and o-series models.
* The [Codex](/guide/codex-driver) runtime driver calls the OpenAI Responses API through the runtime, so it needs an OpenAI credential or managed OpenAI access.

## Frequently asked questions

> **Can Guild agents use GPT models without my own OpenAI key?**
>
> Yes, on a managed account, when Guild holds a managed key for OpenAI. Usage then draws from your Guild tokens balance. Adding any credential switches the whole account to bring your own key (BYOK).

> **Can I call gpt-oss through the OpenAI API?**
>
> No. The open-weight `gpt-oss` models are served by [Fireworks AI](/integrations/fireworks) and [AWS Bedrock](/integrations/aws-bedrock), not the OpenAI API.

> **Can I limit an agent to the GPT-5 family?**
>
> Yes. Add a model policy for the agent with `--models "gpt-5*"`. Policies are an allowlist, so the agent can call only matching models.

> **What does the Codex runtime need?**
>
> An OpenAI credential or managed OpenAI access. The Codex runtime driver calls the OpenAI Responses API through the runtime.

## Put a governed agent on OpenAI this week

> **[Book a demo](https://guild-ai.cal.com/gtm/meeting-with-guild.ai)**
>
> See how teams govern agents that use OpenAI.

> **[Start free](https://app.guild.ai)**
>
> Connect OpenAI and scope your first agent.

## Related

**Also runs on Guild:** [Anthropic](/integrations/anthropic) · [Gemini](/integrations/gemini) · [AWS Bedrock](/integrations/aws-bedrock) · [Fireworks AI](/integrations/fireworks)

**Read:** Docs: [Models & providers](/platform/llm-settings) · [LLMs](/guide/llms) · [Usage](/insights/usage)
