Responses API

The Responses API provides the most advanced text generation capabilities with support for complex reasoning, tool calling, and multi-modal inputs.

Basic Usage

string response = await "Write a technical specification"
    .GENResponse()
    .SetModel(OpenAIModel.GPT4o)
    .ExecuteAsync();

Input Types

1. String Input

string response = await "Explain quantum mechanics"
    .GENResponse()
    .ExecuteAsync();

2. ConversationItem Input

var userMessage = new UserMessage("Hello, AI!");
string response = await userMessage
    .GENResponse()
    .ExecuteAsync();

3. Prompt Input

Key Features

1. Advanced Reasoning

The Responses API excels at complex reasoning tasks:

2. Tool Calling Support

Built-in support for function calling:

3. Multi-Modal Input

Support for text, images, and other content types:

Configuration

Model Selection

Temperature & Creativity

Max Tokens

Streaming

Get real-time responses as they're generated:

Provider Support

Provider
Support
Models

OpenAI

✅ Full

GPT-4o, GPT-4

Anthropic

✅ Full

Claude 3.5 Sonnet

Google Gemini

⚠️ Partial

Gemini 1.5 Pro

OpenRouter

✅ Full

Various

Note: Not all providers support all Responses API features. Check provider documentation for limitations.

Differences from Chat Completions

Feature
Chat Completions
Responses API

Tool Calling

Basic

Advanced

Multi-turn

Manual

Automatic

Context Window

Standard

Extended

Reasoning

Standard

Enhanced

Complexity

Simple

Advanced

When to Use

✅ Use Responses API for

  • Complex reasoning tasks

  • Multi-step problem solving

  • Tool calling workflows

  • Long-form content generation

  • Advanced features

❌ Use Chat Completions for

  • Simple Q&A

  • Basic chatbots

  • When maximum provider compatibility is needed

  • Cost-sensitive applications (Responses API may be more expensive)

Examples

Example 1: Complex Analysis

Example 2: Multi-Step Reasoning

Example 3: With Context

Best Practices

✅ Do

  • Use for complex, multi-step tasks

  • Leverage tool calling when available

  • Set appropriate max tokens for cost control

  • Use streaming for long responses

❌ Don't

  • Use for simple tasks (wasteful)

  • Ignore provider limitations

  • Forget error handling

  • Assume all providers support all features

Next Steps

Last updated