cmd

package
v1.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2022 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Overview

Copyright © 2022 AssemblyAI support@assemblyai.com

Copyright © 2022 AssemblyAI support@assemblyai.com

Copyright © 2022 AssemblyAI support@assemblyai.com

Copyright © 2022 AssemblyAI support@assemblyai.com

Copyright © 2022 AssemblyAI support@assemblyai.com

Copyright © 2022 AssemblyAI support@assemblyai.com

Copyright © 2022 AssemblyAI support@assemblyai.com

Copyright © 2022 AssemblyAI support@assemblyai.com

Index

Constants

This section is empty.

Variables

View Source
var AAIURL = "https://api.assemblyai.com/v2"
View Source
var Filename = os.TempDir() + "tmp-video.mp4"
View Source
var LanguageMap = map[string]string{
	"en":    "Global English",
	"en-au": "Australian English",
	"en_uk": "British English",
	"en-US": "US English",
	"es":    "Spanish",
	"fr":    "French",
	"de":    "German",
	"it":    "Italian",
	"pt":    "Portuguese",
	"nl":    "Dutch",
	"hi":    "Hindi",
	"ja":    "Japanese",
}
View Source
var PH_TOKEN string
View Source
var PIIRedactionPolicyMap = map[string]string{
	"banking_information":       "Banking Information",
	"blood_type":                "Blood Type",
	"credit_card_cvv":           "Credit Card CVV",
	"credit_card_expiration":    "Credit Card Expiration",
	"credit_card_number":        "Credit Card Number",
	"date":                      "Date",
	"drivers_license":           "Drivers License",
	"drug":                      "Drug",
	"email_address":             "Email Address",
	"event":                     "Event",
	"injury":                    "Injury",
	"language":                  "Language",
	"location":                  "Location",
	"medical_condition":         "Medical Condition",
	"medical_process":           "Medical Process",
	"money_amount":              "Money Amount",
	"nationality":               "Nationality",
	"number_sequence":           "Number Sequence",
	"occupation":                "Occupation",
	"organization":              "Organization",
	"person_age":                "Person Age",
	"person_name":               "Person Name",
	"phone_number":              "Phone Number",
	"political_affiliation":     "Political Affiliation",
	"religion":                  "Religion",
	"us_social_security_number": "US Social Security Number",
}
View Source
var SummarizationTypeMap = map[string]string{
	"paragraph":       "Paragraph",
	"headline":        "Headline",
	"gist":            "Gist",
	"bullets":         "Bullets",
	"bullets_verbose": "Bullets Verbose",
}
View Source
var Token string
View Source
var VERSION string

Functions

func BeutifyJSON

func BeutifyJSON(data []byte) []byte

func CallSpinner

func CallSpinner(message string) *spinner.Spinner

func CheckIfTokenValid

func CheckIfTokenValid() bool

func ConfigFolderExist

func ConfigFolderExist() bool

func DownloadVideo

func DownloadVideo(url string)

func Execute

func Execute()

func GetSentenceTimestamps

func GetSentenceTimestamps(sentences []string, words []SentimentAnalysisResult) []string

func GetSentenceTimestampsAndSpeaker

func GetSentenceTimestampsAndSpeaker(sentences []string, words []SentimentAnalysisResult) [][]string

func GetStoredToken

func GetStoredToken() string

func PollTranscription

func PollTranscription(id string, flags TranscribeFlags)

func PrintError

func PrintError(err error)

func QueryApi

func QueryApi(path string, method string, body io.Reader) []byte

func SetUserAlias

func SetUserAlias()

func SplitSentences

func SplitSentences(wholeText string, isLineBreeakEnabled bool) []string

func TelemetryCaptureEvent

func TelemetryCaptureEvent(event string, properties *PostHogProperties)

func TransformMsToTimestamp

func TransformMsToTimestamp(ms int64) string

func UploadFile

func UploadFile(path string) string

func YoutubeDownload

func YoutubeDownload(id string) string

Types

type AccessibilityDataClass

type AccessibilityDataClass struct {
	Label *string `json:"label,omitempty"`
}

type Account

type Account struct {
	Error          *string        `json:"error,omitempty"`
	IsVerified     bool           `json:"is_verified"`
	CurrentBalance CurrentBalance `json:"current_balance"`
	Id             *int           `json:"id,omitempty"`
}

type AdBreakServiceRenderer

type AdBreakServiceRenderer struct {
	PrefetchMilliseconds *string `json:"prefetchMilliseconds,omitempty"`
	GetAdBreakURL        *string `json:"getAdBreakUrl,omitempty"`
}

type AdPlacement

type AdPlacement struct {
	AdPlacementRenderer *AdPlacementRenderer `json:"adPlacementRenderer,omitempty"`
}

type AdPlacementConfig

type AdPlacementConfig struct {
	Kind               *string       `json:"kind,omitempty"`
	AdTimeOffset       *AdTimeOffset `json:"adTimeOffset,omitempty"`
	HideCueRangeMarker *bool         `json:"hideCueRangeMarker,omitempty"`
}

type AdPlacementRenderer

type AdPlacementRenderer struct {
	Config   *Config   `json:"config,omitempty"`
	Renderer *Renderer `json:"renderer,omitempty"`
}

type AdTimeOffset

type AdTimeOffset struct {
	OffsetStartMilliseconds *string `json:"offsetStartMilliseconds,omitempty"`
	OffsetEndMilliseconds   *string `json:"offsetEndMilliseconds,omitempty"`
}

type AddToWatchLaterCommand

type AddToWatchLaterCommand struct {
	ClickTrackingParams  *string                                     `json:"clickTrackingParams,omitempty"`
	CommandMetadata      *SubscribeCommandCommandMetadata            `json:"commandMetadata,omitempty"`
	PlaylistEditEndpoint *AddToWatchLaterCommandPlaylistEditEndpoint `json:"playlistEditEndpoint,omitempty"`
}

type AddToWatchLaterCommandPlaylistEditEndpoint

type AddToWatchLaterCommandPlaylistEditEndpoint struct {
	PlaylistID *string        `json:"playlistId,omitempty"`
	Actions    []PurpleAction `json:"actions,omitempty"`
}

type Annotation

type Annotation struct {
	PlayerAnnotationsExpandedRenderer *PlayerAnnotationsExpandedRenderer `json:"playerAnnotationsExpandedRenderer,omitempty"`
}

type ArrayCategories

type ArrayCategories struct {
	Score    float64 `json:"score"`
	Category string  `json:"category"`
}

type AtrURL

type AtrURL struct {
	BaseURL                 *string `json:"baseUrl,omitempty"`
	ElapsedMediaTimeSeconds *int64  `json:"elapsedMediaTimeSeconds,omitempty"`
}

type Attestation

type Attestation struct {
	PlayerAttestationRenderer *PlayerAttestationRenderer `json:"playerAttestationRenderer,omitempty"`
}

type AudioConfig

type AudioConfig struct {
	LoudnessDB              *float64 `json:"loudnessDb,omitempty"`
	PerceptualLoudnessDB    *float64 `json:"perceptualLoudnessDb,omitempty"`
	EnablePerFormatLoudness *bool    `json:"enablePerFormatLoudness,omitempty"`
}

type AudioTrack

type AudioTrack struct {
	CaptionTrackIndices      []int64 `json:"captionTrackIndices,omitempty"`
	DefaultCaptionTrackIndex *int64  `json:"defaultCaptionTrackIndex,omitempty"`
	Visibility               *string `json:"visibility,omitempty"`
	HasDefaultTrack          *bool   `json:"hasDefaultTrack,omitempty"`
	CaptionsInitialState     *string `json:"captionsInitialState,omitempty"`
}

type AutoHighlightsResult

type AutoHighlightsResult struct {
	Results []AutoHighlightsResultResult `json:"results,omitempty"`
	Status  *string                      `json:"status,omitempty"`
}

type AutoHighlightsResultResult

type AutoHighlightsResultResult struct {
	Count      *int64      `json:"count,omitempty"`
	Rank       *float64    `json:"rank,omitempty"`
	Text       string      `json:"text,omitempty"`
	Timestamps []Timestamp `json:"timestamps,omitempty"`
}

type BotguardData

type BotguardData struct {
	Program            *string             `json:"program,omitempty"`
	InterpreterSafeURL *InterpreterSafeURL `json:"interpreterSafeUrl,omitempty"`
	ServerEnvironment  *int64              `json:"serverEnvironment,omitempty"`
}

type BrowseEndpoint

type BrowseEndpoint struct {
	BrowseID *string `json:"browseId,omitempty"`
}

type Button

type Button struct {
	ButtonRenderer *ButtonRenderer `json:"buttonRenderer,omitempty"`
}

type ButtonRenderer

type ButtonRenderer struct {
	Style           *string                 `json:"style,omitempty"`
	Size            *string                 `json:"size,omitempty"`
	IsDisabled      *bool                   `json:"isDisabled,omitempty"`
	Text            *ButtonText             `json:"text,omitempty"`
	Accessibility   *AccessibilityDataClass `json:"accessibility,omitempty"`
	TrackingParams  *string                 `json:"trackingParams,omitempty"`
	ServiceEndpoint *UnsubscribeCommand     `json:"serviceEndpoint,omitempty"`
}

type ButtonText

type ButtonText struct {
	Runs []Run `json:"runs,omitempty"`
}

type CaptionTrack

type CaptionTrack struct {
	BaseURL        *string      `json:"baseUrl,omitempty"`
	Name           *Description `json:"name,omitempty"`
	VssID          *string      `json:"vssId,omitempty"`
	LanguageCode   *string      `json:"languageCode,omitempty"`
	Kind           *string      `json:"kind,omitempty"`
	IsTranslatable *bool        `json:"isTranslatable,omitempty"`
}

type Captions

type Captions struct {
	PlayerCaptionsTracklistRenderer *PlayerCaptionsTracklistRenderer `json:"playerCaptionsTracklistRenderer,omitempty"`
}

type Chapter

type Chapter struct {
	Summary  string `json:"summary,omitempty"`
	Headline string `json:"headline,omitempty"`
	Gist     string `json:"gist,omitempty"`
	Start    *int64 `json:"start,omitempty"`
	End      *int64 `json:"end,omitempty"`
}

type CheckIfTokenValidResponse

type CheckIfTokenValidResponse struct {
	IsVerified     bool   `json:"is_verified"`
	CurrentBalance string `json:"current_balance"`
}

type Client

type Client struct {
	Hl                string `json:"hl"`
	ClientName        string `json:"clientName"`
	ClientVersion     string `json:"clientVersion"`
	AndroidSDKVersion int64  `json:"androidSdkVersion"`
	UserAgent         string `json:"userAgent"`
	TimeZone          string `json:"timeZone"`
	UtcOffsetMinutes  int64  `json:"utcOffsetMinutes"`
}

type ColorInfo

type ColorInfo struct {
	Primaries               *string `json:"primaries,omitempty"`
	TransferCharacteristics *string `json:"transferCharacteristics,omitempty"`
	MatrixCoefficients      *string `json:"matrixCoefficients,omitempty"`
}

type CommonConfigElement

type CommonConfigElement struct {
	URL *string `json:"url,omitempty"`
}

type Config

type Config struct {
	AdPlacementConfig *AdPlacementConfig `json:"adPlacementConfig,omitempty"`
}

type ConfirmDialogRenderer

type ConfirmDialogRenderer struct {
	TrackingParams  *string      `json:"trackingParams,omitempty"`
	DialogMessages  []ButtonText `json:"dialogMessages,omitempty"`
	ConfirmButton   *Button      `json:"confirmButton,omitempty"`
	CancelButton    *Button      `json:"cancelButton,omitempty"`
	PrimaryIsCancel *bool        `json:"primaryIsCancel,omitempty"`
}

type ContentPlaybackContext

type ContentPlaybackContext struct {
	Html5Preference string `json:"html5Preference"`
}

type ContentSafetyLabels

type ContentSafetyLabels struct {
	Status               *string                     `json:"status,omitempty"`
	Results              []ContentSafetyLabelsResult `json:"results,omitempty"`
	Summary              *Summary                    `json:"summary,omitempty"`
	SeverityScoreSummary *SeverityScoreSummary       `json:"severity_score_summary,omitempty"`
}

type ContentSafetyLabelsResult

type ContentSafetyLabelsResult struct {
	Text      string     `json:"text,omitempty"`
	Labels    []Label    `json:"labels,omitempty"`
	Timestamp *Timestamp `json:"timestamp,omitempty"`
}

type Context

type Context struct {
	Client Client `json:"client"`
}

type CurrentBalance

type CurrentBalance struct {
	Amount   float64 `json:"amount"`
	Currency string  `json:"currency"`
}

type Description

type Description struct {
	SimpleText *string `json:"simpleText,omitempty"`
}

type DynamicReadaheadConfig

type DynamicReadaheadConfig struct {
	MaxReadAheadMediaTimeMS *int64 `json:"maxReadAheadMediaTimeMs,omitempty"`
	MinReadAheadMediaTimeMS *int64 `json:"minReadAheadMediaTimeMs,omitempty"`
	ReadAheadGrowthRateMS   *int64 `json:"readAheadGrowthRateMs,omitempty"`
}

type Element

type Element struct {
	EndscreenElementRenderer *EndscreenElementRenderer `json:"endscreenElementRenderer,omitempty"`
}

type Embed

type Embed struct {
	IframeURL      *string `json:"iframeUrl,omitempty"`
	FlashURL       *string `json:"flashUrl,omitempty"`
	Width          *int64  `json:"width,omitempty"`
	Height         *int64  `json:"height,omitempty"`
	FlashSecureURL *string `json:"flashSecureUrl,omitempty"`
}

type Endpoint

type Endpoint struct {
	ClickTrackingParams *string                  `json:"clickTrackingParams,omitempty"`
	CommandMetadata     *EndpointCommandMetadata `json:"commandMetadata,omitempty"`
	BrowseEndpoint      *BrowseEndpoint          `json:"browseEndpoint,omitempty"`
	WatchEndpoint       *WatchEndpoint           `json:"watchEndpoint,omitempty"`
	URLEndpoint         *URLEndpoint             `json:"urlEndpoint,omitempty"`
}

type EndpointCommandMetadata

type EndpointCommandMetadata struct {
	WebCommandMetadata *PurpleWebCommandMetadata `json:"webCommandMetadata,omitempty"`
}

type Endscreen

type Endscreen struct {
	EndscreenRenderer *EndscreenRenderer `json:"endscreenRenderer,omitempty"`
}

type EndscreenElementRenderer

type EndscreenElementRenderer struct {
	Style             *string            `json:"style,omitempty"`
	Image             *ImageClass        `json:"image,omitempty"`
	Icon              *Icon              `json:"icon,omitempty"`
	Left              *float64           `json:"left,omitempty"`
	Width             *float64           `json:"width,omitempty"`
	Top               *float64           `json:"top,omitempty"`
	AspectRatio       *float64           `json:"aspectRatio,omitempty"`
	StartMS           *string            `json:"startMs,omitempty"`
	EndMS             *string            `json:"endMs,omitempty"`
	Metadata          *Metadata          `json:"metadata,omitempty"`
	CallToAction      *Description       `json:"callToAction,omitempty"`
	Dismiss           *Description       `json:"dismiss,omitempty"`
	Endpoint          *Endpoint          `json:"endpoint,omitempty"`
	HovercardButton   *HovercardButton   `json:"hovercardButton,omitempty"`
	TrackingParams    *string            `json:"trackingParams,omitempty"`
	IsSubscribe       *bool              `json:"isSubscribe,omitempty"`
	ID                *string            `json:"id,omitempty"`
	ThumbnailOverlays []ThumbnailOverlay `json:"thumbnailOverlays,omitempty"`
	Title             *Title             `json:"title,omitempty"`
}

type EndscreenRenderer

type EndscreenRenderer struct {
	Elements       []Element `json:"elements,omitempty"`
	StartMS        *string   `json:"startMs,omitempty"`
	TrackingParams *string   `json:"trackingParams,omitempty"`
}

type Entity

type Entity struct {
	EntityType string `json:"entity_type,omitempty"`
	Text       string `json:"text,omitempty"`
	Start      *int64 `json:"start,omitempty"`
	End        *int64 `json:"end,omitempty"`
}

type EntityBatchUpdate

type EntityBatchUpdate struct {
	Mutations []Mutation  `json:"mutations,omitempty"`
	Timestamp *TimestampR `json:"timestamp,omitempty"`
}

type FeaturedChannel

type FeaturedChannel struct {
	StartTimeMS        *string             `json:"startTimeMs,omitempty"`
	EndTimeMS          *string             `json:"endTimeMs,omitempty"`
	Watermark          *WatermarkClass     `json:"watermark,omitempty"`
	TrackingParams     *string             `json:"trackingParams,omitempty"`
	NavigationEndpoint *NavigationEndpoint `json:"navigationEndpoint,omitempty"`
	ChannelName        *string             `json:"channelName,omitempty"`
	SubscribeButton    *SubscribeButton    `json:"subscribeButton,omitempty"`
}

type FluffyAction

type FluffyAction struct {
	Action         *string `json:"action,omitempty"`
	RemovedVideoID *string `json:"removedVideoId,omitempty"`
}

type FluffyLabel

type FluffyLabel struct {
	Relevance *float64 `json:"relevance,omitempty"`
	Label     string   `json:"label,omitempty"`
}

type FluffyWebCommandMetadata

type FluffyWebCommandMetadata struct {
	SendPost *bool   `json:"sendPost,omitempty"`
	APIURL   *string `json:"apiUrl,omitempty"`
}

type Format

type Format struct {
	Itag             *int64          `json:"itag,omitempty"`
	URL              *string         `json:"url,omitempty"`
	MIMEType         *string         `json:"mimeType,omitempty"`
	Bitrate          *int64          `json:"bitrate,omitempty"`
	Width            *int64          `json:"width,omitempty"`
	Height           *int64          `json:"height,omitempty"`
	InitRange        *Range          `json:"initRange,omitempty"`
	IndexRange       *Range          `json:"indexRange,omitempty"`
	LastModified     *string         `json:"lastModified,omitempty"`
	ContentLength    *string         `json:"contentLength,omitempty"`
	Quality          *string         `json:"quality,omitempty"`
	FPS              *int64          `json:"fps,omitempty"`
	QualityLabel     *string         `json:"qualityLabel,omitempty"`
	ProjectionType   *ProjectionType `json:"projectionType,omitempty"`
	AverageBitrate   *int64          `json:"averageBitrate,omitempty"`
	ApproxDurationMS *string         `json:"approxDurationMs,omitempty"`
	ColorInfo        *ColorInfo      `json:"colorInfo,omitempty"`
	HighReplication  *bool           `json:"highReplication,omitempty"`
	AudioQuality     *string         `json:"audioQuality,omitempty"`
	AudioSampleRate  *string         `json:"audioSampleRate,omitempty"`
	AudioChannels    *int64          `json:"audioChannels,omitempty"`
	LoudnessDB       *float64        `json:"loudnessDb,omitempty"`
	SignatureCipher  *string         `json:"signatureCipher,omitempty"`
}

type FrameworkUpdates

type FrameworkUpdates struct {
	EntityBatchUpdate *EntityBatchUpdate `json:"entityBatchUpdate,omitempty"`
}

type GetSharePanelCommand

type GetSharePanelCommand struct {
	ClickTrackingParams                 *string                              `json:"clickTrackingParams,omitempty"`
	CommandMetadata                     *SubscribeCommandCommandMetadata     `json:"commandMetadata,omitempty"`
	WebPlayerShareEntityServiceEndpoint *WebPlayerShareEntityServiceEndpoint `json:"webPlayerShareEntityServiceEndpoint,omitempty"`
}

type GutParams

type GutParams struct {
	Tag *string `json:"tag,omitempty"`
}

type HovercardButton

type HovercardButton struct {
	SubscribeButtonRenderer *SubscribeButtonRenderer `json:"subscribeButtonRenderer,omitempty"`
}

type Html5PlaybackOnesieConfig

type Html5PlaybackOnesieConfig struct {
	CommonConfig *CommonConfigElement `json:"commonConfig,omitempty"`
}

type IabCategoriesResult

type IabCategoriesResult struct {
	Status  *string                     `json:"status,omitempty"`
	Results []IabCategoriesResultResult `json:"results,omitempty"`
	Summary map[string]float64          `json:"summary,omitempty"`
}

type IabCategoriesResultResult

type IabCategoriesResultResult struct {
	Text      string        `json:"text,omitempty"`
	Labels    []FluffyLabel `json:"labels,omitempty"`
	Timestamp *Timestamp    `json:"timestamp,omitempty"`
}

type Icon

type Icon struct {
	Thumbnails []CommonConfigElement `json:"thumbnails,omitempty"`
}

type ImageClass

type ImageClass struct {
	Thumbnails []ThumbnailThumbnail `json:"thumbnails,omitempty"`
}

type InterpreterSafeURL

type InterpreterSafeURL struct {
	PrivateDoNotAccessOrElseTrustedResourceURLWrappedValue *string `json:"privateDoNotAccessOrElseTrustedResourceUrlWrappedValue,omitempty"`
}

type Label

type Label struct {
	Label      string   `json:"label,omitempty"`
	Confidence *float64 `json:"confidence,omitempty"`
	Severity   *float64 `json:"severity"`
}

type MainAppWebInfo

type MainAppWebInfo struct {
	GraftURL string `json:"graftUrl"`
}

type MainAppWebResponseContext

type MainAppWebResponseContext struct {
	LoggedOut *bool `json:"loggedOut,omitempty"`
}

type MediaCommonConfig

type MediaCommonConfig struct {
	DynamicReadaheadConfig *DynamicReadaheadConfig `json:"dynamicReadaheadConfig,omitempty"`
}

type Metadata

type Metadata struct {
	SimpleText    *string                      `json:"simpleText,omitempty"`
	Accessibility *SubscribeAccessibilityClass `json:"accessibility,omitempty"`
}

type Microformat

type Microformat struct {
	PlayerMicroformatRenderer *PlayerMicroformatRenderer `json:"playerMicroformatRenderer,omitempty"`
}

type Miniplayer

type Miniplayer struct {
	MiniplayerRenderer *MiniplayerRenderer `json:"miniplayerRenderer,omitempty"`
}

type MiniplayerRenderer

type MiniplayerRenderer struct {
	PlaybackMode *string `json:"playbackMode,omitempty"`
}

type Mutation

type Mutation struct {
	EntityKey *string  `json:"entityKey,omitempty"`
	Type      *string  `json:"type,omitempty"`
	Payload   *Payload `json:"payload,omitempty"`
}
type NavigationEndpoint struct {
	ClickTrackingParams *string                            `json:"clickTrackingParams,omitempty"`
	CommandMetadata     *NavigationEndpointCommandMetadata `json:"commandMetadata,omitempty"`
	BrowseEndpoint      *BrowseEndpoint                    `json:"browseEndpoint,omitempty"`
}
type NavigationEndpointCommandMetadata struct {
	WebCommandMetadata *PurpleWebCommandMetadata `json:"webCommandMetadata,omitempty"`
}

type OfflineabilityEntity

type OfflineabilityEntity struct {
	Key                     *string `json:"key,omitempty"`
	AddToOfflineButtonState *string `json:"addToOfflineButtonState,omitempty"`
}

type OpenPopupAction

type OpenPopupAction struct {
	Popup     *Popup  `json:"popup,omitempty"`
	PopupType *string `json:"popupType,omitempty"`
}

type Param

type Param struct {
	Key   *string `json:"key,omitempty"`
	Value *string `json:"value,omitempty"`
}

type Payload

type Payload struct {
	OfflineabilityEntity *OfflineabilityEntity `json:"offlineabilityEntity,omitempty"`
}

type PlayabilityStatus

type PlayabilityStatus struct {
	Status          *string     `json:"status,omitempty"`
	PlayableInEmbed *bool       `json:"playableInEmbed,omitempty"`
	Miniplayer      *Miniplayer `json:"miniplayer,omitempty"`
	ContextParams   *string     `json:"contextParams,omitempty"`
}

type PlaybackContext

type PlaybackContext struct {
	ContentPlaybackContext ContentPlaybackContext `json:"contentPlaybackContext"`
}

type PlaybackTracking

type PlaybackTracking struct {
	VideostatsPlaybackURL                   *URL    `json:"videostatsPlaybackUrl,omitempty"`
	VideostatsDelayplayURL                  *URL    `json:"videostatsDelayplayUrl,omitempty"`
	VideostatsWatchtimeURL                  *URL    `json:"videostatsWatchtimeUrl,omitempty"`
	PtrackingURL                            *URL    `json:"ptrackingUrl,omitempty"`
	QoeURL                                  *URL    `json:"qoeUrl,omitempty"`
	AtrURL                                  *AtrURL `json:"atrUrl,omitempty"`
	VideostatsScheduledFlushWalltimeSeconds []int64 `json:"videostatsScheduledFlushWalltimeSeconds,omitempty"`
	VideostatsDefaultFlushIntervalSeconds   *int64  `json:"videostatsDefaultFlushIntervalSeconds,omitempty"`
}

type PlayerAd

type PlayerAd struct {
	PlayerLegacyDesktopWatchAdsRenderer *PlayerLegacyDesktopWatchAdsRenderer `json:"playerLegacyDesktopWatchAdsRenderer,omitempty"`
}

type PlayerAdParams

type PlayerAdParams struct {
	ShowContentThumbnail *bool   `json:"showContentThumbnail,omitempty"`
	EnabledEngageTypes   *string `json:"enabledEngageTypes,omitempty"`
}

type PlayerAnnotationsExpandedRenderer

type PlayerAnnotationsExpandedRenderer struct {
	FeaturedChannel   *FeaturedChannel `json:"featuredChannel,omitempty"`
	AllowSwipeDismiss *bool            `json:"allowSwipeDismiss,omitempty"`
	AnnotationID      *string          `json:"annotationId,omitempty"`
}

type PlayerAttestationRenderer

type PlayerAttestationRenderer struct {
	Challenge    *string       `json:"challenge,omitempty"`
	BotguardData *BotguardData `json:"botguardData,omitempty"`
}

type PlayerCaptionsTracklistRenderer

type PlayerCaptionsTracklistRenderer struct {
	CaptionTracks          []CaptionTrack        `json:"captionTracks,omitempty"`
	AudioTracks            []AudioTrack          `json:"audioTracks,omitempty"`
	TranslationLanguages   []TranslationLanguage `json:"translationLanguages,omitempty"`
	DefaultAudioTrackIndex *int64                `json:"defaultAudioTrackIndex,omitempty"`
}

type PlayerConfig

type PlayerConfig struct {
	AudioConfig           *AudioConfig           `json:"audioConfig,omitempty"`
	StreamSelectionConfig *StreamSelectionConfig `json:"streamSelectionConfig,omitempty"`
	MediaCommonConfig     *MediaCommonConfig     `json:"mediaCommonConfig,omitempty"`
	WebPlayerConfig       *WebPlayerConfig       `json:"webPlayerConfig,omitempty"`
}

type PlayerLegacyDesktopWatchAdsRenderer

type PlayerLegacyDesktopWatchAdsRenderer struct {
	PlayerAdParams *PlayerAdParams `json:"playerAdParams,omitempty"`
	GutParams      *GutParams      `json:"gutParams,omitempty"`
	ShowCompanion  *bool           `json:"showCompanion,omitempty"`
	ShowInstream   *bool           `json:"showInstream,omitempty"`
	UseGut         *bool           `json:"useGut,omitempty"`
}

type PlayerMicroformatRenderer

type PlayerMicroformatRenderer struct {
	Thumbnail          *ImageClass  `json:"thumbnail,omitempty"`
	Embed              *Embed       `json:"embed,omitempty"`
	Title              *Description `json:"title,omitempty"`
	Description        *Description `json:"description,omitempty"`
	LengthSeconds      *string      `json:"lengthSeconds,omitempty"`
	OwnerProfileURL    *string      `json:"ownerProfileUrl,omitempty"`
	ExternalChannelID  *string      `json:"externalChannelId,omitempty"`
	IsFamilySafe       *bool        `json:"isFamilySafe,omitempty"`
	AvailableCountries []string     `json:"availableCountries,omitempty"`
	IsUnlisted         *bool        `json:"isUnlisted,omitempty"`
	HasYpcMetadata     *bool        `json:"hasYpcMetadata,omitempty"`
	ViewCount          *string      `json:"viewCount,omitempty"`
	Category           *string      `json:"category,omitempty"`
	PublishDate        *string      `json:"publishDate,omitempty"`
	OwnerChannelName   *string      `json:"ownerChannelName,omitempty"`
	UploadDate         *string      `json:"uploadDate,omitempty"`
}

type PlayerStoryboardSpecRenderer

type PlayerStoryboardSpecRenderer struct {
	Spec *string `json:"spec,omitempty"`
}
type Popup struct {
	ConfirmDialogRenderer *ConfirmDialogRenderer `json:"confirmDialogRenderer,omitempty"`
}

type PostHogProperties

type PostHogProperties struct {
	Poll              bool   `json:"poll,omitempty"`
	Json              bool   `json:"json,omitempty"`
	SpeakerLabels     bool   `json:"speaker_labels,omitempty"`
	Punctuate         bool   `json:"punctuate,omitempty"`
	FormatText        bool   `json:"format_text,omitempty"`
	DualChannel       *bool  `json:"dual_channel,omitempty"`
	RedactPii         bool   `json:"redact_pii,omitempty"`
	AutoHighlights    bool   `json:"auto_highlights,omitempty"`
	ContentModeration bool   `json:"content_safety,omitempty"`
	TopicDetection    bool   `json:"iab_categories,omitempty"`
	SentimentAnalysis bool   `json:"sentiment_analysis,omitempty"`
	AutoChapters      bool   `json:"auto_chapters,omitempty"`
	EntityDetection   bool   `json:"entity_detection,omitempty"`
	Version           string `json:"version,omitempty"`
	OS                string `json:"os,omitempty"`
	Arch              string `json:"arch,omitempty"`
	Method            string `json:"method,omitempty"`
	I                 bool   `json:"i,omitempty"`
}

type Profanity

type Profanity struct {
	Low    json.Number `json:"low,omitempty"`
	Medium json.Number `json:"medium,omitempty"`
	High   json.Number `json:"high,omitempty"`
}

type ProjectionType

type ProjectionType string
const (
	Rectangular ProjectionType = "RECTANGULAR"
)

type PurpleAction

type PurpleAction struct {
	AddedVideoID *string `json:"addedVideoId,omitempty"`
	Action       *string `json:"action,omitempty"`
}

type PurpleWebCommandMetadata

type PurpleWebCommandMetadata struct {
	URL         *string `json:"url,omitempty"`
	WebPageType *string `json:"webPageType,omitempty"`
	RootVe      *int64  `json:"rootVe,omitempty"`
	APIURL      *string `json:"apiUrl,omitempty"`
}

type Range

type Range struct {
	Start *string `json:"start,omitempty"`
	End   *string `json:"end,omitempty"`
}

type RedactPiiPolicy

type RedactPiiPolicy string
const (
	MedicalProcess         RedactPiiPolicy = "medical_process"
	MedicalCondition       RedactPiiPolicy = "medical_condition"
	BloodType              RedactPiiPolicy = "blood_type"
	Drug                   RedactPiiPolicy = "drug"
	Injury                 RedactPiiPolicy = "injury"
	NumberSequence         RedactPiiPolicy = "number_sequence"
	EmailAddress           RedactPiiPolicy = "email_address"
	DateOfBirth            RedactPiiPolicy = "date_of_birth"
	PhoneNumber            RedactPiiPolicy = "phone_number"
	USSocialSecurityNumber RedactPiiPolicy = "us_social_security_number"
	CreditCardNumber       RedactPiiPolicy = "credit_card_number"
	CreditCardExpiration   RedactPiiPolicy = "credit_card_expiration"
	Date                   RedactPiiPolicy = "date"
	Nationality            RedactPiiPolicy = "nationality"
	Event                  RedactPiiPolicy = "event"
	Language               RedactPiiPolicy = "language"
	Location               RedactPiiPolicy = "location"
	MoneyAmount            RedactPiiPolicy = "money_amount"
	PersonName             RedactPiiPolicy = "person_name"
	PersonAge              RedactPiiPolicy = "person_age"
	Organization           RedactPiiPolicy = "organization"
	PoliticalAffiliation   RedactPiiPolicy = "political_affiliation"
	Occupation             RedactPiiPolicy = "occupation"
	Religion               RedactPiiPolicy = "religion"
	DriversLicense         RedactPiiPolicy = "drivers_license"
	BankingInformation     RedactPiiPolicy = "banking_information"
)

type RemoveFromWatchLaterCommand

type RemoveFromWatchLaterCommand struct {
	ClickTrackingParams  *string                                          `json:"clickTrackingParams,omitempty"`
	CommandMetadata      *SubscribeCommandCommandMetadata                 `json:"commandMetadata,omitempty"`
	PlaylistEditEndpoint *RemoveFromWatchLaterCommandPlaylistEditEndpoint `json:"playlistEditEndpoint,omitempty"`
}

type RemoveFromWatchLaterCommandPlaylistEditEndpoint

type RemoveFromWatchLaterCommandPlaylistEditEndpoint struct {
	PlaylistID *string        `json:"playlistId,omitempty"`
	Actions    []FluffyAction `json:"actions,omitempty"`
}

type Renderer

type Renderer struct {
	AdBreakServiceRenderer *AdBreakServiceRenderer `json:"adBreakServiceRenderer,omitempty"`
}

type Request

type Request struct {
	UseSSL                  bool          `json:"useSsl"`
	InternalExperimentFlags []interface{} `json:"internalExperimentFlags"`
	ConsistencyTokenJars    []interface{} `json:"consistencyTokenJars"`
}

type ResponseContext

type ResponseContext struct {
	VisitorData                     *string                          `json:"visitorData,omitempty"`
	ServiceTrackingParams           []ServiceTrackingParam           `json:"serviceTrackingParams,omitempty"`
	MainAppWebResponseContext       *MainAppWebResponseContext       `json:"mainAppWebResponseContext,omitempty"`
	WebResponseContextExtensionData *WebResponseContextExtensionData `json:"webResponseContextExtensionData,omitempty"`
}

type Run

type Run struct {
	Text *string `json:"text,omitempty"`
}

type SentimentAnalysisResult

type SentimentAnalysisResult struct {
	Channel    string                    `json:"channel,omitempty"`
	Text       string                    `json:"text,omitempty"`
	Start      *int64                    `json:"start,omitempty"`
	End        *int64                    `json:"end,omitempty"`
	Sentiment  string                    `json:"sentiment,omitempty"`
	Confidence *float64                  `json:"confidence,omitempty"`
	Speaker    string                    `json:"speaker,omitempty"`
	Words      []SentimentAnalysisResult `json:"words,omitempty"`
}

type ServiceTrackingParam

type ServiceTrackingParam struct {
	Service *string `json:"service,omitempty"`
	Params  []Param `json:"params,omitempty"`
}

type SeverityScoreSummary

type SeverityScoreSummary struct {
	Profanity *Profanity `json:"profanity,omitempty"`
}

type SignInEndpoint

type SignInEndpoint struct {
	ClickTrackingParams *string                        `json:"clickTrackingParams,omitempty"`
	CommandMetadata     *SignInEndpointCommandMetadata `json:"commandMetadata,omitempty"`
}

type SignInEndpointCommandMetadata

type SignInEndpointCommandMetadata struct {
	WebCommandMetadata *WebCommandMetadata `json:"webCommandMetadata,omitempty"`
}

type SignalServiceEndpoint

type SignalServiceEndpoint struct {
	Signal  *string                       `json:"signal,omitempty"`
	Actions []SignalServiceEndpointAction `json:"actions,omitempty"`
}

type SignalServiceEndpointAction

type SignalServiceEndpointAction struct {
	ClickTrackingParams *string          `json:"clickTrackingParams,omitempty"`
	OpenPopupAction     *OpenPopupAction `json:"openPopupAction,omitempty"`
}

type Storyboards

type Storyboards struct {
	PlayerStoryboardSpecRenderer *PlayerStoryboardSpecRenderer `json:"playerStoryboardSpecRenderer,omitempty"`
}

type StreamSelectionConfig

type StreamSelectionConfig struct {
	MaxBitrate *string `json:"maxBitrate,omitempty"`
}

type StreamingData

type StreamingData struct {
	ExpiresInSeconds *string  `json:"expiresInSeconds,omitempty"`
	Formats          []Format `json:"formats,omitempty"`
	AdaptiveFormats  []Format `json:"adaptiveFormats,omitempty"`
}

type SubscribeAccessibilityClass

type SubscribeAccessibilityClass struct {
	AccessibilityData *AccessibilityDataClass `json:"accessibilityData,omitempty"`
}

type SubscribeButton

type SubscribeButton struct {
	SubscribeButtonRenderer *SubscribeButtonRenderer `json:"subscribeButtonRenderer,omitempty"`
}

type SubscribeButtonRenderer

type SubscribeButtonRenderer struct {
	ButtonText               *ButtonText                  `json:"buttonText,omitempty"`
	Subscribed               *bool                        `json:"subscribed,omitempty"`
	Enabled                  *bool                        `json:"enabled,omitempty"`
	Type                     *string                      `json:"type,omitempty"`
	ChannelID                *string                      `json:"channelId,omitempty"`
	ShowPreferences          *bool                        `json:"showPreferences,omitempty"`
	SubscribedButtonText     *ButtonText                  `json:"subscribedButtonText,omitempty"`
	UnsubscribedButtonText   *ButtonText                  `json:"unsubscribedButtonText,omitempty"`
	TrackingParams           *string                      `json:"trackingParams,omitempty"`
	UnsubscribeButtonText    *ButtonText                  `json:"unsubscribeButtonText,omitempty"`
	ServiceEndpoints         []SubscribeCommand           `json:"serviceEndpoints,omitempty"`
	SubscribeAccessibility   *SubscribeAccessibilityClass `json:"subscribeAccessibility,omitempty"`
	UnsubscribeAccessibility *SubscribeAccessibilityClass `json:"unsubscribeAccessibility,omitempty"`
	SignInEndpoint           *SignInEndpoint              `json:"signInEndpoint,omitempty"`
}

type SubscribeCommand

type SubscribeCommand struct {
	ClickTrackingParams   *string                          `json:"clickTrackingParams,omitempty"`
	CommandMetadata       *SubscribeCommandCommandMetadata `json:"commandMetadata,omitempty"`
	SubscribeEndpoint     *SubscribeEndpoint               `json:"subscribeEndpoint,omitempty"`
	SignalServiceEndpoint *SignalServiceEndpoint           `json:"signalServiceEndpoint,omitempty"`
}

type SubscribeCommandCommandMetadata

type SubscribeCommandCommandMetadata struct {
	WebCommandMetadata *FluffyWebCommandMetadata `json:"webCommandMetadata,omitempty"`
}

type SubscribeEndpoint

type SubscribeEndpoint struct {
	ChannelIDS []string `json:"channelIds,omitempty"`
	Params     *string  `json:"params,omitempty"`
}

type Summary

type Summary struct {
	Profanity *float64 `json:"profanity,omitempty"`
	Nsfw      *float64 `json:"nsfw,omitempty"`
}

type ThumbnailElement

type ThumbnailElement struct {
	URL    *string `json:"url,omitempty"`
	Width  *int64  `json:"width,omitempty"`
	Height *int64  `json:"height,omitempty"`
}

type ThumbnailOverlay

type ThumbnailOverlay struct {
	ThumbnailOverlayTimeStatusRenderer *ThumbnailOverlayTimeStatusRenderer `json:"thumbnailOverlayTimeStatusRenderer,omitempty"`
}

type ThumbnailOverlayTimeStatusRenderer

type ThumbnailOverlayTimeStatusRenderer struct {
	Text  *Title  `json:"text,omitempty"`
	Style *string `json:"style,omitempty"`
}

type ThumbnailThumbnail

type ThumbnailThumbnail struct {
	URL    *string `json:"url,omitempty"`
	Width  *int64  `json:"width,omitempty"`
	Height *int64  `json:"height,omitempty"`
}

type Timestamp

type Timestamp struct {
	Start *int64 `json:"start,omitempty"`
	End   *int64 `json:"end,omitempty"`
}

type TimestampR

type TimestampR struct {
	Seconds *string `json:"seconds,omitempty"`
	Nanos   *int64  `json:"nanos,omitempty"`
}

type Title

type Title struct {
	Accessibility *SubscribeAccessibilityClass `json:"accessibility,omitempty"`
	SimpleText    *string                      `json:"simpleText,omitempty"`
}

type TranscribeFlags

type TranscribeFlags struct {
	Poll bool `json:"poll"`
	Json bool `json:"json"`
}

type TranscribeParams

type TranscribeParams struct {
	RedactPiiPolicies      []string `json:"redact_pii_policies"`
	AudioURL               string   `json:"audio_url"`
	AutoChapters           bool     `json:"auto_chapters"`
	AutoHighlights         bool     `json:"auto_highlights"`
	ContentModeration      bool     `json:"content_safety"`
	DualChannel            bool     `json:"dual_channel"`
	EntityDetection        bool     `json:"entity_detection"`
	FormatText             bool     `json:"format_text"`
	LanguageDetection      bool     `json:"language_detection"`
	LanguageCode           *string  `json:"language_code,omitempty"`
	Punctuate              bool     `json:"punctuate"`
	RedactPii              bool     `json:"redact_pii"`
	SentimentAnalysis      bool     `json:"sentiment_analysis"`
	SpeakerLabels          bool     `json:"speaker_labels"`
	TopicDetection         bool     `json:"iab_categories"`
	WebhookURL             string   `json:"webhook_url,omitempty"`
	WebhookAuthHeaderName  string   `json:"webhook_auth_header_name,omitempty"`
	WebhookAuthHeaderValue string   `json:"webhook_auth_header_value,omitempty"`
}

type TranscriptResponse

type TranscriptResponse struct {
	AcousticModel            *string                   `json:"acoustic_model,omitempty"`
	AudioDuration            *int64                    `json:"audio_duration,omitempty"`
	AudioEndAt               *interface{}              `json:"audio_end_at,omitempty"`
	AudioStartFrom           *interface{}              `json:"audio_start_from,omitempty"`
	AudioURL                 *string                   `json:"audio_url,omitempty"`
	AutoChapters             *bool                     `json:"auto_chapters,omitempty"`
	AutoHighlights           *bool                     `json:"auto_highlights,omitempty"`
	AutoHighlightsResult     *AutoHighlightsResult     `json:"auto_highlights_result,omitempty"`
	BoostParam               interface{}               `json:"boost_param"`
	Chapters                 []Chapter                 `json:"chapters,omitempty"`
	ClusterID                interface{}               `json:"cluster_id"`
	Confidence               *float64                  `json:"confidence,omitempty"`
	ContentSafety            *bool                     `json:"content_safety,omitempty"`
	ContentSafetyLabels      *ContentSafetyLabels      `json:"content_safety_labels,omitempty"`
	CustomSpelling           interface{}               `json:"custom_spelling"`
	Disfluencies             *bool                     `json:"disfluencies,omitempty"`
	DualChannel              *bool                     `json:"dual_channel,omitempty"`
	Entities                 []Entity                  `json:"entities,omitempty"`
	EntityDetection          *bool                     `json:"entity_detection,omitempty"`
	Error                    *string                   `json:"error,omitempty"`
	FilterProfanity          *bool                     `json:"filter_profanity,omitempty"`
	FormatText               *bool                     `json:"format_text,omitempty"`
	IabCategories            *bool                     `json:"iab_categories,omitempty"`
	IabCategoriesResult      *IabCategoriesResult      `json:"iab_categories_result,omitempty"`
	ID                       *string                   `json:"id,omitempty"`
	LanguageCode             *string                   `json:"language_code,omitempty"`
	LanguageDetection        *bool                     `json:"language_detection,omitempty"`
	LanguageModel            *string                   `json:"language_model,omitempty"`
	Punctuate                *bool                     `json:"punctuate,omitempty"`
	RedactPii                *bool                     `json:"redact_pii,omitempty"`
	RedactPiiAudio           *bool                     `json:"redact_pii_audio,omitempty"`
	RedactPiiAudioQuality    interface{}               `json:"redact_pii_audio_quality"`
	RedactPiiPolicies        interface{}               `json:"redact_pii_policies"`
	RedactPiiSub             interface{}               `json:"redact_pii_sub"`
	SentimentAnalysis        *bool                     `json:"sentiment_analysis,omitempty"`
	SentimentAnalysisResults []SentimentAnalysisResult `json:"sentiment_analysis_results,omitempty"`
	SpeakerLabels            bool                      `json:"speaker_labels,omitempty"`
	SpeedBoost               *bool                     `json:"speed_boost,omitempty"`
	Status                   *string                   `json:"status,omitempty"`
	Text                     *string                   `json:"text,omitempty"`
	Throttled                interface{}               `json:"throttled"`
	Utterances               []SentimentAnalysisResult `json:"utterances,omitempty"`
	WebhookAuth              *bool                     `json:"webhook_auth,omitempty"`
	WebhookAuthHeaderName    interface{}               `json:"webhook_auth_header_name"`
	WebhookStatusCode        interface{}               `json:"webhook_status_code"`
	WebhookURL               interface{}               `json:"webhook_url"`
	WordBoost                []interface{}             `json:"word_boost,omitempty"`
	Words                    []SentimentAnalysisResult `json:"words,omitempty"`

	Summary       *string `json:"summary,omitempty"`
	Summarization *bool   `json:"summarization,omitempty"`
	SummaryType   *string `json:"summary_type,omitempty"`
}

type TranslationLanguage

type TranslationLanguage struct {
	LanguageCode *string      `json:"languageCode,omitempty"`
	LanguageName *Description `json:"languageName,omitempty"`
}

type URL

type URL struct {
	BaseURL *string `json:"baseUrl,omitempty"`
}

type URLEndpoint

type URLEndpoint struct {
	URL    *string `json:"url,omitempty"`
	Target *string `json:"target,omitempty"`
}

type UnsubscribeCommand

type UnsubscribeCommand struct {
	ClickTrackingParams *string                          `json:"clickTrackingParams,omitempty"`
	CommandMetadata     *SubscribeCommandCommandMetadata `json:"commandMetadata,omitempty"`
	UnsubscribeEndpoint *SubscribeEndpoint               `json:"unsubscribeEndpoint,omitempty"`
}

type UploadResponse

type UploadResponse struct {
	UploadURL string `json:"upload_url"`
}

type User

type User struct {
	LockedSafetyMode bool `json:"lockedSafetyMode"`
}

type VideoDetails

type VideoDetails struct {
	VideoID           *string     `json:"videoId,omitempty"`
	Title             *string     `json:"title,omitempty"`
	LengthSeconds     *string     `json:"lengthSeconds,omitempty"`
	ChannelID         *string     `json:"channelId,omitempty"`
	IsOwnerViewing    *bool       `json:"isOwnerViewing,omitempty"`
	ShortDescription  *string     `json:"shortDescription,omitempty"`
	IsCrawlable       *bool       `json:"isCrawlable,omitempty"`
	Thumbnail         *ImageClass `json:"thumbnail,omitempty"`
	AllowRatings      *bool       `json:"allowRatings,omitempty"`
	ViewCount         *string     `json:"viewCount,omitempty"`
	Author            *string     `json:"author,omitempty"`
	IsPrivate         *bool       `json:"isPrivate,omitempty"`
	IsUnpluggedCorpus *bool       `json:"isUnpluggedCorpus,omitempty"`
	IsLiveContent     *bool       `json:"isLiveContent,omitempty"`
	Keywords          []string    `json:"keywords,omitempty"`
}

type WatchEndpoint

type WatchEndpoint struct {
	VideoID                            *string                             `json:"videoId,omitempty"`
	WatchEndpointSupportedOnesieConfig *WatchEndpointSupportedOnesieConfig `json:"watchEndpointSupportedOnesieConfig,omitempty"`
}

type WatchEndpointSupportedOnesieConfig

type WatchEndpointSupportedOnesieConfig struct {
	Html5PlaybackOnesieConfig *Html5PlaybackOnesieConfig `json:"html5PlaybackOnesieConfig,omitempty"`
}

type WatermarkClass

type WatermarkClass struct {
	Thumbnails []ThumbnailElement `json:"thumbnails,omitempty"`
}

type WebCommandMetadata

type WebCommandMetadata struct {
	URL *string `json:"url,omitempty"`
}

type WebPlayerActionsPorting

type WebPlayerActionsPorting struct {
	GetSharePanelCommand        *GetSharePanelCommand        `json:"getSharePanelCommand,omitempty"`
	SubscribeCommand            *SubscribeCommand            `json:"subscribeCommand,omitempty"`
	UnsubscribeCommand          *UnsubscribeCommand          `json:"unsubscribeCommand,omitempty"`
	AddToWatchLaterCommand      *AddToWatchLaterCommand      `json:"addToWatchLaterCommand,omitempty"`
	RemoveFromWatchLaterCommand *RemoveFromWatchLaterCommand `json:"removeFromWatchLaterCommand,omitempty"`
}

type WebPlayerConfig

type WebPlayerConfig struct {
	WebPlayerActionsPorting *WebPlayerActionsPorting `json:"webPlayerActionsPorting,omitempty"`
}

type WebPlayerShareEntityServiceEndpoint

type WebPlayerShareEntityServiceEndpoint struct {
	SerializedShareEntity *string `json:"serializedShareEntity,omitempty"`
}

type WebResponseContextExtensionData

type WebResponseContextExtensionData struct {
	HasDecorated *bool `json:"hasDecorated,omitempty"`
}

type YoutubeBodyMetaInfo

type YoutubeBodyMetaInfo struct {
	Context         Context         `json:"context"`
	VideoID         string          `json:"videoId"`
	Params          string          `json:"params"`
	PlaybackContext PlaybackContext `json:"playbackContext"`
	RacyCheckOk     bool            `json:"racyCheckOk"`
	ContentCheckOk  bool            `json:"contentCheckOk"`
}

type YoutubeMetaInfo

type YoutubeMetaInfo struct {
	AdPlacements      []AdPlacement      `json:"adPlacements,omitempty"`
	Annotations       []Annotation       `json:"annotations,omitempty"`
	Attestation       *Attestation       `json:"attestation,omitempty"`
	Captions          *Captions          `json:"captions,omitempty"`
	Endscreen         *Endscreen         `json:"endscreen,omitempty"`
	FrameworkUpdates  *FrameworkUpdates  `json:"frameworkUpdates,omitempty"`
	Microformat       *Microformat       `json:"microformat,omitempty"`
	PlayabilityStatus *PlayabilityStatus `json:"playabilityStatus,omitempty"`
	PlaybackTracking  *PlaybackTracking  `json:"playbackTracking,omitempty"`
	PlayerAds         []PlayerAd         `json:"playerAds,omitempty"`
	PlayerConfig      *PlayerConfig      `json:"playerConfig,omitempty"`
	ResponseContext   *ResponseContext   `json:"responseContext,omitempty"`
	Storyboards       *Storyboards       `json:"storyboards,omitempty"`
	StreamingData     *StreamingData     `json:"streamingData,omitempty"`
	TrackingParams    *string            `json:"trackingParams,omitempty"`
	VideoDetails      *VideoDetails      `json:"videoDetails,omitempty"`
}

func QueryYoutube

func QueryYoutube(body io.Reader) YoutubeMetaInfo

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL