Universal.OpenAI.ChatGpt.Client
1.0.6
dotnet add package Universal.OpenAI.ChatGpt.Client --version 1.0.6
NuGet\Install-Package Universal.OpenAI.ChatGpt.Client -Version 1.0.6
<PackageReference Include="Universal.OpenAI.ChatGpt.Client" Version="1.0.6" />
<PackageVersion Include="Universal.OpenAI.ChatGpt.Client" Version="1.0.6" />
<PackageReference Include="Universal.OpenAI.ChatGpt.Client" />
paket add Universal.OpenAI.ChatGpt.Client --version 1.0.6
#r "nuget: Universal.OpenAI.ChatGpt.Client, 1.0.6"
#:package Universal.OpenAI.ChatGpt.Client@1.0.6
#addin nuget:?package=Universal.OpenAI.ChatGpt.Client&version=1.0.6
#tool nuget:?package=Universal.OpenAI.ChatGpt.Client&version=1.0.6
Universal.OpenAI.ChatGpt.Client
A .NET Standard client for ChatGPT Responses.
This package targets the ChatGPT Responses backend. It is not a client for the OpenAI Platform Responses API. For that API and the broader OpenAI Platform surface, use Universal.OpenAI.Client.
Access token
using Universal.OpenAI.ChatGpt.Client;
using Universal.OpenAI.ChatGpt.Client.Responses;
using var client = new ChatGptResponsesClient(accessToken, accountId);
var response = await client.CreateResponseAsync(new CreateResponseRequest
{
Model = Models.Gpt56Luna,
Input = new Output[]
{
new MessageOutput(MessageRoles.User, "Explain this code.")
}
});
Console.WriteLine(response.GetOutputText());
For multi-turn requests, set a stable PromptCacheKey on each request. The client sends the same value in the session-id header, which the ChatGPT backend uses for cache affinity. ResponsesClientOptions.SessionId supplies a fallback header value when the request has no cache key. The backend may report cache reads and writes in Usage.InputTokensDetails; a matching key and prompt prefix do not guarantee a hit.
Read the account plan and usage windows:
using Universal.OpenAI.ChatGpt.Client.Wham;
using var wham = new WhamClient(httpClient, credentials);
Usage usage = await wham.GetUsageAsync();
Console.WriteLine($"{usage.PlanType}: {usage.RateLimit?.PrimaryWindow?.UsedPercent}% used");
RateLimitResetCreditsDetails resetCredits = await wham.ListRateLimitResetCreditsAsync();
List the models currently available to the account:
using Universal.OpenAI.ChatGpt.Client.Models;
using var models = new ModelsClient(httpClient, credentials);
ModelsResponse catalog = await models.ListModelsAsync();
Responses.Models.Gpt6Astra, Gpt61Sol, Gpt6Sol, and Gpt6Luna provide the GPT-6 model identifiers. Availability depends on the ChatGPT account's rollout and can be checked with ModelsClient.
Authentication file
Use an existing auth.json file for automatic token refresh:
using Universal.OpenAI.ChatGpt.Client;
using Universal.OpenAI.ChatGpt.Client.Responses;
using var httpClient = new HttpClient();
using var credentials = new AuthenticationFileCredentialProvider(
authenticationFilePath,
httpClient);
using var client = new ChatGptResponsesClient(httpClient, credentials);
var response = await client.CreateResponseAsync(new CreateResponseRequest
{
Model = Models.Gpt56Luna,
Input = new Output[] { new MessageOutput(MessageRoles.User, "Explain this code.") }
});
Console.WriteLine(response.GetOutputText());
Browser authentication
Create an authorization session, open its URL, and exchange the callback code:
using Universal.OpenAI.ChatGpt.Client;
using Universal.OpenAI.ChatGpt.Client.Responses;
using var httpClient = new HttpClient();
var oauth = new OAuthClient(httpClient);
var session = oauth.CreateAuthorizationSession();
Console.WriteLine(session.AuthorizationUri);
// callbackUri is the URI received by the configured local callback endpoint.
var code = oauth.ReadAuthorizationCode(callbackUri, session);
var tokens = await oauth.ExchangeCodeAsync(code, session);
using var credentials = new AuthenticationFileCredentialProvider(
authenticationFilePath,
httpClient);
credentials.Save(tokens);
using var client = new ChatGptResponsesClient(httpClient, credentials);
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.12)
- Newtonsoft.Json (>= 13.0.4)
- Universal.Common.Net.Http (>= 5.2.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Universal.OpenAI.ChatGpt.Client:
| Package | Downloads |
|---|---|
|
Universal.Operative.Sdk.Discrete.OpenAI.ChatGpt
ChatGPT Responses adapter for Universal.Operative.Sdk.Discrete. |
|
|
Universal.Operative.Sdk.Codex.OpenAI.ChatGpt
Codex-token image generation backend for the Codex toolset. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Use the Codex session-id header for cache affinity; refresh model catalog version defaults and add GPT-6.1 Sol.