TokenLab

Văn bản

Tạo phản hồi

Tạo một phản hồi theo định dạng Responses API của OpenAI

POST
/v1/responses

Dùng endpoint này khi accepted_request_formats trong chi tiết mô hình chứa openai_responses. Yêu cầu và phản hồi sử dụng định dạng Responses API. Các trường tùy chọn và giá trị được hỗ trợ phụ thuộc vào mô hình đã chọn.

Nội dung yêu cầu

modelstringbắt buộc

ID của mô hình để sử dụng. Xem Models để biết các lựa chọn có sẵn.

inputstring | array

Có thể bỏ input khi yêu cầu dùng một prompt tái sử dụng hoặc tiếp tục phản hồi đã lưu bằng previous_response_id.

Một danh sách các mục đầu vào tạo thành cuộc hội thoại.

Mỗi mục có thể là:

  • message: Một tin nhắn hội thoại với role và content
  • function_call: Một yêu cầu gọi hàm
  • function_call_output: Kết quả từ một cuộc gọi hàm

Đối với đầu vào đa phương thức, message.content có thể là một chuỗi văn bản thuần hoặc một mảng các khối nội dung. Đối với các mô hình có khả năng xử lý hình ảnh như các biến thể GPT-5.6 Terra, truyền hình ảnh dưới dạng các khối input_image thay vì nhúng URL hoặc chuỗi Base64 trực tiếp vào văn bản thuần.

Ví dụ các khối nội dung:

  • { "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

Hướng dẫn hệ thống cho mô hình (tương đương với system message).

max_output_tokensinteger

Số token tối đa để sinh.

temperaturenumber

Nhiệt độ lấy mẫu. Các giá trị được hỗ trợ và giá trị mặc định phụ thuộc vào mô hình đã chọn.

toolsarray

Các công cụ mô hình có thể gọi. Loại và tổ hợp được hỗ trợ phụ thuộc vào mô hình đã chọn.

streambooleanmặc định: false

Nếu true, trả về một luồng sự kiện.

previous_response_idstring

ID của một phản hồi trước để tiếp tục cuộc hội thoại từ đó.

storebooleanmặc định: true

Có lưu phản hồi để truy xuất sau hay không.

backgroundbooleanmặc định: false

Yêu cầu thực thi bất đồng bộ. Khả năng hỗ trợ phụ thuộc vào mô hình đã chọn.

promptobject

Tham chiếu đến mẫu prompt có thể tái sử dụng và các biến.

metadataobject

Metadata để đính kèm vào phản hồi cho mục đích theo dõi.

textobject

Cài đặt đầu ra văn bản. Khả năng hỗ trợ text.format phụ thuộc vào mô hình đã chọn.

parallel_tool_callsbooleanmặc định: true

Cho phép gọi nhiều công cụ song song hay không.

top_pnumber

Tham số lấy mẫu Nucleus (0-1).

reasoningobject

Các tùy chọn suy luận, gồm effort, phụ thuộc vào mô hình đã chọn.

Phản hồi

idstring

Định danh duy nhất cho phản hồi.

objectstring

Luôn là response.

created_atinteger

Dấu thời Unix khi phản hồi được tạo.

statusstring

Trạng thái phản hồi: queued, in_progress, completed, incomplete, failed hoặc cancelled. Kiểm tra trường này ngay cả khi yêu cầu HTTP thành công.

outputarray

Danh sách các mục đầu ra do mô hình sinh ra.

usageobject

Thống kê sử dụng token.

Các endpoint liên quan

  • GET /v1/responses/{id} lấy phản hồi đã lưu và hỗ trợ include, include_obfuscation, stream và starting_after.
  • DELETE /v1/responses/{id} xóa phản hồi đã lưu. Thao tác này không hủy việc tạo nội dung.
  • POST /v1/responses/compact trả về đối tượng response.compaction.
  • Các endpoint hủy, input-items và input-tokens hiện chưa được cung cấp.

Yêu cầu

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']);

Ví dụ Đầu vào Thị giác

Sử dụng các mô hình có khả năng xử lý hình ảnh bằng cách đặt hình ảnh bên trong message.content dưới dạng các khối input_image. Giá trị image_url có thể là một URL công khai hoặc một data URL Base64.

{
  "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..."
        }
      ]
    }
  ]
}

Phản hồi

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
  }
}

Xác thực

BearerAuth
AuthorizationBearer <token>

Xác thực bằng Khóa API. Tạo hoặc quản lý khóa API trong Dashboard > API > API Keys.

Vị trí: header

Header

X-TokenLab-Delivery-Policy?string

Chính sách phân phối theo yêu cầu. Ghi đè các mặc định của API key và Workspace. Tự động thử TokenLab Verified trước và có thể chuyển đổi một lần sang Official chỉ trước khi xuất, chấp nhận yêu cầu hoặc tạo tài nguyên cố định.

Giá trị hợp lệ

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

Nội dung yêu cầu

application/json

Phản hồi

application/json

application/json

application/json