Presets - Go SDK

Presets method reference

The Go SDK and docs are currently in beta. Report issues on GitHub.

Overview

Presets endpoints

Available Operations

CreatePresetsChatCompletions

Creates a preset (or a new version of an existing one) from an inference request body. Only fields that overlap with the preset config are persisted; other fields (e.g. messages, stream, prompt) are silently ignored.

Example Usage

1package main
2
3import(
4 "context"
5 "os"
6 openrouter "github.com/OpenRouterTeam/go-sdk"
7 "github.com/OpenRouterTeam/go-sdk/models/components"
8 "github.com/OpenRouterTeam/go-sdk/optionalnullable"
9 "log"
10)
11
12func main() {
13 ctx := context.Background()
14
15 s := openrouter.New(
16 openrouter.WithSecurity(os.Getenv("OPENROUTER_API_KEY")),
17 )
18
19 res, err := s.Presets.CreatePresetsChatCompletions(ctx, "my-preset", components.ChatRequest{
20 Messages: []components.ChatMessages{
21 components.CreateChatMessagesSystem(
22 components.ChatSystemMessage{
23 Content: components.CreateChatSystemMessageContentStr(
24 "You are a helpful assistant.",
25 ),
26 Role: components.ChatSystemMessageRoleSystem,
27 },
28 ),
29 components.CreateChatMessagesUser(
30 components.ChatUserMessage{
31 Content: components.CreateChatUserMessageContentStr(
32 "Hello!",
33 ),
34 Role: components.ChatUserMessageRoleUser,
35 },
36 ),
37 },
38 Model: openrouter.Pointer("openai/gpt-4o"),
39 Temperature: optionalnullable.From(openrouter.Pointer[float64](0.7)),
40 })
41 if err != nil {
42 log.Fatal(err)
43 }
44 if res != nil {
45 // handle response
46 }
47}

Parameters

ParameterTypeRequiredDescriptionExample
ctxcontext.Context✔️The context to use for the request.
slugstring✔️URL-safe slug identifying the preset. Created if it does not exist.my-preset
chatRequestcomponents.ChatRequest✔️N/A{"max_tokens": 150,"messages": [{"content": "You are a helpful assistant.","role": "system"},
{"content": "What is the capital of France?","role": "user"}
],
“model”: “openai/gpt-4”,
“temperature”: 0.7
}
opts[]operations.OptionThe options for this request.

Response

*components.CreatePresetFromInferenceResponse, error

Errors

Error TypeStatus CodeContent Type
sdkerrors.BadRequestResponseError400application/json
sdkerrors.UnauthorizedResponseError401application/json
sdkerrors.ForbiddenResponseError403application/json
sdkerrors.NotFoundResponseError404application/json
sdkerrors.ConflictResponseError409application/json
sdkerrors.InternalServerResponseError500application/json
sdkerrors.APIError4XX, 5XX*/*