Documentation
¶
Overview ¶
Package media provides multimedia processing for chat apps.
Index ¶
- func DetectMIMEType(data []byte) string
- func GetFileExtension(mimeType string) string
- type MediaConfig
- type MediaHandler
- func (h *MediaHandler) ProcessAudio(ctx context.Context, data []byte, mimeType string) (string, error)
- func (h *MediaHandler) ProcessImage(ctx context.Context, data []byte) (string, error)
- func (h *MediaHandler) SaveTempFile(data []byte, ext string) (string, error)
- func (h *MediaHandler) ValidateAudioSize(size int64) error
- func (h *MediaHandler) ValidateDocumentSize(size int64) error
- func (h *MediaHandler) ValidatePhotoSize(size int64) error
- type WhisperResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DetectMIMEType ¶
DetectMIMEType detects the MIME type of data.
func GetFileExtension ¶
GetFileExtension returns the file extension for a MIME type.
Types ¶
type MediaConfig ¶
type MediaConfig struct {
// Whisper (voice-to-text)
WhisperEndpoint string
WhisperAPIKey string
// OCR (image text extraction)
OCREngine string // "tesseract" or "api"
OCRBin string // Path to tesseract binary (if using local)
// Limits
MaxPhotoSizeMB int64
MaxDocumentSizeMB int64
MaxAudioSizeMB int64
MaxVideoSizeMB int64
}
MediaConfig holds configuration for media processing.
type MediaHandler ¶
type MediaHandler struct {
// contains filtered or unexported fields
}
MediaHandler processes multimedia messages.
func NewMediaHandler ¶
func NewMediaHandler(config *MediaConfig) *MediaHandler
NewMediaHandler creates a new media handler.
func (*MediaHandler) ProcessAudio ¶
func (h *MediaHandler) ProcessAudio(ctx context.Context, data []byte, mimeType string) (string, error)
ProcessAudio converts audio data to text using Whisper API.
func (*MediaHandler) ProcessImage ¶
ProcessImage extracts text from images using OCR.
func (*MediaHandler) SaveTempFile ¶
func (h *MediaHandler) SaveTempFile(data []byte, ext string) (string, error)
SaveTempFile saves data to a temporary file and returns the path.
func (*MediaHandler) ValidateAudioSize ¶
func (h *MediaHandler) ValidateAudioSize(size int64) error
ValidateAudioSize checks if audio is within size limits.
func (*MediaHandler) ValidateDocumentSize ¶
func (h *MediaHandler) ValidateDocumentSize(size int64) error
ValidateDocumentSize checks if document is within size limits.
func (*MediaHandler) ValidatePhotoSize ¶
func (h *MediaHandler) ValidatePhotoSize(size int64) error
ValidatePhotoSize checks if photo is within size limits.
type WhisperResponse ¶
type WhisperResponse struct {
Text string `json:"text"`
Language string `json:"language,omitempty"`
Duration float64 `json:"duration,omitempty"`
Words []struct {
Word string `json:"word"`
Start float64 `json:"start"`
End float64 `json:"end"`
} `json:"words,omitempty"`
}
WhisperResponse represents the Whisper API response.