package seriatim import ( "bytes" "encoding/json" ) type transcript struct { Metadata map[string]any `json:"metadata"` Segments []segment `json:"segments"` } type segment struct { ID string `json:"id"` Start json.Number `json:"start"` End json.Number `json:"end"` Speaker string `json:"speaker"` Text string `json:"text"` } func decodeTranscript(raw []byte) (transcript, error) { var out transcript decoder := json.NewDecoder(bytes.NewReader(raw)) decoder.UseNumber() if err := decoder.Decode(&out); err != nil { return transcript{}, err } return out, nil }