Versions in this module Expand all Collapse all v0 v0.2.1 Aug 22, 2026 v0.2.0 Aug 22, 2026 Changes in this version + const MaxMetadataEntries type Client + func (c *Client) ContributeMetadata(ctx context.Context, entries []MetadataEntry) ([]MetadataResult, error) + func (c *Client) GetTrackFor(ctx context.Context, id, forRelease int64) (*Track, error) + type MetadataEntry struct + Date string + OSHash string + Performers []string + StashIDs []StashID + Studio string + Title string + func (e MetadataEntry) HasContent() bool + type MetadataResult struct + Error string + Known bool + Recorded bool + ReleaseID int64 type Release + Siblings []Sibling + type Sibling struct + Downloads int64 + Generated bool + ID int64 + Lang string + OffsetFrom *string + OffsetMs *int64 + ReleaseID int64 type Track + OffsetFrom string + OffsetMs int64 v0.1.1 Aug 21, 2026 v0.1.0 Aug 21, 2026 Changes in this version + const MaxResponseBytes + var ErrNoMatchEndpoint = errors.New("msclient: server has no /api/v1/match endpoint (older server?)") + type Client struct + BaseURL string + HTTP *http.Client + Token string + func New(baseURL, token string) *Client + func (c *Client) GetTrack(ctx context.Context, id int64) (*Track, error) + func (c *Client) LookupBuckets(ctx context.Context, oshash hash.OSHash, phash *hash.PHash) ([]Release, error) + func (c *Client) LookupBucketsBatch(ctx context.Context, keys []SceneKeys) ([][]Release, error) + func (c *Client) LookupExact(ctx context.Context, oshash hash.OSHash, phash *hash.PHash, maxDistance int) ([]Release, error) + func (c *Client) LookupStashIDs(ctx context.Context, ids []StashID) ([][]Release, error) + func (c *Client) Match(ctx context.Context, req MatchRequest) (*MatchResult, error) + func (c *Client) Unvote(ctx context.Context, trackID int64) error + func (c *Client) Upload(ctx context.Context, req UploadRequest) (*UploadResult, error) + func (c *Client) Version(ctx context.Context) (*ServerVersion, error) + func (c *Client) Vote(ctx context.Context, trackID int64, value int, reason, note string) (up, down int, err error) + func (c *Client) VoteCounts(ctx context.Context, trackID int64) (up, down int, err error) + type MatchCandidate struct + Date *string + DeltaMs int64 + NameSim float64 + Reasons []string + Release Release + Score float64 + Stem *string + Title *string + type MatchRequest struct + Date string + DurationMs int64 + Performers []string + Stem string + Studio string + Title string + type MatchResult struct + Candidates []MatchCandidate + Verdict string + type Release struct + DurationMs int64 + Height *int + ID int64 + OSHash string + PHash *string + StashIDs []StashID + Tracks []TrackSummary + VideoCodec *string + Width *int + type SceneKeys struct + OSHash hash.OSHash + PHash *hash.PHash + type ServerVersion struct + Features []string + StashEndpoints []string + Version string + type StashID struct + Endpoint string + StashID string + type Track struct + Body string + Down int + Downloads int64 + Generated bool + ID int64 + Lang string + License string + Provenance json.RawMessage + ReleaseID int64 + Source *string + Up int + type TrackSummary struct + CreatedAt string + Down int + Downloads int64 + Generated bool + HasProvenance bool + ID int64 + Lang string + License string + Up int + type UploadRequest struct + Body string + Date string + DurationMs int64 + Lang string + MD5 string + OSHash string + PHash string + Performers []string + StashIDs []StashID + Stem string + Studio string + Title string + type UploadResult struct + Duplicate bool + Generated bool + ReleaseID int64 + TrackID int64