Topik ini menjelaskan event sisi server untuk API Qwen-Omni-Realtime.
Untuk informasi selengkapnya, lihat Multi-modal real-time.
error
Pesan kesalahan yang dikembalikan oleh server.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_RoUu4T8yExPMI37GKwaOC",
"type": "error",
"error": {
"type": "invalid_request_error",
"code": "invalid_value",
"message": "Invalid modalities: ['audio']. Supported combinations are: ['text'] and ['audio', 'text'].",
"param": "session.modalities"
}
}
|
type string Jenis event. Nilai ini selalu error. |
error object Informasi detail mengenai kesalahan. Properti type string Jenis kesalahan. code string Kode kesalahan. message string Pesan kesalahan. param string Parameter yang terkait dengan kesalahan, seperti session.modalities. |
session.created
Setelah klien terhubung, ini adalah event pertama yang dikembalikan oleh server. Event ini berisi informasi konfigurasi default untuk sesi tersebut.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_RdvlSpbBb2ssyBjYrDHjt",
"type": "session.created",
"session": {
"object": "realtime.session",
"model": "qwen3-omni-flash-realtime",
"modalities": [
"text",
"audio"
],
"voice": "Cherry",
"input_audio_format": "pcm16",
"output_audio_format": "pcm24",
"input_audio_transcription": {
"model": "gummy-realtime-v1"
},
"turn_detection": {
"type": "server_vad",
"threshold": 0.5,
"prefix_padding_ms": 300,
"silence_duration_ms": 800,
"create_response": true,
"interrupt_response": true
},
"tools": [],
"tool_choice": "auto",
"temperature": 0.8,
"id": "sess_Ov7GOXoNXhNjlxXtOGKQS"
}
}
|
type string Jenis event. Nilai ini selalu session.created. |
session object Informasi konfigurasi untuk sesi tersebut. Properti object string Nilai ini selalu realtime.session. model string Model yang digunakan. modalities array Pengaturan modalitas keluaran untuk model. voice string Timbre audio yang dihasilkan oleh model. input_audio_format string Format audio masukan. Nilai ini selalu pcm16. output_audio_format string Format audio keluaran. Nilai ini selalu pcm24. input_audio_transcription object Konfigurasi untuk transkripsi ucapan. Properti model string Model transkripsi ucapan. Nilai ini selalu gummy-realtime-v1. turn_detection object Konfigurasi untuk deteksi aktivitas suara (VAD). Properti type string Jenis VAD sisi server. Nilai ini selalu server_vad. threshold float Ambang batas deteksi VAD. silence_duration_ms integer Durasi diam untuk mendeteksi akhir ucapan. temperature float Parameter suhu untuk model. |
session.updated
Setelah menerima permintaan session.update dari pengguna, server mengembalikan event ini jika permintaan berhasil. Jika terjadi kesalahan, server mengembalikan event error.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_X1HsXS4b4uptp6yo1LgKd",
"type": "session.updated",
"session": {
"id": "sess_Aih6vAcY5Ddt6jwFx1tCa",
"object": "realtime.session",
"model": "qwen3-omni-flash-realtime",
"modalities": [
"text",
"audio"
],
"instructions": "You are a personal assistant named Xiaoyun. Please answer user questions accurately and in a friendly manner, always responding with a helpful attitude.",
"voice": "Cherry",
"input_audio_format": "pcm16",
"output_audio_format": "pcm24",
"input_audio_transcription": {
"model": "gummy-realtime-v1"
},
"turn_detection": {
"type": "server_vad",
"threshold": 0.1,
"prefix_padding_ms": 500,
"silence_duration_ms": 900,
"create_response": true,
"interrupt_response": true
},
"temperature": 0.8,
"max_response_output_token": "inf",
"max_tokens": 16384,
"repetition_penalty": 1.05,
"presence_penalty": 0.0,
"top_k": 50,
"top_p": 1.0,
"seed":-1
}
}
|
type string Jenis event. Nilai ini selalu session.updated. |
session object Informasi konfigurasi untuk sesi tersebut. Properti temperature float Parameter suhu untuk model. modalities array Pengaturan modalitas keluaran untuk model. voice string Timbre audio yang dihasilkan oleh model. instructions string Tujuan dan peran model. input_audio_format string Format audio masukan. Nilai ini selalu pcm16. output_audio_format string Format audio keluaran. Nilai ini selalu pcm24. input_audio_transcription object Konfigurasi untuk transkripsi ucapan. Properti model string Model transkripsi ucapan. Nilai ini selalu gummy-realtime-v1. turn_detection object Konfigurasi untuk VAD. Properti type string Jenis VAD sisi server. Nilai ini selalu server_vad. threshold float Ambang batas deteksi VAD. silence_duration_ms integer Durasi diam untuk mendeteksi akhir ucapan. top_pfloat Ambang batas probabilitas untuk pengambilan sampel inti. top_k integer Ukuran set kandidat untuk pengambilan sampel selama generasi model. max_tokens integer Jumlah maksimum token yang dapat dikembalikan model untuk permintaan saat ini. repetition_penalty float Mengontrol tingkat pengulangan dalam urutan berturut-turut selama generasi model. presence_penalty float Mengontrol tingkat pengulangan ketika model menghasilkan konten. seed integer Tingkat konsistensi hasil untuk setiap permintaan. |
input_audio_buffer.speech_started
Dalam mode VAD, server mengembalikan event ini ketika mendeteksi awal ucapan dalam buffer audio.
Event ini juga dapat dipicu setiap kali audio ditambahkan ke buffer jika server belum mendeteksi adanya ucapan.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_Pvp8nEhsQuGCQbFJ9x58n",
"type": "input_audio_buffer.speech_started",
"audio_start_ms": 3647,
"item_id": "item_YbAiGvK2H7YaS34o4R6Ba"
}
|
type string Jenis event. Nilai ini selalu input_audio_buffer.speech_started. |
audio_start_ms integer Waktu dalam milidetik sejak penulisan audio ke buffer dimulai hingga ucapan pertama kali terdeteksi. |
item_id string ID item pesan pengguna yang akan dibuat ketika ucapan berhenti. Item pesan pengguna digunakan untuk menambahkan masukan pengguna ke riwayat percakapan untuk inferensi dan generasi model selanjutnya. |
input_audio_buffer.speech_stopped
Dalam mode VAD, server mengembalikan event ini ketika mendeteksi akhir ucapan dalam buffer audio.
Bersamaan dengan itu, server juga mengembalikan event conversation.item.created untuk membuat item pesan pengguna yang sesuai.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_UhQiqNVRsgUiq4KUS5Xb5",
"type": "input_audio_buffer.speech_stopped",
"audio_end_ms": 4453,
"item_id": "item_YbAiGvK2H7YaS34o4R6Ba"
}
|
type string Jenis event. Nilai ini selalu input_audio_buffer.speech_stopped. |
audio_end_ms integer Waktu dalam milidetik sejak awal sesi hingga ucapan berhenti. |
item_id string ID item pesan pengguna yang akan dibuat. |
input_audio_buffer.committed
Event ini dikembalikan ketika buffer audio masukan dikomit.
Dalam mode VAD, server secara otomatis mengkomit buffer audio dan mengembalikan event ini ketika mendeteksi bahwa pengguna telah selesai berbicara.
Dalam mode Manual, server mengembalikan event ini setelah klien mengirim event input_audio_buffer.commit.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_Iy6sUzL1nmdFgshFYxJEz",
"type": "input_audio_buffer.committed",
"item_id": "item_YbAiGvK2H7YaS34o4R6Ba"
}
|
type string Jenis event. Nilai ini selalu input_audio_buffer.committed. |
item_id string ID item pesan pengguna yang akan dibuat. |
input_audio_buffer.cleared
Server mengembalikan event ini setelah klien mengirim event input_audio_buffer.clear.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_RoUu4T8yExPMI37GKwaOC",
"type": "input_audio_buffer.cleared"
}
|
type string Jenis event. Nilai ini selalu input_audio_buffer.cleared. |
conversation.item.created
Event ini dikembalikan ketika sebuah item percakapan dibuat.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_JEfkrr9gO3Ny7Xcv9bGVd",
"type": "conversation.item.created",
"item": {
"id": "item_YbAiGvK2H7YaS34o4R6Ba",
"object": "realtime.item",
"type": "message",
"status": "in_progress",
"role": "assistant",
"content": [
{
"type": "input_audio"
}
]
}
}
|
type string Jenis event. Nilai ini selalu conversation.item.created. |
item object Item yang akan ditambahkan ke percakapan. Properti id string ID unik item percakapan. object string Nilai ini selalu realtime.item. status string Status item percakapan. content string Konten pesan. |
conversation.item.input_audio_transcription.completed
Event ini menyediakan hasil transkripsi yang dihasilkan setelah audio pengguna dibuffer. Transkripsi diproses oleh model pengenalan ucapan terpisah, yang saat ini diatur ke gummy-realtime-v1.
Teks yang ditranskripsikan dari model pengenalan ucapan mungkin berbeda dari teks yang diproses oleh model Qwen-Omni-Realtime dan hanya bersifat referensi.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_FrrZcxiDfTB9LD9p4pVng",
"type": "conversation.item.input_audio_transcription.completed",
"item_id": "item_YbAiGvK2H7YaS34o4R6Ba",
"content_index": 0,
"transcript": "Hello."
}
|
type string Jenis event. Nilai ini selalu conversation.item.input_audio_transcription.completed. |
item_id string ID item pesan pengguna. |
content_index integer Nilainya saat ini tetap 0. |
transcript string Konten teks yang ditranskripsikan. |
conversation.item.input_audio_transcription.failed
Jika transkripsi audio masukan diaktifkan dan gagal, server mengembalikan event ini. Event ini independen dari event error untuk membantu klien mengidentifikasi masalah tersebut.
event_id string Pengidentifikasi unik untuk event ini. | {
"type": "conversation.item.input_audio_transcription.failed",
"item_id": "<item_id>",
"content_index": 0,
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>"
}
}
|
type string Jenis event. Nilai ini selalu conversation.item.input_audio_transcription.failed. |
item_id string ID item pesan pengguna. |
content_index integer Nilainya saat ini tetap 0. |
error object Pesan kesalahan. Properti code string Kode kesalahan. message string Pesan kesalahan. param string Parameter yang terkait dengan kesalahan. |
response.created
Server mengembalikan event ini ketika menghasilkan tanggapan model baru.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_XuDavMzQN3KKepqGu3KRh",
"type": "response.created",
"response": {
"id": "resp_HaVOPdbmX6vifiV5pAfJY",
"object": "realtime.response",
"conversation_id": "conv_FjJaccpnvwHNo9cPVuzGc",
"status": "in_progress",
"modalities": [
"text",
"audio"
],
"voice": "Cherry",
"output_audio_format": "pcm24",
"output": []
}
}
|
type string Jenis event. Nilai ini selalu response.created. |
response object Objek tanggapan. Properti id string ID unik tanggapan. conversation_id string ID unik sesi saat ini. object string Jenis objek. Untuk event ini, nilainya selalu realtime.response. status string Status tanggapan. Nilai yang valid: [completed, failed, in_progress, atau incomplete]. modalities array Modalitas tanggapan. voice string Timbre audio yang dihasilkan oleh model. output string Saat ini kosong untuk event ini. |
response.done
Setelah tanggapan dihasilkan, server mengembalikan event ini. Objek response dalam event berisi semua item keluaran kecuali data audio mentah.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_CSaxRRYLvbrfexDXAEuDG",
"type": "response.done",
"response": {
"id": "resp_HaVOPdbmX6vifiV5pAfJY",
"object": "realtime.response",
"conversation_id": "conv_FjJaccpnvwHNo9cPVuzGc",
"status": "completed",
"modalities": [
"text",
"audio"
],
"voice": "Cherry",
"output_audio_format": "pcm24",
"output": [
{
"id": "item_Ls6MtCUWO7LM4E59QziNv",
"object": "realtime.item",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "audio",
"transcript": "Hello! Is there anything I can help you with?"
}
]
}
],
"usage": {
"total_tokens": 377,
"input_tokens": 336,
"output_tokens": 41,
"input_tokens_details": {
"text_tokens": 228,
"audio_tokens": 108
},
"output_tokens_details": {
"text_tokens": 9,
"audio_tokens": 32
}
}
}
}
|
type string Jenis event. Nilai ini selalu response.done. |
response object Objek tanggapan. Properti id string ID unik tanggapan. conversation_id string ID unik sesi saat ini. object string Jenis objek. Untuk event ini, nilainya selalu realtime.response. status string Status tanggapan. modalities array Modalitas tanggapan. voice string Timbre audio yang dihasilkan oleh model. output object Keluaran tanggapan. Properti id string ID yang sesuai dengan keluaran tanggapan. type string Jenis item keluaran. Nilainya saat ini diatur ke message. object string Jenis objek item keluaran. Nilainya saat ini diatur ke realtime.item. status string Status item keluaran. role string Peran item keluaran. content array Konten item keluaran. Properti type string Jenis konten keluaran. Nilainya adalah text jika keluarannya berupa teks biasa, atau audio jika keluarannya mencakup audio. text string Konten teks keluaran. transcript string Konten teks yang ditranskripsikan dari audio. usage object Informasi konsumsi token untuk tanggapan ini. |
response.text.delta
Ketika modalitas keluaran hanya mencakup teks dan model menghasilkan teks baru secara bertahap, server mengembalikan event ini.
event_id string Pengidentifikasi unik untuk event ini. | {
"delta": "Hello",
"event_id": "event_TH49MauuPmRo1RGaMSlP7",
"type": "response.text.delta",
"response_id": "resp_PrRSvPVpnCExdUOGHHLuP",
"item_id": "item_L8IRm9kRXFpxoOjDqDC96",
"output_index": 0,
"content_index": 0
}
|
type string Jenis event. Nilai ini selalu response.text.delta. |
delta string Teks tambahan yang dikembalikan. |
response_id string ID tanggapan. |
item_id string ID item pesan. Anda dapat menggunakan ID ini untuk mengasosiasikan item dari pesan yang sama. |
output_index integer Indeks item keluaran dalam tanggapan. Nilainya saat ini tetap 0. |
content_index integer Indeks bagian konten dalam item keluaran. Nilainya saat ini tetap 0. |
response.text.done
Ketika modalitas keluaran hanya mencakup teks dan model selesai menghasilkan teks, server mengembalikan event ini.
Event ini juga dikembalikan ketika tanggapan terganggu, tidak lengkap, atau dibatalkan.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_B1lIeE2Nac33zn5V7h2mm",
"type": "response.text.done",
"response_id": "resp_B1lIdtjF4Noqpn5NOjznj",
"item_id": "item_B1lIdJsAJlJiFs8ztWpJt",
"output_index": 0,
"content_index": 0,
"text": "How can I assist you today?"
}
|
type string Jenis event. Nilai ini selalu response.text.done. |
response_id string ID tanggapan. |
item_id string ID item pesan. |
output_indexinteger Indeks item keluaran dalam tanggapan. |
content_indexinteger Indeks bagian konten dalam item keluaran. |
text string Teks lengkap yang dihasilkan oleh model. |
response.audio.delta
Ketika modalitas keluaran mencakup audio dan model menghasilkan data audio baru secara bertahap, server mengembalikan event ini.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_B1osWMZBtrEQbiIwW0qHQ",
"type": "response.audio.delta",
"response_id": "resp_P79OOMs8LnrXVpiIHUCKR",
"item_id": "item_OFaPGtzfWCPyGzxnuEX9i",
"output_index": 0,
"content_index": 0,
"delta": "{base64 audio}"
}
|
type string Jenis event. Nilai ini selalu response.audio.delta. |
response_id string ID tanggapan. |
item_id string ID item pesan. |
output_indexinteger Indeks item keluaran dalam tanggapan. |
content_indexinteger Indeks bagian konten dalam item keluaran. |
delta string Data audio tambahan yang dihasilkan oleh model, dikodekan dalam Base64. |
response.audio.done
Ketika modalitas keluaran mencakup audio dan model selesai menghasilkan data audio, server mengembalikan event ini.
Event ini juga dikembalikan ketika tanggapan terganggu, tidak lengkap, atau dibatalkan.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_Le1TDl7VfyHQxl47DtGxI",
"type": "response.audio.done",
"response_id": "resp_HaVOPdbmX6vifiV5pAfJY",
"item_id": "item_Ls6MtCUWO7LM4E59QziNv",
"output_index": 0,
"content_index": 0
}
|
type string Jenis event. Nilai ini selalu response.audio.done. |
response_id string ID tanggapan. |
item_id string ID item pesan. |
output_indexinteger Indeks item keluaran dalam tanggapan. |
content_indexinteger Indeks bagian konten dalam item keluaran. |
response.audio_transcript.delta
Ketika modalitas keluaran mencakup audio dan model menghasilkan teks yang sesuai dengan audio baru secara bertahap, server mengembalikan event response.audio_transcript.delta.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_BksW7fOwnyavZdDxIzZYM",
"type": "response.audio_transcript.delta",
"response_id": "resp_HaVOPdbmX6vifiV5pAfJY",
"item_id": "item_Ls6MtCUWO7LM4E59QziNv",
"output_index": 0,
"content_index": 0,
"delta": "Is there anything"
}
|
type string Jenis event. Nilai ini selalu response.audio_transcript.delta. |
response_id string ID tanggapan. |
item_id string ID item pesan. |
output_indexinteger Indeks item keluaran dalam tanggapan. |
content_indexinteger Indeks bagian konten dalam item keluaran. |
delta string Teks tambahan. |
response.audio_transcript.done
Ketika modalitas keluaran mencakup audio dan model selesai mentranskripsikan audio, server mengembalikan event response.audio_transcript.done.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_X49tL2WerT4WjxcmH16lS",
"type": "response.audio_transcript.done",
"response_id": "resp_HaVOPdbmX6vifiV5pAfJY",
"item_id": "item_Ls6MtCUWO7LM4E59QziNv",
"output_index": 0,
"content_index": 0,
"transcript": "Hello! Is there anything I can help you with?"
}
|
type string Jenis event. Nilai ini selalu response.audio_transcript.done. |
response_id string ID tanggapan. |
item_id string ID item pesan. |
output_indexinteger Indeks item keluaran dalam tanggapan. |
content_indexinteger Indeks bagian konten dalam item keluaran. |
transcript string Teks lengkap. |
response.output_item.added
Server mengembalikan event ini ketika item baru dibuat selama generasi tanggapan.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_DsCO341DEVtiATtCB6BUY",
"type": "response.output_item.added",
"response_id": "resp_HaVOPdbmX6vifiV5pAfJY",
"output_index": 0,
"item": {
"id": "item_Ls6MtCUWO7LM4E59QziNv",
"object": "realtime.item",
"type": "message",
"status": "in_progress",
"role": "assistant",
"content": []
}
}
|
type string Jenis event. Nilai ini selalu response.output_item.added. |
response_id string ID tanggapan. |
output_indexinteger Indeks item keluaran dalam tanggapan. |
itemobject Informasi mengenai item keluaran. Properti id string ID unik item keluaran. object string Nilai ini selalu realtime.item. status string Status item keluaran. role string Peran pengirim pesan. content string Konten pesan. |
response.output_item.done
Server mengembalikan event ini ketika keluaran item baru selesai.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_MEu5nlLw1LsOguHiehIP8",
"type": "response.output_item.done",
"response_id": "resp_HaVOPdbmX6vifiV5pAfJY",
"output_index": 0,
"item": {
"id": "item_Ls6MtCUWO7LM4E59QziNv",
"object": "realtime.item",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "audio",
"text": "Hello! Is there anything I can help you with?"
}
]
}
}
|
type string Jenis event. Nilai ini selalu response.output_item.done. |
response_id string ID tanggapan. |
output_indexinteger Indeks item keluaran dalam tanggapan. |
itemobject Informasi mengenai item keluaran. Properti id string ID unik item keluaran. object string Nilai ini selalu realtime.item. status string Status item keluaran. role string Peran pengirim pesan. content string Konten pesan. |
response.content_part.added
Server mengembalikan event ini ketika bagian konten baru ditambahkan ke item pesan asisten selama generasi tanggapan.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_AVBOmrgY3C8bjlRajfSUT",
"type": "response.content_part.added",
"response_id": "resp_HaVOPdbmX6vifiV5pAfJY",
"item_id": "item_Ls6MtCUWO7LM4E59QziNv",
"output_index": 0,
"content_index": 0,
"part": {
"type": "audio",
"text": ""
}
}
|
type string Jenis event. Nilai ini selalu response.content_part.added. |
response_id string ID tanggapan. |
item_id string ID item pesan. |
output_indexinteger Indeks item keluaran dalam tanggapan. Nilainya saat ini tetap 0. |
content_indexinteger Indeks bagian konten dalam item keluaran. Nilainya saat ini tetap 0. |
partobject Informasi mengenai bagian konten. Properti type string Jenis bagian konten. text string Teks bagian konten. |
response.content_part.done
Server mengembalikan event ini ketika streaming bagian konten dalam item pesan asisten selesai.
event_id string Pengidentifikasi unik untuk event ini. | {
"event_id": "event_Il8HD19v58Qr5IBkw7LtN",
"type": "response.content_part.done",
"response_id": "resp_HaVOPdbmX6vifiV5pAfJY",
"item_id": "item_Ls6MtCUWO7LM4E59QziNv",
"output_index": 0,
"content_index": 0,
"part": {
"type": "audio",
"text": "Hello! Is there anything I can help you with?"
}
}
|
type string Jenis event. Nilai ini selalu response.content_part.done. |
response_id string ID tanggapan. |
item_id string ID item pesan. |
output_indexinteger Indeks item keluaran dalam tanggapan. Nilainya saat ini tetap 0. |
content_indexinteger Indeks bagian konten dalam larik konten item. Nilainya saat ini tetap 0. |
partobject Informasi yang dikembalikan Properti type string Jenis bagian konten. text string Teks bagian konten. |