Text & Chat

Antwort erstellen

Erstellt eine Antwort im OpenAI Responses API-Format

POST
/v1/responses

Verwenden Sie diesen Endpunkt, wenn accepted_request_formats in den Modelldetails openai_responses enthält. Anfragen und Antworten verwenden das Responses-API-Format. Optionale Felder und unterstützte Werte hängen vom gewählten Modell ab.

Anfragekörper

modelstringerforderlich

ID des zu verwendenden Modells. Siehe Models für verfügbare Optionen.

inputstring | array

Die Eingabe ist optional, wenn die Anfrage stattdessen einen wiederverwendbaren prompt nutzt oder mit previous_response_id eine gespeicherte Antwort fortsetzt.

Eine Liste von Input-Elementen, die die Konversation bilden.

Jedes Element kann sein:

  • message: Eine Konversationsnachricht mit Rolle und Inhalt
  • function_call: Eine Anfrage zum Aufruf einer Funktion
  • function_call_output: Ausgabe eines Funktionsaufrufs

Für multimodalen Input kann message.content entweder eine einfache Zeichenkette oder ein Array von Inhaltsblöcken sein. Für bildfähige Modelle wie z. B. GPT-5.6 Terra-Varianten übergeben Sie Bilder als input_image-Blöcke anstatt URLs oder Base64-Strings direkt in Plaintext einzubetten.

Beispielhafte Inhaltsblöcke:

  • { "type": "input_text", "text": "Describe this image" }
  • { "type": "input_image", "image_url": "https://example.com/image.jpg" }
  • { "type": "input_image", "image_url": "data:image/png;base64,..." }
instructionsstring

Systemanweisungen für das Modell (entspricht einer Systemnachricht).

max_output_tokensinteger

Maximale Anzahl Tokens, die generiert werden sollen.

temperaturenumber

Sampling-Temperatur. Unterstützte Werte und Standardwerte hängen vom gewählten Modell ab.

toolsarray

Tools, die das Modell aufrufen kann. Unterstützte Typen und Kombinationen hängen vom gewählten Modell ab.

streambooleanStandard: false

Wenn true, wird ein Stream von Events zurückgegeben.

previous_response_idstring

ID einer vorherigen Response, von der die Konversation fortgesetzt werden soll.

storebooleanStandard: true

Ob die Antwort für spätere Abrufe gespeichert werden soll.

backgroundbooleanStandard: false

Fordert eine asynchrone Ausführung an. Die Unterstützung hängt vom gewählten Modell ab.

promptobject

Verweis auf eine wiederverwendbare Prompt-Vorlage und ihre Variablen.

metadataobject

Metadaten, die zur Nachverfolgung an die Antwort angehängt werden.

textobject

Einstellungen für die Textausgabe. Die Unterstützung von text.format hängt vom gewählten Modell ab.

parallel_tool_callsbooleanStandard: true

Ob mehrere Tool-Aufrufe parallel erlaubt sind.

top_pnumber

Nucleus-Sampling-Parameter (0-1).

reasoningobject

Reasoning-Optionen, einschließlich effort, hängen vom gewählten Modell ab.

Antwort

idstring

Eindeutiger Bezeichner für die Antwort.

objectstring

Immer response.

created_atinteger

Unix-Zeitstempel, wann die Antwort erstellt wurde.

statusstring

Antwortstatus: queued, in_progress, completed, incomplete, failed oder cancelled. Prüfen Sie dieses Feld auch bei erfolgreicher HTTP-Anfrage.

outputarray

Liste der vom Modell generierten Ausgabeelemente.

usageobject

Statistiken zur Token-Nutzung.

Zugehörige Endpunkte

  • GET /v1/responses/{id} ruft eine gespeicherte Antwort ab und unterstützt include, include_obfuscation, stream und starting_after.
  • DELETE /v1/responses/{id} löscht eine gespeicherte Antwort. Die Generierung wird dadurch nicht abgebrochen.
  • POST /v1/responses/compact gibt ein response.compaction-Objekt zurück.
  • Endpunkte für Abbruch, input-items und input-tokens sind derzeit nicht verfügbar.

Anfrage

cURL
curl -X POST "https://api.tokenlab.sh/v1/responses" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-terra",
    "input": [
      {"type": "message", "role": "user", "content": "Hello!"}
    ],
    "max_output_tokens": 1000
  }'
Python
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://api.tokenlab.sh/v1"
)

response = client.responses.create(
    model="gpt-5.6-terra",
    input=[
        {"type": "message", "role": "user", "content": "Hello!"}
    ],
    max_output_tokens=1000
)

print(response.output)
JavaScript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'sk-your-api-key',
  baseURL: 'https://api.tokenlab.sh/v1'
});

const response = await client.responses.create({
  model: 'gpt-5.6-terra',
  input: [
    { type: 'message', role: 'user', content: 'Hello!' }
  ],
  max_output_tokens: 1000
});

console.log(response.output);
Go
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    payload := map[string]interface{}{
        "model": "gpt-5.6-terra",
        "input": []map[string]interface{}{
            {"type": "message", "role": "user", "content": "Hello!"},
        },
        "max_output_tokens": 1000,
    }
    body, _ := json.Marshal(payload)

    req, _ := http.NewRequest("POST", "https://api.tokenlab.sh/v1/responses", bytes.NewBuffer(body))
    req.Header.Set("Authorization", "Bearer sk-your-api-key")
    req.Header.Set("Content-Type", "application/json")

    client := &http.Client{}
    resp, _ := client.Do(req)
    defer resp.Body.Close()

    var result map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&result)
    fmt.Println(result["output"])
}
PHP
<?php
$ch = curl_init('https://api.tokenlab.sh/v1/responses');

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'Authorization: Bearer sk-your-api-key'
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'model' => 'gpt-5.6-terra',
        'input' => [
            ['type' => 'message', 'role' => 'user', 'content' => 'Hello!']
        ],
        'max_output_tokens' => 1000
    ])
]);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
print_r($data['output']);

Vision-Eingabebeispiel

Verwenden Sie bildfähige Modelle, indem Sie Bilder innerhalb von message.content als input_image-Blöcke platzieren. Der image_url-Wert kann entweder eine öffentliche URL oder eine Base64-Daten-URL sein.

{
  "model": "gpt-5.6-terra",
  "input": [
    {
      "type": "message",
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "Please describe this image."
        },
        {
          "type": "input_image",
          "image_url": "https://example.com/demo.jpg"
        }
      ]
    }
  ]
}
{
  "model": "gpt-5.6-terra",
  "input": [
    {
      "type": "message",
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "Please describe this image."
        },
        {
          "type": "input_image",
          "image_url": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ..."
        }
      ]
    }
  ]
}

Antwort

Response
{
  "id": "resp_abc123",
  "object": "response",
  "created_at": 1706000000,
  "status": "completed",
  "model": "gpt-5.6-terra",
  "output": [
    {
      "id": "msg_abc123",
      "type": "message",
      "status": "completed",
      "role": "assistant",
      "content": [
        {"type": "output_text", "text": "Hello! How can I help you today?", "annotations": []}
      ]
    }
  ],
  "usage": {
    "input_tokens": 10,
    "output_tokens": 12,
    "total_tokens": 22
  }
}

Autorisierung

BearerAuth
AuthorizationBearer <token>

API-Key-Authentifizierung. Erstellen oder verwalten Sie API-Keys unter Dashboard > API > API Keys.

Ort: header

Header

X-TokenLab-Delivery-Policy?string

Zustellungsrichtlinie pro Anfrage. Überschreibt die API-Key- und Workspace-Standardeinstellungen. Versucht automatisch zuerst TokenLab Verified und kann vor der Ausgabe, der Annahme der Anfrage oder der Erstellung persistenter Ressourcen einmalig auf Official umstellen.

Zulässige Werte

  • "auto"
  • "verified"
  • "official"

Anfragekörper

application/json

Antwort

application/json

application/json

application/json