sarvamai-go SDK Documentation
Speech-to-Text

Job Initialize

`SpeechToTextJob.Initialize` creates a new batch STT job.

Package

import "github.com/Shreehari-Acharya/sarvamai-go/sttjob"

Signature

func (c *SttJobClient) Initialize(ctx context.Context, options ...InitJobOption) (*InitJobTranscribeResponse, error)

Options

OptionTypeNotes
WithLanguagelanguages.CodeLanguage validation depends on selected model or validation default when omitted.
WithModelModelSaarika | ModelSaarasIf omitted, model is not explicitly sent by SDK.
WithModeMode*Mode validation depends on model rules.
WithTimeStampsboolEnables timestamp output in job results.
WithDiarizationboolEnables diarization processing.
WithNumSpeakersintRequires WithDiarization(true).
WithCallback(url string, authToken *string)URL must be non-empty if callback is provided.

Valid / invalid combos

ComboResult
WithModel(ModelSaaras) + WithMode(...)Valid
WithModel(ModelSaarika) + WithMode(...)Validation error
WithMode(...) with model omittedValid in SDK validation (mode check uses saaras:v3 spec)
WithNumSpeakers(2) + WithDiarization(true)Valid
WithNumSpeakers(2) without diarizationValidation error
WithCallback("", nil)Validation error

Validation rules

  1. If model is set, it must be saarika:v2.5 or saaras:v3.
  2. Mode uses shared model-aware validation.
  3. Language uses shared model-aware validation.
  4. num_speakers requires diarization enabled.
  5. Callback URL cannot be empty when callback object is present.

Response highlights

FieldTypeNotes
JobIDstringRequired for all subsequent job calls.
StorageContainerTypespeech.ContainerTypeStorage provider for uploads/downloads.
JobStatespeech.JobStateInitial state after job creation.

Example

resp, err := client.SpeechToTextJob.Initialize(
    ctx,
    sttjob.WithModel(sttjob.ModelSaaras),
    sttjob.WithMode(sttjob.ModeTranscribe),
    sttjob.WithLanguage(sttjob.LanguageHiIN),
    sttjob.WithTimeStamps(true),
    sttjob.WithDiarization(true),
    sttjob.WithNumSpeakers(2),
)
if err != nil {
    panic(err)
}
fmt.Println(resp.JobID)

Next step

After Initialize, call GetUploadLinks.

On this page