DEV Community

Cover image for GPT-Realtime-2 คืออะไร? วิธีใช้ GPT-Realtime-2 API
Thanawat Wongchai
Thanawat Wongchai

Posted on • Originally published at apidog.com

GPT-Realtime-2 คืออะไร? วิธีใช้ GPT-Realtime-2 API

OpenAI เปิดตัวโมเดลเสียงเจเนอเรชันใหม่เมื่อวันที่ 6 พฤศจิกายน 2026 โดยโมเดลหลักคือ GPT-Realtime-2: โมเดล speech-to-speech รุ่นแรกที่มีความสามารถในการให้เหตุผลระดับ GPT-5, context window 128,000 โทเค็น, เอาต์พุตสูงสุด 32,000 โทเค็น และตั้งค่าระดับ reasoning เพื่อแลกความหน่วงกับคุณภาพคำตอบได้ โมเดลนี้ทำงานบน Realtime API เดิม ดังนั้นถ้าคุณเคยใช้ gpt-realtime อยู่แล้ว การย้ายมาใช้ส่วนใหญ่คือเปลี่ยน model string เป็น gpt-realtime-2 และปรับ session config เพิ่มเล็กน้อย

ลองใช้ Apidog วันนี้

บทความนี้สรุปสิ่งที่เปลี่ยนจาก gpt-realtime, ราคา, endpoint ที่ต้องใช้, ตัวอย่าง WebSocket, การใช้ image input, function calling, MCP, SIP และแนวทางทดสอบเซสชัน Realtime ด้วย Apidog เพื่อ replay และ debug event ได้โดยไม่ต้องอัดเสียงใหม่ทุกครั้ง

สำหรับภาพรวมโมเดล OpenAI ปี 2026 อ่านต่อได้ที่ What is GPT-5.5 และถ้าต้องการดูโมเดล multimodal ฝั่งรูปภาพ อ่าน How to use the GPT-Image-2 API

สรุปย่อ

  • gpt-realtime-2 คือโมเดล speech-to-speech เรือธงของ OpenAI พร้อม reasoning ระดับ GPT-5, context 128k และ output สูงสุด 32k โทเค็น
  • ราคาเสียง: $32 / 1M input tokens และ $64 / 1M output tokens; cached input ราคา $0.40 / 1M
  • เสียงใหม่: Cedar และ Marin ใช้ได้เฉพาะใน Realtime API; เสียงเดิม 8 เสียงได้รับการปรับคุณภาพ
  • reasoning effort มี 5 ระดับ: minimal, low, medium, high, xhigh; ค่าเริ่มต้นคือ low
  • เชื่อมต่อผ่าน WebSocket ที่ wss://api.openai.com/v1/realtime?model=gpt-realtime-2
  • รองรับ SIP สำหรับรับสายโทรศัพท์จริง
  • โมเดลเสริมที่เปิดตัวพร้อมกัน:
    • GPT-Realtime-Translate สำหรับแปลสด รองรับ 70 ภาษาขาเข้า ราคา $0.034 / นาที
    • GPT-Realtime-Whisper สำหรับ streaming speech-to-text ราคา $0.017 / นาที
  • ใช้ Apidog เพื่อ script WebSocket session, capture frame และ diff event ระหว่างการรัน

GPT-Realtime-2 คืออะไร?

GPT-Realtime-2 เป็นโมเดลเสียงแบบ speech-to-speech ที่รับเสียงเข้าและส่งเสียงออกโดยตรง โมเดลจัดการ transcription, reasoning, tool selection และ voice generation ในขั้นตอนเดียว ไม่ต้องต่อ pipeline แบบ STT → LLM → TTS เอง

GPT-Realtime-2 overview

โมเดลรับ input ได้ 3 แบบ:

  • ข้อความ
  • เสียง
  • รูปภาพ

และส่ง output ได้ 2 แบบ:

  • ข้อความ
  • เสียง

จุดใหม่ที่สำคัญคือ image input คุณสามารถแนบ screenshot หรือรูปภาพเข้าไปใน live conversation แล้วให้ voice agent อธิบายสิ่งที่เห็นบนหน้าจอ จากนั้นคุยต่อด้วยเสียงได้ เหมาะกับ use case เช่น support agent, field technician assistant หรือ accessibility assistant

สเปกหลัก

คุณสมบัติ ค่า
Model ID gpt-realtime-2
Context window 128,000 โทเค็น
Output สูงสุด 32,000 โทเค็น
Input modalities ข้อความ, เสียง, รูปภาพ
Output modalities ข้อความ, เสียง
Training data 2024-09-30
Reasoning effort minimal, low, medium, high, xhigh
Function calling รองรับ
Remote MCP server รองรับ
Image input รองรับ
SIP calling รองรับ

มีอะไรเปลี่ยนจาก gpt-realtime

เมื่อเทียบกับ gpt-realtime-1.5, GPT-Realtime-2 ทำคะแนน benchmark ดีขึ้นอย่างชัดเจน:

  • Big Bench Audio: 81.4% → 96.6% เพิ่มขึ้น 15.2 จุด
  • Audio MultiChallenge: 34.7% → 48.5% เพิ่มขึ้น 13.8 จุด

คะแนนเหล่านี้มาจากการตั้ง reasoning effort ที่ high และ xhigh แต่ในการใช้งานจริงค่าเริ่มต้นคือ low เพื่อลด latency ดังนั้นควรวัดคุณภาพและ latency ใน workload ของคุณก่อนเปลี่ยนระดับ reasoning

ฟีเจอร์ใหม่ที่ควรนำไปออกแบบ agent:

  • Preamble: โมเดลพูดวลีสั้น ๆ เช่น “ขอตรวจสอบสักครู่” ก่อนตอบจริง เพื่อซ่อน latency จาก reasoning
  • Parallel tool calls พร้อม voice narration: เรียกหลาย function พร้อมกันและอธิบายสถานะระหว่างรอผลลัพธ์ได้
  • Recovery ดีขึ้น: กรณีผู้ใช้พูดกำกวม หรือ tool บางตัวล้มเหลว โมเดลกลับมาคุยต่อได้เนียนขึ้น
  • Domain tone control: คงศัพท์เฉพาะทางและปรับโทน เช่น ทางการ, ไม่เป็นทางการ, พูดช้า ได้ระหว่าง session

GPT-Realtime-2 benchmark

context window เพิ่มจาก 32k เป็น 128k โทเค็น ทำให้ session เสียงยาว ๆ เช่น support call, banking assistant หรือ tutor agent ใช้งานได้จริงมากขึ้น

ราคา

GPT-Realtime-2 คิดราคาตาม token โดยแยกประเภท input/output ตาม modality

ประเภทโทเค็น Input Cached input Output
ข้อความ $4.00 / 1M $0.40 / 1M $24.00 / 1M
เสียง $32.00 / 1M $0.40 / 1M $64.00 / 1M
รูปภาพ $5.00 / 1M $0.50 / 1M ไม่มี

cached input ลดต้นทุนได้มากสำหรับ context ที่ใช้ซ้ำ เช่น system prompt, policy document หรือ product catalog ดังนั้น voice agent ที่มี instruction คงที่ควรออกแบบให้ reuse context ได้มากที่สุด

ดูราคาโมเดลอื่นของ OpenAI ได้ที่ ราคา GPT-5.5

ราคาโมเดลเสริม

  • GPT-Realtime-Translate: $0.034 / นาที รองรับ 70 ภาษาขาเข้า และ 13 ภาษาขาออก โดยมี Word Error Rate ต่ำกว่า 12.5% เมื่อเทียบกับโมเดลอื่นที่ทดสอบในภาษาฮินดี ทมิฬ และเตลูกู
  • GPT-Realtime-Whisper: $0.017 / นาที สำหรับ streaming speech-to-text เช่น live caption และ continuous transcription

เลือกใช้งานตามนี้:

  • ใช้ GPT-Realtime-2 เมื่อต้องการ reasoning + voice generation ใน agent เดียว
  • ใช้ GPT-Realtime-Translate เมื่อต้องการแปลสดหลายภาษา
  • ใช้ GPT-Realtime-Whisper เมื่อต้องการถอดเสียงอย่างเดียว

Endpoint และ authentication

GPT-Realtime-2 ใช้ได้ผ่านหลาย endpoint ตามรูปแบบงาน:

POST https://api.openai.com/v1/chat/completions
POST https://api.openai.com/v1/responses
WSS  wss://api.openai.com/v1/realtime?model=gpt-realtime-2
WSS  wss://api.openai.com/v1/realtime?call_id={call_id}   # สำหรับ SIP
POST https://api.openai.com/v1/realtime/translations
POST https://api.openai.com/v1/realtime/transcription_sessions
Enter fullscreen mode Exit fullscreen mode

สำหรับ voice agent ให้ใช้ WebSocket endpoint:

wss://api.openai.com/v1/realtime?model=gpt-realtime-2
Enter fullscreen mode Exit fullscreen mode

header ที่ต้องใช้:

Authorization: Bearer $OPENAI_API_KEY
OpenAI-Beta: realtime=v1
Enter fullscreen mode Exit fullscreen mode

ตั้งค่า environment variable:

export OPENAI_API_KEY="sk-proj-..."
Enter fullscreen mode Exit fullscreen mode

เชื่อมต่อผ่าน WebSocket ด้วย Node.js

ติดตั้ง dependency:

npm install ws
Enter fullscreen mode Exit fullscreen mode

ตัวอย่าง client ขั้นต่ำ:

import WebSocket from "ws";

const ws = new WebSocket(
  "wss://api.openai.com/v1/realtime?model=gpt-realtime-2",
  {
    headers: {
      Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,
      "OpenAI-Beta": "realtime=v1",
    },
  }
);

ws.on("open", () => {
  ws.send(JSON.stringify({
    type: "session.update",
    session: {
      voice: "cedar",
      instructions: "You are a friendly support agent for a fintech app.",
      input_audio_format: "pcm16",
      output_audio_format: "pcm16",
      turn_detection: { type: "server_vad" },
      reasoning: { effort: "low" },
    },
  }));
});

ws.on("message", (raw) => {
  const event = JSON.parse(raw.toString());

  if (event.type === "response.audio.delta") {
    // base64 PCM16 audio chunk; pipe to speaker, file, or browser stream
    process.stdout.write(Buffer.from(event.delta, "base64"));
  }

  if (event.type === "response.done") {
    console.log("response complete");
  }
});
Enter fullscreen mode Exit fullscreen mode

Realtime session เป็น event-driven:

  1. ส่ง session.update เพื่อกำหนด voice, instruction, audio format และ reasoning effort
  2. ระหว่างผู้ใช้พูด ส่ง audio chunk ด้วย input_audio_buffer.append
  3. เมื่อพร้อมให้โมเดลตอบ ส่ง response.create
  4. รับเสียงตอบกลับจาก event response.audio.delta

PCM16 ที่ 24 kHz เป็นค่า default ที่ปลอดภัยสำหรับเริ่มต้น และยังรองรับ G.711 mu-law / A-law สำหรับงานโทรศัพท์

ถ้าต้องการเทียบ Realtime API กับ Responses API อ่าน How to use the GPT-5.5 API

เสียงที่รองรับ

เสียงใหม่ที่เปิดตัวพร้อม GPT-Realtime-2:

  • Cedar: เสียงผู้ชายโทนอุ่น ระดับกลาง เหมาะกับ agent ทั่วไป
  • Marin: เสียงผู้หญิงโทนสดใส ชัด เหมาะกับงานแปลและประกาศ

ทั้งสองเสียงใช้ได้เฉพาะใน Realtime API

เสียงเดิมยังใช้ได้และได้รับการปรับคุณภาพ:

  • alloy
  • ash
  • ballad
  • coral
  • echo
  • sage
  • shimmer
  • verse

ถ้าต้องการเปลี่ยนเสียงระหว่าง session ให้ส่ง session.update ใหม่พร้อม voice ใหม่:

ws.send(JSON.stringify({
  type: "session.update",
  session: {
    voice: "marin",
  },
}));
Enter fullscreen mode Exit fullscreen mode

ใช้ image input ใน voice session

คุณสามารถแนบรูปภาพเข้า conversation item แล้วให้โมเดลตอบกลับด้วยเสียงได้ เช่น ให้ผู้ใช้ส่ง screenshot ของ error แล้วถามต่อทันที

ws.send(JSON.stringify({
  type: "conversation.item.create",
  item: {
    type: "message",
    role: "user",
    content: [
      {
        type: "input_image",
        image_url: "https://example.com/screenshot.png"
      },
      {
        type: "input_text",
        text: "What does this error mean?"
      },
    ],
  },
}));

ws.send(JSON.stringify({ type: "response.create" }));
Enter fullscreen mode Exit fullscreen mode

use case ที่เหมาะ:

  • Voice QA: tester เปิดกล้องหรือส่ง screenshot ของ UI แล้วให้ agent ช่วยสรุป bug
  • Field support: technician ส่งรูปแผงวงจรหรืออุปกรณ์ แล้วให้ agent แนะนำขั้นตอนวินิจฉัย
  • Accessibility: อธิบายหน้าจอแบบ real-time ระหว่าง support call

อ่านเพิ่มเติมเกี่ยวกับฝั่งรูปภาพได้ที่ How to use the GPT-Image-2 API

Function calling และ MCP

GPT-Realtime-2 รองรับทั้ง function calling แบบมาตรฐานและ remote MCP server ใน session เดียวกัน

Function calling แบบมาตรฐาน

รูปแบบการทำงานเหมือน Chat Completions:

  1. ประกาศ tools ใน session.update
  2. โมเดลส่ง event response.function_call_arguments.delta
  3. client รัน function จริง
  4. ส่งผลลัพธ์กลับด้วย conversation.item.create ที่เป็น function_call_output
  5. ส่ง response.create เพื่อให้โมเดลตอบผู้ใช้ต่อ

ความต่างสำคัญคือโมเดลสามารถเรียกหลาย function พร้อมกัน และพูดบอกสถานะระหว่างรอผลลัพธ์ได้ เช่น “กำลังตรวจสอบยอดเงินและธุรกรรมล่าสุดของคุณ”

ใช้ remote MCP server

ถ้าคุณมี MCP server อยู่แล้ว สามารถกำหนดใน session ได้:

ws.send(JSON.stringify({
  type: "session.update",
  session: {
    tools: [{
      type: "mcp",
      server_url: "https://mcp.example.com/sse",
      allowed_tools: ["lookup_account", "list_transactions"],
    }],
  },
}));
Enter fullscreen mode Exit fullscreen mode

เมื่อใช้ MCP, Realtime API จะจัดการ tool call เอง โค้ด client ไม่ต้องวน loop จัดการ function call event ทั้งหมด เหมาะกับ agent ที่มี tool catalog ขนาดใหญ่

ถ้าต้องการทดสอบ MCP server ก่อนเชื่อมกับ voice agent อ่าน การทดสอบเซิร์ฟเวอร์ MCP ใน Apidog

การโทรผ่าน SIP

GPT-Realtime-2 รองรับ voice agent ที่รับสายโทรศัพท์จริงผ่าน SIP ได้ โดยชี้ SIP trunk ไปยัง SIP gateway ของ OpenAI แล้วสายเรียกเข้าจะเปิด WebSocket session ที่:

wss://api.openai.com/v1/realtime?call_id={call_id}
Enter fullscreen mode Exit fullscreen mode

โมเดลรองรับ G.711 mu-law และ A-law โดยตรง จึงไม่จำเป็นต้อง transcode ใน bridge ของคุณ

แนวทางออกแบบสำหรับ call center:

  • ใช้ server_vad เพื่อให้ผู้ใช้พูดแทรกได้
  • ใช้ reasoning low เป็นค่าเริ่มต้นเพื่อลด latency
  • เพิ่มเป็น medium หรือ high เฉพาะ flow ที่ต้อง reasoning หลายขั้น
  • ใช้ MCP หรือ function calling สำหรับ lookup account, list transactions, create ticket หรือ escalate case

ตั้งค่า reasoning effort

reasoning effort คือ knob หลักสำหรับควบคุม latency เทียบกับคุณภาพคำตอบ

ระดับ ใช้เมื่อ ผลต่อ latency
minimal คำตอบสั้น ๆ เช่น ใช่/ไม่ใช่ แทบไม่มี
low ค่าเริ่มต้น, support ทั่วไป, chat ปกติ ต่ำ
medium ต้องถามต่อ, tool orchestration ซับซ้อนขึ้น ปานกลาง
high reasoning หลายขั้น, voice code review สูง
xhigh benchmark หรือโจทย์วิเคราะห์ยาก สูงที่สุด

ตัวอย่าง config:

ws.send(JSON.stringify({
  type: "session.update",
  session: {
    reasoning: {
      effort: "low"
    }
  }
}));
Enter fullscreen mode Exit fullscreen mode

คำแนะนำเชิง implementation:

  • เริ่มที่ low
  • เก็บ metric เช่น response latency, completion rate, user interruption rate
  • เพิ่มเป็น medium เฉพาะ intent ที่ตอบพลาดบ่อย
  • หลีกเลี่ยง high / xhigh ใน call ทั่วไป เพราะผู้ใช้จะรู้สึกถึง latency ได้ชัดเจน

ทดสอบ Realtime API ใน Apidog

WebSocket API debug ยากกว่า HTTP เพราะ conversation มี state และ event จำนวนมาก Apidog รองรับ WebSocket ทำให้คุณจัดการ test session ได้เป็นระบบมากขึ้น

ทดสอบ Realtime API ใน Apidog

workflow ที่แนะนำ:

  1. สร้าง WebSocket request ใหม่
  2. ใส่ URL:
   wss://api.openai.com/v1/realtime?model=gpt-realtime-2
Enter fullscreen mode Exit fullscreen mode
  1. ตั้ง header:
   OpenAI-Beta: realtime=v1
   Authorization: Bearer {{OPENAI_API_KEY}}
Enter fullscreen mode Exit fullscreen mode
  1. เก็บ OPENAI_API_KEY เป็น environment variable
  2. เตรียม message script เช่น:
    • session.update
    • conversation.item.create
    • input_audio_buffer.append
    • response.create
  3. replay script เดิมเพื่อเทียบผลลัพธ์ระหว่าง config
  4. diff event ระหว่าง run เช่น เปลี่ยน reasoning.effort จาก low เป็น medium

ดาวน์โหลด Apidog แล้วสร้างคอลเลกชันสำหรับ Realtime API โดยแยก environment, variable และ script ให้เหมือนกับที่ใช้กับ HTTP API

สำหรับโมเดล multimodal ที่เร็วอีกตัว อ่าน How to use the Gemini 3 Flash Preview API

คำถามที่พบบ่อย

ต้องใช้ Model ID อะไร?

ใช้:

gpt-realtime-2
Enter fullscreen mode Exit fullscreen mode

โมเดลเดิมยังใช้ได้ในชื่อ:

gpt-realtime
Enter fullscreen mode Exit fullscreen mode

และมีเวอร์ชัน lite:

gpt-realtime-2-mini
Enter fullscreen mode Exit fullscreen mode

สตรีมเสียงเข้าได้ไหมขณะที่โมเดลกำลังพูด?

ได้ Realtime API ใช้ server-side VAD เป็นค่าเริ่มต้น โมเดลจึงหยุดพูดเมื่อผู้ใช้เริ่มพูด คุณสามารถปิด VAD แล้วควบคุม turn boundary จาก client เองได้

context 128k รวม audio token หรือไม่?

รวม เสียงจะถูกแปลงเป็น token โดยประมาณเสียง 1 วินาทีใช้ราว 50 token ขึ้นอยู่กับ format ดังนั้น support call ยาว ๆ จะใช้ context เร็วกว่าการคุยด้วยข้อความ

รองรับ fine-tuning หรือไม่?

ยังไม่รองรับ ตาม model card ของ GPT-Realtime-2 ยังไม่รองรับ fine-tuning, predicted outputs หรือ text streaming บน Chat Completions ส่วน Realtime endpoint สตรีมเสียงโดยตรงอยู่แล้ว

ต่างจาก GPT-5.5 + TTS อย่างไร?

GPT-Realtime-2 เป็น end-to-end audio reasoning model จึงรับรู้น้ำเสียง ความลังเล และการเน้นคำได้ โมเดลข้อความที่ต่อ TTS ภายหลังทำไม่ได้ในระดับเดียวกัน

ถ้างานของคุณต้องตอบสนองต่อ “วิธีที่ผู้ใช้พูด” ให้ใช้ GPT-Realtime-2 แต่ถ้าเป็น reasoning ข้อความล้วน อ่าน How to use the GPT-5.5 API

rate limit เป็นอย่างไร?

Tier 1 เริ่มที่ 40,000 token / นาที และเพิ่มได้ถึง 15M TPM ที่ Tier 5 โดย rate limit แยกตามโมเดล ดังนั้น quota ของ GPT-5 ที่มีอยู่จะไม่ถูกใช้ร่วมกัน

สรุป

GPT-Realtime-2 ทำให้การสร้าง voice agent ง่ายขึ้นเพราะรวม speech input, reasoning, tool calling, image input และ voice output ไว้ใน Realtime API เดียว จุดที่ควรเริ่มคือ WebSocket endpoint, session.update, server_vad, voice เช่น cedar หรือ marin, และ reasoning effort ที่ low

เส้นทาง implementation ที่เร็วที่สุด:

  1. สร้าง WebSocket session
  2. ตั้ง gpt-realtime-2
  3. เริ่มด้วย reasoning.effort = "low"
  4. เพิ่ม tools หรือ MCP
  5. ทดสอบและ replay session ใน Apidog
  6. ค่อยเพิ่ม reasoning effort เมื่อวัดได้ว่าคุณภาพยังไม่พอ

Top comments (0)