Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
    • Yandex Cloud Partner program
  • Blog
  • Pricing
  • Documentation
© 2025 Direct Cursus Technology L.L.C.
Yandex SpeechSense
  • Getting started
    • Authentication with the API
      • Overview
        • Overview
        • UploadAsStream
        • Upload
        • UploadText
        • Search
        • Get
  • Audit Trails events
  • Access management
  • Pricing policy
  • Release notes
  • FAQ

In this article:

  • gRPC request
  • StreamTalkRequest
  • TalkMetadata
  • UserMetadata
  • AudioStreamingRequest
  • AudioMetadata
  • RawAudio
  • ContainerAudio
  • AudioChunk
  • UploadTalkResponse
  1. API reference
  2. gRPC
  3. Talk
  4. UploadAsStream

Talk Analytics API, gRPC: TalkService.UploadAsStream

Written by
Yandex Cloud
Updated at December 17, 2024
  • gRPC request
  • StreamTalkRequest
  • TalkMetadata
  • UserMetadata
  • AudioStreamingRequest
  • AudioMetadata
  • RawAudio
  • ContainerAudio
  • AudioChunk
  • UploadTalkResponse

rpc for streaming talk documents. First message should contain Talk related metadata,
second - audio metadata, others should contain audio bytes in chunks

gRPC requestgRPC request

rpc UploadAsStream (stream StreamTalkRequest) returns (UploadTalkResponse)

StreamTalkRequestStreamTalkRequest

{
  // Includes only one of the fields `metadata`, `audio`
  "metadata": {
    "connection_id": "string",
    "fields": "map<string, string>",
    "users": [
      {
        "id": "string",
        "role": "UserRole",
        "fields": "map<string, string>"
      }
    ]
  },
  "audio": {
    // Includes only one of the fields `audio_metadata`, `chunk`
    "audio_metadata": {
      // Includes only one of the fields `raw_audio`, `container_audio`
      "raw_audio": {
        "audio_encoding": "AudioEncoding",
        "sample_rate_hertz": "int64",
        "audio_channel_count": "int64"
      },
      "container_audio": {
        "container_audio_type": "ContainerAudioType"
      }
      // end of the list of possible fields
    },
    "chunk": {
      "data": "bytes"
    }
    // end of the list of possible fields
  }
  // end of the list of possible fields
}

streaming request to create audio dialog

Field

Description

metadata

TalkMetadata

talk document metadata containing channel id and channel field values

Includes only one of the fields metadata, audio.

audio

AudioStreamingRequest

audio metadata or chunk

Includes only one of the fields metadata, audio.

TalkMetadataTalkMetadata

Field

Description

connection_id

string

id of connection this talk belongs too

fields

object (map<string, string>)

channel defined fields

users[]

UserMetadata

per user specific metadata

UserMetadataUserMetadata

Field

Description

id

string

role

enum UserRole

  • USER_ROLE_UNSPECIFIED
  • USER_ROLE_OPERATOR
  • USER_ROLE_CLIENT
  • USER_ROLE_BOT

fields

object (map<string, string>)

AudioStreamingRequestAudioStreamingRequest

Streaming audio request
First message should be audio metadata.
The next messages are audio data chunks.

Field

Description

audio_metadata

AudioMetadata

Session options. Should be the first message from user.

Includes only one of the fields audio_metadata, chunk.

chunk

AudioChunk

Chunk with audio data.

Includes only one of the fields audio_metadata, chunk.

AudioMetadataAudioMetadata

Audio format options.

Field

Description

raw_audio

RawAudio

Audio without container.

Includes only one of the fields raw_audio, container_audio.

container_audio

ContainerAudio

Audio is wrapped in container.

Includes only one of the fields raw_audio, container_audio.

RawAudioRawAudio

RAW Audio format spec (no container to infer type). Used in AudioFormat options.

Field

Description

audio_encoding

enum AudioEncoding

Type of audio encoding

  • AUDIO_ENCODING_UNSPECIFIED
  • AUDIO_ENCODING_LINEAR16_PCM: Audio bit depth 16-bit signed little-endian (Linear PCM).

sample_rate_hertz

int64

PCM sample rate

audio_channel_count

int64

PCM channel count.

ContainerAudioContainerAudio

Audio with fixed type in container. Used in AudioFormat options.

Field

Description

container_audio_type

enum ContainerAudioType

Type of audio container.

  • CONTAINER_AUDIO_TYPE_UNSPECIFIED
  • CONTAINER_AUDIO_TYPE_WAV: Audio bit depth 16-bit signed little-endian (Linear PCM).
  • CONTAINER_AUDIO_TYPE_OGG_OPUS: Data is encoded using the OPUS audio codec and compressed using the OGG container format.
  • CONTAINER_AUDIO_TYPE_MP3: Data is encoded using MPEG-1/2 Layer III and compressed using the MP3 container format.

AudioChunkAudioChunk

Data chunk with audio.

Field

Description

data

bytes

Bytes with audio data.

UploadTalkResponseUploadTalkResponse

{
  "talk_id": "string"
}

Field

Description

talk_id

string

id of created talk document

Was the article helpful?

Previous
Overview
Next
Upload
© 2025 Direct Cursus Technology L.L.C.