transcodely 0.3.9__py3-none-any.whl → 0.3.11__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
transcodely/__init__.py CHANGED
@@ -68,6 +68,7 @@ from .types import (
68
68
  HDRConfig,
69
69
  HLSConfig,
70
70
  IngestRule,
71
+ InsightsOptions,
71
72
  Invoice,
72
73
  InvoiceLineItem,
73
74
  InvoiceLineType,
@@ -94,6 +95,9 @@ from .types import (
94
95
  SubtitleTrack,
95
96
  ThumbnailResult,
96
97
  ThumbnailSpec,
98
+ TranscriptInsights,
99
+ TranscriptOptions,
100
+ TranscriptRendition,
97
101
  User,
98
102
  UserWithOrganizations,
99
103
  Video,
@@ -154,6 +158,7 @@ __all__ = [
154
158
  "HDRConfig",
155
159
  "HLSConfig",
156
160
  "IngestRule",
161
+ "InsightsOptions",
157
162
  "InvalidRequestError",
158
163
  "Invoice",
159
164
  "InvoiceLineItem",
@@ -189,6 +194,9 @@ __all__ = [
189
194
  "ThumbnailSpec",
190
195
  "Transcodely",
191
196
  "TranscodelyError",
197
+ "TranscriptInsights",
198
+ "TranscriptOptions",
199
+ "TranscriptRendition",
192
200
  "User",
193
201
  "UserWithOrganizations",
194
202
  "Video",
@@ -152,3 +152,20 @@ class Videos:
152
152
  """
153
153
  req = fill_from_dict(video_pb2.ListTopVideosRequest(), kwargs)
154
154
  return self._t.unary(_SERVICE, "ListTopVideos", req, video_pb2.ListTopVideosResponse())
155
+
156
+ def get_seo_markup(self, **kwargs: Any) -> video_pb2.GetSeoMarkupResponse:
157
+ """Ready-to-paste SEO markup for a hosted video, built for YOUR watch page.
158
+
159
+ Pass ``video_id`` and ``watch_url`` (required; the absolute ``https://``
160
+ URL of the page that shows the video), plus optional ``deep_link_param``
161
+ (query parameter your page reads to start at a time, default ``"t"``)
162
+ and ``language`` (ISO 639-2, when the video has several transcripts).
163
+ Returns the full ``GetSeoMarkupResponse``: ``.json_ld`` (schema.org
164
+ VideoObject, with chapter Clip key moments when insights are ready),
165
+ ``.sitemap_entry`` (a video-sitemap ``<url>`` entry) and
166
+ ``.html_fragment`` (server-renderable summary, key points, chapter links
167
+ and the full transcript). Every string is escaped for its context;
168
+ paste it as-is.
169
+ """
170
+ req = fill_from_dict(video_pb2.GetSeoMarkupRequest(), kwargs)
171
+ return self._t.unary(_SERVICE, "GetSeoMarkup", req, video_pb2.GetSeoMarkupResponse())
transcodely/types.py CHANGED
@@ -241,6 +241,7 @@ from transcodely.v1.job_pb2 import (
241
241
  OutputReportAudio,
242
242
  OutputReportColor,
243
243
  OutputReportContentAware,
244
+ OutputReportContentAwareProbe,
244
245
  OutputReportMismatch,
245
246
  OutputReportVerdict,
246
247
  OutputReportVideo,
@@ -350,10 +351,20 @@ from transcodely.v1.subtitles_pb2 import (
350
351
  BurnInStyle,
351
352
  ChapterPoint,
352
353
  ChapterResult,
354
+ InsightsHighlight,
355
+ InsightsOptions,
356
+ InsightsQuestion,
357
+ InsightsStatus,
358
+ InsightsTerm,
353
359
  SubtitleFormat,
354
360
  SubtitleOperation,
355
361
  SubtitleResult,
356
362
  SubtitleTrack,
363
+ TranscriptFormat,
364
+ TranscriptInsights,
365
+ TranscriptOptions,
366
+ TranscriptRendition,
367
+ TranscriptStyle,
357
368
  )
358
369
  from transcodely.v1.thumbnails_pb2 import (
359
370
  ThumbnailFormat,
@@ -393,6 +404,8 @@ from transcodely.v1.video_pb2 import (
393
404
  CreateUploadResponse,
394
405
  DailyUsage,
395
406
  DeleteVideoRequest,
407
+ GetSeoMarkupRequest,
408
+ GetSeoMarkupResponse,
396
409
  GetStatsRequest,
397
410
  GetStatsResponse,
398
411
  GetUploadPartUrlsRequest,
@@ -588,6 +601,8 @@ __all__ = [
588
601
  "GetPresetBySlugResponse",
589
602
  "GetPresetRequest",
590
603
  "GetPresetResponse",
604
+ "GetSeoMarkupRequest",
605
+ "GetSeoMarkupResponse",
591
606
  "GetSpendRequest",
592
607
  "GetSpendResponse",
593
608
  "GetStatsRequest",
@@ -620,6 +635,11 @@ __all__ = [
620
635
  "IngestRuleAction",
621
636
  "IngestRuleFilters",
622
637
  "InputMetadata",
638
+ "InsightsHighlight",
639
+ "InsightsOptions",
640
+ "InsightsQuestion",
641
+ "InsightsStatus",
642
+ "InsightsTerm",
623
643
  "Invoice",
624
644
  "InvoiceLineItem",
625
645
  "InvoiceLineType",
@@ -678,6 +698,7 @@ __all__ = [
678
698
  "OutputReportAudio",
679
699
  "OutputReportColor",
680
700
  "OutputReportContentAware",
701
+ "OutputReportContentAwareProbe",
681
702
  "OutputReportMismatch",
682
703
  "OutputReportVerdict",
683
704
  "OutputReportVideo",
@@ -732,6 +753,11 @@ __all__ = [
732
753
  "ThumbnailSpec",
733
754
  "ToneMapping",
734
755
  "TopVideo",
756
+ "TranscriptFormat",
757
+ "TranscriptInsights",
758
+ "TranscriptOptions",
759
+ "TranscriptRendition",
760
+ "TranscriptStyle",
735
761
  "TrustTier",
736
762
  "UpdateAppRequest",
737
763
  "UpdateAppResponse",
transcodely/v1/job_pb2.py CHANGED
@@ -40,7 +40,7 @@ from transcodely.v1 import hdr_pb2 as transcodely_dot_v1_dot_hdr__pb2
40
40
  from transcodely.v1 import content_aware_pb2 as transcodely_dot_v1_dot_content__aware__pb2
41
41
 
42
42
 
43
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18transcodely/v1/job.proto\x12\x0etranscodely.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1btranscodely/v1/common.proto\x1a\x1atranscodely/v1/media.proto\x1a\x1ftranscodely/v1/codec_h264.proto\x1a\x1ftranscodely/v1/codec_h265.proto\x1a\x1etranscodely/v1/codec_vp9.proto\x1a\x1etranscodely/v1/codec_av1.proto\x1a\x1btranscodely/v1/origin.proto\x1a\x1etranscodely/v1/streaming.proto\x1a\x1ftranscodely/v1/thumbnails.proto\x1a\x1etranscodely/v1/subtitles.proto\x1a\x1etranscodely/v1/watermark.proto\x1a\x18transcodely/v1/drm.proto\x1a\x18transcodely/v1/hdr.proto\x1a\"transcodely/v1/content_aware.proto\"\xe9\x01\n\x10\x41udioTrackConfig\x12\x30\n\x08language\x18\x01 \x01(\tB\x14\xbaH\x11r\x0c\x32\n^[a-z]{3}$\xc8\x01\x01R\x08language\x12\"\n\x05label\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x18@H\x00R\x05label\x88\x01\x01\x12\x31\n\x0csource_track\x18\x03 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18\x0f(\x00H\x01R\x0bsourceTrack\x88\x01\x01\x12\"\n\nis_default\x18\x04 \x01(\x08H\x02R\tisDefault\x88\x01\x01\x42\x08\n\x06_labelB\x0f\n\r_source_trackB\r\n\x0b_is_default\"\x94\x06\n\x0cVideoVariant\x12=\n\x05\x63odec\x18\x01 \x01(\x0e\x32\x1a.transcodely.v1.VideoCodecB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\x05\x63odec\x12\x44\n\nresolution\x18\x02 \x01(\x0e\x32\x1a.transcodely.v1.ResolutionB\x08\xbaH\x05\x82\x01\x02\x10\x01R\nresolution\x12?\n\x07quality\x18\x03 \x01(\x0e\x32\x1b.transcodely.v1.QualityTierB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07quality\x12-\n\tframerate\x18\x04 \x01(\x05\x42\n\xbaH\x07\x1a\x05\x18\xf0\x01(\x00H\x00R\tframerate\x88\x01\x01\x12&\n\x05width\x18\x05 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\x80<(\x80\x01H\x01R\x05width\x88\x01\x01\x12(\n\x06height\x18\x06 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\xe0!(\x80\x01H\x02R\x06height\x88\x01\x01\x12*\n\x07\x62itrate\x18\x07 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\x80\xd3\x0e(dH\x03R\x07\x62itrate\x88\x01\x01\x12\x34\n\x04h264\x18\n \x01(\x0b\x32\x1b.transcodely.v1.H264OptionsH\x04R\x04h264\x88\x01\x01\x12\x34\n\x04h265\x18\x0b \x01(\x0b\x32\x1b.transcodely.v1.H265OptionsH\x05R\x04h265\x88\x01\x01\x12\x31\n\x03vp9\x18\x0c \x01(\x0b\x32\x1a.transcodely.v1.VP9OptionsH\x06R\x03vp9\x88\x01\x01\x12\x31\n\x03\x61v1\x18\r \x01(\x0b\x32\x1a.transcodely.v1.AV1OptionsH\x07R\x03\x61v1\x88\x01\x01\x12\x30\n\x03hdr\x18\x0e \x01(\x0b\x32\x19.transcodely.v1.HDRConfigH\x08R\x03hdr\x88\x01\x01\x42\x0c\n\n_framerateB\x08\n\x06_widthB\t\n\x07_heightB\n\n\x08_bitrateB\x07\n\x05_h264B\x07\n\x05_h265B\x06\n\x04_vp9B\x06\n\x04_av1B\x06\n\x04_hdrR\x0ch264_optionsR\x0ch265_optionsR\x0bvp9_optionsR\x0b\x61v1_options\"\xba\x03\n\tHLSConfig\x12:\n\x08manifest\x18\x01 \x01(\tB\x19\xbaH\x16r\x14\x18@2\x10^[a-zA-Z0-9_-]+$H\x00R\x08manifest\x88\x01\x01\x12Q\n\x0esegment_format\x18\x02 \x01(\x0e\x32 .transcodely.v1.HLSSegmentFormatB\x08\xbaH\x05\x82\x01\x02\x10\x01R\rsegmentFormat\x12N\n\rplaylist_type\x18\x03 \x01(\x0e\x32\x1f.transcodely.v1.HLSPlaylistTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0cplaylistType\x12\xac\x01\n\x0fvariant_pattern\x18\x04 \x01(\tB~\xbaH{r\x18\x18\x80\x01\x32\x13^[a-zA-Z0-9_.{}-]+$\xba\x01^\n\x1fhls_config.variant_pattern_safe\x12%variant_pattern must not contain `..`\x1a\x14!this.contains(\'..\')H\x01R\x0evariantPattern\x88\x01\x01\x42\x0b\n\t_manifestB\x12\n\x10_variant_pattern\"U\n\nDASHConfig\x12:\n\x08manifest\x18\x01 \x01(\tB\x19\xbaH\x16r\x14\x18@2\x10^[a-zA-Z0-9_-]+$H\x00R\x08manifest\x88\x01\x01\x42\x0b\n\t_manifest\"\xd1\x01\n\rSegmentConfig\x12*\n\x08\x64uration\x18\x01 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18\x1e(\x01H\x00R\x08\x64uration\x88\x01\x01\x12O\n\rgop_alignment\x18\x02 \x01(\x0e\x32 .transcodely.v1.GOPAlignmentModeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0cgopAlignment\x12)\n\x08gop_size\x18\x03 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18\n(\x01H\x01R\x07gopSize\x88\x01\x01\x42\x0b\n\t_durationB\x0b\n\t_gop_size\"\xd5\x14\n\nOutputSpec\x12:\n\x04type\x18\x01 \x01(\x0e\x32\x1c.transcodely.v1.OutputFormatB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12<\n\x05video\x18\x02 \x03(\x0b\x32\x1c.transcodely.v1.VideoVariantB\x08\xbaH\x05\x92\x01\x02\x10\x14R\x05video\x12@\n\x05\x61udio\x18\x03 \x03(\x0b\x32 .transcodely.v1.AudioTrackConfigB\x08\xbaH\x05\x92\x01\x02\x10\x08R\x05\x61udio\x12\x30\n\x03hls\x18\x04 \x01(\x0b\x32\x19.transcodely.v1.HLSConfigH\x00R\x03hls\x88\x01\x01\x12\x33\n\x04\x64\x61sh\x18\x05 \x01(\x0b\x32\x1a.transcodely.v1.DASHConfigH\x01R\x04\x64\x61sh\x88\x01\x01\x12>\n\x08segments\x18\x06 \x01(\x0b\x32\x1d.transcodely.v1.SegmentConfigH\x02R\x08segments\x88\x01\x01\x12\xce\x01\n\rpath_template\x18\x07 \x01(\tB\xa3\x01\xbaH\x9f\x01r\x03\x18\x80\x04\xba\x01\x96\x01\n\x1eoutput_spec.path_template_safe\x12\x35path_template must not start with `/` or contain `..`\x1a=this == \'\' || (!this.startsWith(\'/\') && !this.contains(\'..\'))H\x03R\x0cpathTemplate\x88\x01\x01\x12\'\n\x06preset\x18\n \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\x80\x01H\x04R\x06preset\x88\x01\x01\x12P\n\x0fsubtitle_tracks\x18\x0b \x03(\x0b\x32\x1d.transcodely.v1.SubtitleTrackB\x08\xbaH\x05\x92\x01\x02\x10\x08R\x0esubtitleTracks\x12\x30\n\x03\x64rm\x18\x0c \x01(\x0b\x32\x19.transcodely.v1.DRMConfigH\x05R\x03\x64rm\x88\x01\x01\x12L\n\rcontent_aware\x18\r \x01(\x0b\x32\".transcodely.v1.ContentAwareConfigH\x06R\x0c\x63ontentAware\x88\x01\x01\x12<\n\rencoding_mode\x18\x0e \x01(\tB\x12\xbaH\x0fr\rR\x05\x66ixedR\x04\x61utoH\x07R\x0c\x65ncodingMode\x88\x01\x01\x12\x45\n\x17\x65\x66\x66\x65\x63tive_path_template\x18\x0f \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x04H\x08R\x15\x65\x66\x66\x65\x63tivePathTemplate\x88\x01\x01\x12(\n\rdisable_audio\x18\x10 \x01(\x08H\tR\x0c\x64isableAudio\x88\x01\x01\x12\x42\n\twatermark\x18\x11 \x01(\x0b\x32\x1f.transcodely.v1.WatermarkConfigH\nR\twatermark\x88\x01\x01:\xea\n\xbaH\xe6\n\x1a\xd7\x02\n\x1coutput_spec.preset_or_inline\x12\x8e\x01\x65ither preset must be specified, or type with video[] array must be provided (or a captions-only output with extract/generate subtitle tracks)\x1a\xa5\x01has(this.preset) || (this.type != 0 && size(this.video) > 0) || (size(this.subtitle_tracks) > 0 && this.subtitle_tracks.all(t, t.operation == 4 || t.operation == 5))\x1a\xdf\x01\n\x1aoutput_spec.video_required\x12,video[] array must have at least one variant\x1a\x92\x01has(this.preset) || size(this.video) >= 1 || (size(this.subtitle_tracks) > 0 && this.subtitle_tracks.all(t, t.operation == 4 || t.operation == 5))\x1a\xb2\x01\n#output_spec.audio_require_streaming\x12>audio is only valid for HLS, DASH, or ADAPTIVE streaming types\x1aKsize(this.audio) == 0 || this.type == 5 || this.type == 6 || this.type == 7\x1a\x85\x01\n\x1boutput_spec.hls_config_type\x12\x32hls config is only valid for HLS or ADAPTIVE types\x1a\x32!has(this.hls) || this.type == 5 || this.type == 7\x1a\x89\x01\n\x1coutput_spec.dash_config_type\x12\x34\x64\x61sh config is only valid for DASH or ADAPTIVE types\x1a\x33!has(this.dash) || this.type == 6 || this.type == 7\x1a\xad\x01\n output_spec.segments_config_type\x12>segments config is only valid for HLS, DASH, or ADAPTIVE types\x1aI!has(this.segments) || this.type == 5 || this.type == 6 || this.type == 7\x1a\xae\x01\n#output_spec.disable_audio_no_tracks\x12=disable_audio cannot be combined with explicit audio[] tracks\x1aH!has(this.disable_audio) || !this.disable_audio || size(this.audio) == 0B\x06\n\x04_hlsB\x07\n\x05_dashB\x0b\n\t_segmentsB\x10\n\x0e_path_templateB\t\n\x07_presetB\x06\n\x04_drmB\x10\n\x0e_content_awareB\x10\n\x0e_encoding_modeB\x1a\n\x18_effective_path_templateB\x10\n\x0e_disable_audioB\x0c\n\n_watermarkJ\x04\x08\x08\x10\tJ\x04\x08\t\x10\nR\tstreaming\"\xc7\x03\n\x0fPricingSnapshot\x12\x1d\n\nbase_price\x18\x01 \x01(\x01R\tbasePrice\x12)\n\x10\x63odec_multiplier\x18\x02 \x01(\x01R\x0f\x63odecMultiplier\x12\x33\n\x15resolution_multiplier\x18\x03 \x01(\x01R\x14resolutionMultiplier\x12\x31\n\x14\x66ramerate_multiplier\x18\x04 \x01(\x01R\x13\x66ramerateMultiplier\x12-\n\x12quality_multiplier\x18\x05 \x01(\x01R\x11qualityMultiplier\x12\x43\n\x0fresolution_tier\x18\x06 \x01(\x0e\x32\x1a.transcodely.v1.ResolutionR\x0eresolutionTier\x12)\n\x10\x61\x63tual_framerate\x18\x07 \x01(\x01R\x0f\x61\x63tualFramerate\x12$\n\x0bpixel_count\x18\x08 \x01(\x03H\x00R\npixelCount\x88\x01\x01\x12-\n\x12\x66\x65\x61ture_multiplier\x18\t \x01(\x01R\x11\x66\x65\x61tureMultiplierB\x0e\n\x0c_pixel_count\"\x9d\x07\n\x16VariantPricingSnapshot\x12\x14\n\x05index\x18\x01 \x01(\x05R\x05index\x12\x30\n\x05\x63odec\x18\x02 \x01(\x0e\x32\x1a.transcodely.v1.VideoCodecR\x05\x63odec\x12:\n\nresolution\x18\x03 \x01(\x0e\x32\x1a.transcodely.v1.ResolutionR\nresolution\x12\x1c\n\tframerate\x18\x04 \x01(\x05R\tframerate\x12\x35\n\x07quality\x18\x05 \x01(\x0e\x32\x1b.transcodely.v1.QualityTierR\x07quality\x12\x19\n\x05width\x18\x06 \x01(\x05H\x00R\x05width\x88\x01\x01\x12\x1b\n\x06height\x18\x07 \x01(\x05H\x01R\x06height\x88\x01\x01\x12\x1d\n\nbase_price\x18\n \x01(\x01R\tbasePrice\x12)\n\x10\x63odec_multiplier\x18\x0b \x01(\x01R\x0f\x63odecMultiplier\x12\x33\n\x15resolution_multiplier\x18\x0c \x01(\x01R\x14resolutionMultiplier\x12\x31\n\x14\x66ramerate_multiplier\x18\r \x01(\x01R\x13\x66ramerateMultiplier\x12-\n\x12quality_multiplier\x18\x0e \x01(\x01R\x11qualityMultiplier\x12\x43\n\x0fresolution_tier\x18\x0f \x01(\x0e\x32\x1a.transcodely.v1.ResolutionR\x0eresolutionTier\x12)\n\x10\x61\x63tual_framerate\x18\x10 \x01(\x01R\x0f\x61\x63tualFramerate\x12$\n\x0bpixel_count\x18\x11 \x01(\x03H\x02R\npixelCount\x88\x01\x01\x12*\n\x0e\x65stimated_cost\x18\x12 \x01(\x01H\x03R\restimatedCost\x88\x01\x01\x12$\n\x0b\x61\x63tual_cost\x18\x13 \x01(\x01H\x04R\nactualCost\x88\x01\x01\x12\x16\n\x06status\x18\x14 \x01(\tR\x06status\x12\x1a\n\x08progress\x18\x15 \x01(\x05R\x08progress\x12-\n\x12\x66\x65\x61ture_multiplier\x18\x16 \x01(\x01R\x11\x66\x65\x61tureMultiplierB\x08\n\x06_widthB\t\n\x07_heightB\x0e\n\x0c_pixel_countB\x11\n\x0f_estimated_costB\x0e\n\x0c_actual_cost\"\xb4\x0b\n\tJobOutput\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12.\n\x04spec\x18\x02 \x01(\x0b\x32\x1a.transcodely.v1.OutputSpecR\x04spec\x12\x34\n\x06status\x18\x03 \x01(\x0e\x32\x1c.transcodely.v1.OutputStatusR\x06status\x12\x1a\n\x08progress\x18\x04 \x01(\x05R\x08progress\x12\"\n\noutput_url\x18\x05 \x01(\tH\x00R\toutputUrl\x88\x01\x01\x12/\n\x11output_size_bytes\x18\x06 \x01(\x03H\x01R\x0foutputSizeBytes\x88\x01\x01\x12.\n\x10\x64uration_seconds\x18\x07 \x01(\x03H\x02R\x0f\x64urationSeconds\x88\x01\x01\x12\x39\n\x07pricing\x18\x08 \x01(\x0b\x32\x1f.transcodely.v1.PricingSnapshotR\x07pricing\x12\x41\n\x1a\x65stimated_duration_seconds\x18\t \x01(\x03H\x03R\x18\x65stimatedDurationSeconds\x88\x01\x01\x12*\n\x0e\x65stimated_cost\x18\n \x01(\x01H\x04R\restimatedCost\x88\x01\x01\x12$\n\x0b\x61\x63tual_cost\x18\x0b \x01(\x01H\x05R\nactualCost\x88\x01\x01\x12\"\n\nerror_code\x18\x0c \x01(\tH\x06R\terrorCode\x88\x01\x01\x12(\n\rerror_message\x18\r \x01(\tH\x07R\x0c\x65rrorMessage\x88\x01\x01\x12>\n\nstarted_at\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x08R\tstartedAt\x88\x01\x01\x12\x42\n\x0c\x63ompleted_at\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampH\tR\x0b\x63ompletedAt\x88\x01\x01\x12 \n\tpreset_id\x18\x10 \x01(\tH\nR\x08presetId\x88\x01\x01\x12$\n\x0bpreset_slug\x18\x11 \x01(\tH\x0bR\npresetSlug\x88\x01\x01\x12O\n\x0fvariant_pricing\x18\x14 \x03(\x0b\x32&.transcodely.v1.VariantPricingSnapshotR\x0evariantPricing\x12\x16\n\x06object\x18\x15 \x01(\tR\x06object\x12\x19\n\x05width\x18\x16 \x01(\x05H\x0cR\x05width\x88\x01\x01\x12\x1b\n\x06height\x18\x17 \x01(\x05H\rR\x06height\x88\x01\x01\x12\x35\n\x14\x61verage_bitrate_kbps\x18\x18 \x01(\x05H\x0eR\x12\x61verageBitrateKbps\x88\x01\x01\x12L\n\x0fvariant_results\x18\x19 \x03(\x0b\x32#.transcodely.v1.OutputVariantResultR\x0evariantResults\x12\"\n\nsigned_url\x18\x1a \x01(\tH\x0fR\tsignedUrl\x88\x01\x01\x12\x39\n\x06report\x18\x1b \x01(\x0b\x32\x1c.transcodely.v1.OutputReportH\x10R\x06report\x88\x01\x01\x42\r\n\x0b_output_urlB\x14\n\x12_output_size_bytesB\x13\n\x11_duration_secondsB\x1d\n\x1b_estimated_duration_secondsB\x11\n\x0f_estimated_costB\x0e\n\x0c_actual_costB\r\n\x0b_error_codeB\x10\n\x0e_error_messageB\r\n\x0b_started_atB\x0f\n\r_completed_atB\x0c\n\n_preset_idB\x0e\n\x0c_preset_slugB\x08\n\x06_widthB\t\n\x07_heightB\x17\n\x15_average_bitrate_kbpsB\r\n\x0b_signed_urlB\t\n\x07_report\"\xd2\x03\n\x0cOutputReport\x12\x1c\n\tcontainer\x18\x01 \x01(\tR\tcontainer\x12<\n\x05video\x18\x02 \x01(\x0b\x32!.transcodely.v1.OutputReportVideoH\x00R\x05video\x88\x01\x01\x12\x37\n\x05\x61udio\x18\x03 \x03(\x0b\x32!.transcodely.v1.OutputReportAudioR\x05\x61udio\x12.\n\x10\x64uration_seconds\x18\x04 \x01(\x01H\x01R\x0f\x64urationSeconds\x88\x01\x01\x12=\n\x07verdict\x18\x05 \x01(\x0b\x32#.transcodely.v1.OutputReportVerdictR\x07verdict\x12\x39\n\nchecked_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcheckedAt\x12R\n\rcontent_aware\x18\x07 \x01(\x0b\x32(.transcodely.v1.OutputReportContentAwareH\x02R\x0c\x63ontentAware\x88\x01\x01\x42\x08\n\x06_videoB\x13\n\x11_duration_secondsB\x10\n\x0e_content_aware\"\xd3\x01\n\x18OutputReportContentAware\x12\x12\n\x04mode\x18\x01 \x01(\tR\x04mode\x12$\n\x0bvmaf_target\x18\x02 \x01(\x01H\x00R\nvmafTarget\x88\x01\x01\x12(\n\rvmaf_achieved\x18\x03 \x01(\x01H\x01R\x0cvmafAchieved\x88\x01\x01\x12\"\n\ncrf_chosen\x18\x04 \x01(\x05H\x02R\tcrfChosen\x88\x01\x01\x42\x0e\n\x0c_vmaf_targetB\x10\n\x0e_vmaf_achievedB\r\n\x0b_crf_chosen\"\xa4\x03\n\x11OutputReportVideo\x12\x14\n\x05\x63odec\x18\x01 \x01(\tR\x05\x63odec\x12\x1d\n\x07profile\x18\x02 \x01(\tH\x00R\x07profile\x88\x01\x01\x12\x19\n\x05level\x18\x03 \x01(\tH\x01R\x05level\x88\x01\x01\x12\x1c\n\x07pix_fmt\x18\x04 \x01(\tH\x02R\x06pixFmt\x88\x01\x01\x12\x14\n\x05width\x18\x05 \x01(\x05R\x05width\x12\x16\n\x06height\x18\x06 \x01(\x05R\x06height\x12\"\n\nframe_rate\x18\x07 \x01(\x01H\x03R\tframeRate\x88\x01\x01\x12&\n\x0c\x62itrate_kbps\x18\x08 \x01(\x05H\x04R\x0b\x62itrateKbps\x88\x01\x01\x12<\n\x05\x63olor\x18\t \x01(\x0b\x32!.transcodely.v1.OutputReportColorH\x05R\x05\x63olor\x88\x01\x01\x12\x1d\n\nhdr_format\x18\n \x01(\tR\thdrFormatB\n\n\x08_profileB\x08\n\x06_levelB\n\n\x08_pix_fmtB\r\n\x0b_frame_rateB\x0f\n\r_bitrate_kbpsB\x08\n\x06_color\"\xbf\x01\n\x11OutputReportColor\x12!\n\tprimaries\x18\x01 \x01(\tH\x00R\tprimaries\x88\x01\x01\x12\x1f\n\x08transfer\x18\x02 \x01(\tH\x01R\x08transfer\x88\x01\x01\x12\x1b\n\x06matrix\x18\x03 \x01(\tH\x02R\x06matrix\x88\x01\x01\x12\x19\n\x05range\x18\x04 \x01(\tH\x03R\x05range\x88\x01\x01\x42\x0c\n\n_primariesB\x0b\n\t_transferB\t\n\x07_matrixB\x08\n\x06_range\"\xfc\x01\n\x11OutputReportAudio\x12\x14\n\x05\x63odec\x18\x01 \x01(\tR\x05\x63odec\x12\x1f\n\x08\x63hannels\x18\x02 \x01(\x05H\x00R\x08\x63hannels\x88\x01\x01\x12)\n\x0esample_rate_hz\x18\x03 \x01(\x05H\x01R\x0csampleRateHz\x88\x01\x01\x12&\n\x0c\x62itrate_kbps\x18\x04 \x01(\x05H\x02R\x0b\x62itrateKbps\x88\x01\x01\x12\x1f\n\x08language\x18\x05 \x01(\tH\x03R\x08language\x88\x01\x01\x42\x0b\n\t_channelsB\x11\n\x0f_sample_rate_hzB\x0f\n\r_bitrate_kbpsB\x0b\n\t_language\"\x84\x01\n\x13OutputReportVerdict\x12\'\n\x0fmatches_request\x18\x01 \x01(\x08R\x0ematchesRequest\x12\x44\n\nmismatches\x18\x02 \x03(\x0b\x32$.transcodely.v1.OutputReportMismatchR\nmismatches\"`\n\x14OutputReportMismatch\x12\x14\n\x05\x66ield\x18\x01 \x01(\tR\x05\x66ield\x12\x1a\n\x08\x65xpected\x18\x02 \x01(\tR\x08\x65xpected\x12\x16\n\x06\x61\x63tual\x18\x03 \x01(\tR\x06\x61\x63tual\"\xdc\x01\n\x13OutputVariantResult\x12\x14\n\x05index\x18\x01 \x01(\x05R\x05index\x12\x14\n\x05width\x18\x02 \x01(\x05R\x05width\x12\x16\n\x06height\x18\x03 \x01(\x05R\x06height\x12\x35\n\x14\x61verage_bitrate_kbps\x18\x04 \x01(\x05H\x00R\x12\x61verageBitrateKbps\x88\x01\x01\x12\"\n\nsize_bytes\x18\x05 \x01(\x03H\x01R\tsizeBytes\x88\x01\x01\x42\x17\n\x15_average_bitrate_kbpsB\r\n\x0b_size_bytes\"\x9c\x0c\n\x0f\x45xecutionTiming\x12$\n\x0binstance_id\x18\x01 \x01(\tH\x00R\ninstanceId\x88\x01\x01\x12(\n\rinstance_type\x18\x02 \x01(\tH\x01R\x0cinstanceType\x88\x01\x01\x12\x30\n\x11instance_location\x18\x03 \x01(\tH\x02R\x10instanceLocation\x88\x01\x01\x12\"\n\nvcpu_count\x18\x04 \x01(\x05H\x03R\tvcpuCount\x88\x01\x01\x12 \n\tmemory_mb\x18\x05 \x01(\x05H\x04R\x08memoryMb\x88\x01\x01\x12-\n\x10\x62oot_duration_ms\x18\n \x01(\x03H\x05R\x0e\x62ootDurationMs\x88\x01\x01\x12\x35\n\x14\x64ownload_duration_ms\x18\x0b \x01(\x03H\x06R\x12\x64ownloadDurationMs\x88\x01\x01\x12/\n\x11probe_duration_ms\x18\x0c \x01(\x03H\x07R\x0fprobeDurationMs\x88\x01\x01\x12\x31\n\x12\x65ncode_duration_ms\x18\r \x01(\x03H\x08R\x10\x65ncodeDurationMs\x88\x01\x01\x12\x31\n\x12upload_duration_ms\x18\x0e \x01(\x03H\tR\x10uploadDurationMs\x88\x01\x01\x12\x37\n\x15packaging_duration_ms\x18\x0f \x01(\x03H\nR\x13packagingDurationMs\x88\x01\x01\x12/\n\x11total_duration_ms\x18\x10 \x01(\x03H\x0bR\x0ftotalDurationMs\x88\x01\x01\x12*\n\x0e\x64ownload_bytes\x18\x14 \x01(\x03H\x0cR\rdownloadBytes\x88\x01\x01\x12\x33\n\x13\x64ownload_speed_mbps\x18\x15 \x01(\x01H\rR\x11\x64ownloadSpeedMbps\x88\x01\x01\x12&\n\x0cupload_bytes\x18\x16 \x01(\x03H\x0eR\x0buploadBytes\x88\x01\x01\x12/\n\x11upload_speed_mbps\x18\x17 \x01(\x01H\x0fR\x0fuploadSpeedMbps\x88\x01\x01\x12+\n\x0f\x61vg_cpu_percent\x18\x1e \x01(\x01H\x10R\ravgCpuPercent\x88\x01\x01\x12-\n\x10peak_cpu_percent\x18\x1f \x01(\x01H\x11R\x0epeakCpuPercent\x88\x01\x01\x12\'\n\ravg_memory_mb\x18 \x01(\x05H\x12R\x0b\x61vgMemoryMb\x88\x01\x01\x12)\n\x0epeak_memory_mb\x18! \x01(\x05H\x13R\x0cpeakMemoryMb\x88\x01\x01\x12$\n\x0b\x63hunk_count\x18( \x01(\x05H\x14R\nchunkCount\x88\x01\x01\x12*\n\x0e\x63hunk_strategy\x18) \x01(\tH\x15R\rchunkStrategy\x88\x01\x01\x12 \n\texit_code\x18\x32 \x01(\x05H\x16R\x08\x65xitCode\x88\x01\x01\x12$\n\x0b\x65xit_reason\x18\x33 \x01(\tH\x17R\nexitReason\x88\x01\x01\x42\x0e\n\x0c_instance_idB\x10\n\x0e_instance_typeB\x14\n\x12_instance_locationB\r\n\x0b_vcpu_countB\x0c\n\n_memory_mbB\x13\n\x11_boot_duration_msB\x17\n\x15_download_duration_msB\x14\n\x12_probe_duration_msB\x15\n\x13_encode_duration_msB\x15\n\x13_upload_duration_msB\x18\n\x16_packaging_duration_msB\x14\n\x12_total_duration_msB\x11\n\x0f_download_bytesB\x16\n\x14_download_speed_mbpsB\x0f\n\r_upload_bytesB\x14\n\x12_upload_speed_mbpsB\x12\n\x10_avg_cpu_percentB\x13\n\x11_peak_cpu_percentB\x10\n\x0e_avg_memory_mbB\x11\n\x0f_peak_memory_mbB\x0e\n\x0c_chunk_countB\x11\n\x0f_chunk_strategyB\x0c\n\n_exit_codeB\x0e\n\x0c_exit_reason\"\x98\x12\n\x03Job\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06\x61pp_id\x18\x1d \x01(\tR\x05\x61ppId\x12\x1b\n\tinput_url\x18\x02 \x01(\tR\x08inputUrl\x12\x41\n\x0cinput_origin\x18\x16 \x01(\x0b\x32\x19.transcodely.v1.OriginRefH\x00R\x0binputOrigin\x88\x01\x01\x12\x43\n\routput_origin\x18\x17 \x01(\x0b\x32\x19.transcodely.v1.OriginRefH\x01R\x0coutputOrigin\x88\x01\x01\x12\x31\n\x06status\x18\x03 \x01(\x0e\x32\x19.transcodely.v1.JobStatusR\x06status\x12\x1a\n\x08progress\x18\x04 \x01(\x05R\x08progress\x12\x37\n\x08priority\x18\x05 \x01(\x0e\x32\x1b.transcodely.v1.JobPriorityR\x08priority\x12I\n\x0einput_metadata\x18\x06 \x01(\x0b\x32\x1d.transcodely.v1.InputMetadataH\x02R\rinputMetadata\x88\x01\x01\x12\x33\n\x07outputs\x18\x07 \x03(\x0b\x32\x19.transcodely.v1.JobOutputR\x07outputs\x12\x35\n\x14total_estimated_cost\x18\x08 \x01(\x01H\x03R\x12totalEstimatedCost\x88\x01\x01\x12/\n\x11total_actual_cost\x18\t \x01(\x01H\x04R\x0ftotalActualCost\x88\x01\x01\x12\"\n\nerror_code\x18\n \x01(\tH\x05R\terrorCode\x88\x01\x01\x12(\n\rerror_message\x18\x0b \x01(\tH\x06R\x0c\x65rrorMessage\x88\x01\x01\x12$\n\x0bwebhook_url\x18\x0c \x01(\tH\x07R\nwebhookUrl\x88\x01\x01\x12=\n\x08metadata\x18\r \x03(\x0b\x32!.transcodely.v1.Job.MetadataEntryR\x08metadata\x12\x39\n\ncreated_at\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12<\n\tprobed_at\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x08R\x08probedAt\x88\x01\x01\x12>\n\nstarted_at\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\tR\tstartedAt\x88\x01\x01\x12\x42\n\x0c\x63ompleted_at\x18\x12 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\nR\x0b\x63ompletedAt\x88\x01\x01\x12#\n\rdelayed_start\x18\x13 \x01(\x08R\x0c\x64\x65layedStart\x12\x42\n\x0c\x63onfirmed_at\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x0bR\x0b\x63onfirmedAt\x88\x01\x01\x12\x1a\n\x08\x63urrency\x18\x15 \x01(\tR\x08\x63urrency\x12=\n\texecution\x18\x18 \x01(\x0b\x32\x1f.transcodely.v1.ExecutionTimingR\texecution\x12=\n\nthumbnails\x18\x19 \x03(\x0b\x32\x1d.transcodely.v1.ThumbnailSpecR\nthumbnails\x12L\n\x11thumbnail_results\x18\x1c \x03(\x0b\x32\x1f.transcodely.v1.ThumbnailResultR\x10thumbnailResults\x12I\n\x10subtitle_results\x18 \x03(\x0b\x32\x1e.transcodely.v1.SubtitleResultR\x0fsubtitleResults\x12\x35\n\x14output_path_template\x18\x1a \x01(\tH\x0cR\x12outputPathTemplate\x88\x01\x01\x12\x16\n\x06object\x18\x1b \x01(\tR\x06object\x12\x35\n\x12minimum_charge_eur\x18\x1e \x01(\x01\x42\x02\x18\x01H\rR\x10minimumChargeEur\x88\x01\x01\x12\x38\n\x16minimum_charge_applied\x18\x1f \x01(\x08\x42\x02\x18\x01R\x14minimumChargeApplied\x12*\n\x04\x66\x65\x65s\x18! \x03(\x0b\x32\x16.transcodely.v1.JobFeeR\x04\x66\x65\x65s\x12$\n\x0einput_video_id\x18\" \x01(\tR\x0cinputVideoId\x12\x46\n\x0f\x63hapter_results\x18# \x03(\x0b\x32\x1d.transcodely.v1.ChapterResultR\x0e\x63hapterResults\x12\x33\n\x04\x63lip\x18$ \x01(\x0b\x32\x1a.transcodely.v1.ClipConfigH\x0eR\x04\x63lip\x88\x01\x01\x12\x1e\n\x08video_id\x18% \x01(\tH\x0fR\x07videoId\x88\x01\x01\x12G\n\x0e\x63ost_breakdown\x18& \x01(\x0b\x32 .transcodely.v1.JobCostBreakdownR\rcostBreakdown\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0f\n\r_input_originB\x10\n\x0e_output_originB\x11\n\x0f_input_metadataB\x17\n\x15_total_estimated_costB\x14\n\x12_total_actual_costB\r\n\x0b_error_codeB\x10\n\x0e_error_messageB\x0e\n\x0c_webhook_urlB\x0c\n\n_probed_atB\r\n\x0b_started_atB\x0f\n\r_completed_atB\x0f\n\r_confirmed_atB\x17\n\x15_output_path_templateB\x15\n\x13_minimum_charge_eurB\x07\n\x05_clipB\x0b\n\t_video_id\"\xcd\x01\n\x06JobFee\x12\x19\n\x08\x66\x65\x65_type\x18\x01 \x01(\tR\x07\x66\x65\x65Type\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x12\n\x04unit\x18\x03 \x01(\tR\x04unit\x12\x1a\n\x08quantity\x18\x04 \x01(\x01R\x08quantity\x12\x12\n\x04rate\x18\x05 \x01(\x01R\x04rate\x12\x16\n\x06\x61mount\x18\x06 \x01(\x01R\x06\x61mount\x12\x1a\n\x08\x63urrency\x18\x07 \x01(\tR\x08\x63urrency\x12\x0e\n\x02id\x18\x08 \x01(\tR\x02id\"\x9e\x02\n\x0bJobCostLine\x12\x33\n\x04type\x18\x01 \x01(\x0e\x32\x1f.transcodely.v1.JobCostLineTypeR\x04type\x12!\n\x0creference_id\x18\x02 \x01(\tR\x0breferenceId\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12\x35\n\x14\x65stimated_amount_eur\x18\x04 \x01(\x01H\x00R\x12\x65stimatedAmountEur\x88\x01\x01\x12/\n\x11\x61\x63tual_amount_eur\x18\x05 \x01(\x01H\x01R\x0f\x61\x63tualAmountEur\x88\x01\x01\x42\x17\n\x15_estimated_amount_eurB\x14\n\x12_actual_amount_eur\"\xdc\x01\n\x10JobCostBreakdown\x12\x31\n\x05lines\x18\x01 \x03(\x0b\x32\x1b.transcodely.v1.JobCostLineR\x05lines\x12\x35\n\x14total_estimated_cost\x18\x02 \x01(\x01H\x00R\x12totalEstimatedCost\x88\x01\x01\x12/\n\x11total_actual_cost\x18\x03 \x01(\x01H\x01R\x0ftotalActualCost\x88\x01\x01\x42\x17\n\x15_total_estimated_costB\x14\n\x12_total_actual_cost\"\xdf\x03\n\nClipConfig\x12\x89\x01\n\rstart_seconds\x18\x01 \x01(\x01\x42\x64\xbaHa\x12\x0b)\x00\x00\x00\x00\x00\x00\x00\x00@\x01\xba\x01Q\n\x13\x63lip.start_storable\x12&start_seconds must be at most 10000000\x1a\x12this <= 10000000.0R\x0cstartSeconds\x12\x81\x01\n\x0b\x65nd_seconds\x18\x02 \x01(\x01\x42`\xbaH]\x12\x0b)\x00\x00\x00\x00\x00\x00\x00\x00@\x01\xba\x01M\n\x11\x63lip.end_storable\x12$end_seconds must be at most 10000000\x1a\x12this <= 10000000.0R\nendSeconds:\xc0\x01\xbaH\xbc\x01\x1a\xb9\x01\n\x14\x63lip.end_after_start\x12Vend_seconds must be at least 0.001s greater than start_seconds (or 0 for end of input)\x1aIthis.end_seconds == 0.0 || this.end_seconds - this.start_seconds >= 0.001\"\xd2\x10\n\x10\x43reateJobRequest\x12?\n\tinput_url\x18\x01 \x01(\tB\"\xbaH\x1fr\x1a\x18\x80\x10\x32\x15^(gs|s3|https?)://.*$\xd8\x01\x01R\x08inputUrl\x12H\n\x0finput_origin_id\x18\t \x01(\tB\x1b\xbaH\x18r\x16\x32\x14^ori_[a-zA-Z0-9_-]+$H\x00R\rinputOriginId\x88\x01\x01\x12,\n\ninput_path\x18\n \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x10H\x01R\tinputPath\x88\x01\x01\x12H\n\x0einput_video_id\x18\r \x01(\tB\x1d\xbaH\x1ar\x18\x18 2\x14^vid_[a-zA-Z0-9_-]+$H\x02R\x0cinputVideoId\x88\x01\x01\x12J\n\x10output_origin_id\x18\x0b \x01(\tB\x1b\xbaH\x18r\x16\x32\x14^ori_[a-zA-Z0-9_-]+$H\x03R\x0eoutputOriginId\x88\x01\x01\x12@\n\x07outputs\x18\x02 \x03(\x0b\x32\x1a.transcodely.v1.OutputSpecB\n\xbaH\x07\x92\x01\x04\x08\x01\x10\nR\x07outputs\x12\x41\n\x08priority\x18\x03 \x01(\x0e\x32\x1b.transcodely.v1.JobPriorityB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08priority\x12\x31\n\x0bwebhook_url\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\x18\x80\x10\x88\x01\x01H\x04R\nwebhookUrl\x88\x01\x01\x12\x36\n\x0fidempotency_key\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x05R\x0eidempotencyKey\x88\x01\x01\x12\x63\n\x08metadata\x18\x06 \x03(\x0b\x32..transcodely.v1.CreateJobRequest.MetadataEntryB\x17\xbaH\x14\x9a\x01\x11\x10\x14\"\x06r\x04\x10\x01\x18@*\x05r\x03\x18\x80\x08R\x08metadata\x12#\n\rdelayed_start\x18\x07 \x01(\x08R\x0c\x64\x65layedStart\x12G\n\nthumbnails\x18\x08 \x03(\x0b\x32\x1d.transcodely.v1.ThumbnailSpecB\x08\xbaH\x05\x92\x01\x02\x10\x05R\nthumbnails\x12\xe8\x01\n\x14output_path_template\x18\x0c \x01(\tB\xb0\x01\xbaH\xac\x01r\x03\x18\x80\x04\xba\x01\xa3\x01\n$create_job.output_path_template_safe\x12<output_path_template must not start with `/` or contain `..`\x1a=this == \'\' || (!this.startsWith(\'/\') && !this.contains(\'..\'))H\x06R\x12outputPathTemplate\x88\x01\x01\x12\x1d\n\x07managed\x18\x14 \x01(\x08H\x07R\x07managed\x88\x01\x01\x12\x37\n\x06\x61pp_id\x18\x15 \x01(\tB\x1b\xbaH\x18r\x16\x32\x14^app_[a-zA-Z0-9_-]+$H\x08R\x05\x61ppId\x88\x01\x01\x12\x33\n\x04\x63lip\x18\x16 \x01(\x0b\x32\x1a.transcodely.v1.ClipConfigH\tR\x04\x63lip\x88\x01\x01\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01:\xce\x05\xbaH\xca\x05\x1a\xf0\x02\n\x17\x63reate_job.input_source\x12Yexactly one input source must be specified: input_url, input_origin_id, or input_video_id\x1a\xf9\x01(this.input_url != \'\' && !has(this.input_origin_id) && !has(this.input_video_id)) || (this.input_url == \'\' && has(this.input_origin_id) && !has(this.input_video_id)) || (this.input_url == \'\' && !has(this.input_origin_id) && has(this.input_video_id))\x1a\x98\x01\n%create_job.input_path_requires_origin\x12;input_path can only be specified when using input_origin_id\x1a\x32!has(this.input_path) || has(this.input_origin_id)\x1a\xb9\x01\n!create_job.output_origin_required\x12\x35output_origin_id is required when managed is not true\x1a]has(this.output_origin_id) || (has(this.managed) && this.managed) || has(this.input_video_id)B\x12\n\x10_input_origin_idB\r\n\x0b_input_pathB\x11\n\x0f_input_video_idB\x13\n\x11_output_origin_idB\x0e\n\x0c_webhook_urlB\x12\n\x10_idempotency_keyB\x17\n\x15_output_path_templateB\n\n\x08_managedB\t\n\x07_app_idB\x07\n\x05_clip\"g\n\x11\x43reateJobResponse\x12%\n\x03job\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.JobR\x03job\x12\x1e\n\x08video_id\x18\x05 \x01(\tH\x00R\x07videoId\x88\x01\x01\x42\x0b\n\t_video_id\"?\n\rGetJobRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^job_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\"7\n\x0eGetJobResponse\x12%\n\x03job\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.JobR\x03job\"\xfb\x04\n\x0fListJobsRequest\x12\x36\n\x06status\x18\x01 \x01(\x0e\x32\x19.transcodely.v1.JobStatusH\x00R\x06status\x88\x01\x01\x12\x41\n\npagination\x18\x02 \x01(\x0b\x32!.transcodely.v1.PaginationRequestR\npagination\x12\x37\n\x06\x61pp_id\x18\x03 \x01(\tB\x1b\xbaH\x18r\x16\x32\x14^app_[a-zA-Z0-9_-]+$H\x01R\x05\x61ppId\x88\x01\x01\x12\x44\n\rcreated_after\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02R\x0c\x63reatedAfter\x88\x01\x01\x12\x46\n\x0e\x63reated_before\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03R\rcreatedBefore\x88\x01\x01\x12J\n\x08statuses\x18\x06 \x03(\x0e\x32\x19.transcodely.v1.JobStatusB\x13\xbaH\x10\x92\x01\r\x10\x08\x18\x01\"\x07\x82\x01\x04\x10\x01 \x00R\x08statuses\x12\x62\n\x08metadata\x18\x07 \x03(\x0b\x32-.transcodely.v1.ListJobsRequest.MetadataEntryB\x17\xbaH\x14\x9a\x01\x11\x10\n\"\x06r\x04\x10\x01\x18@*\x05r\x03\x18\x80\x08R\x08metadata\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\t\n\x07_statusB\t\n\x07_app_idB\x10\n\x0e_created_afterB\x11\n\x0f_created_before\"\x7f\n\x10ListJobsResponse\x12\'\n\x04jobs\x18\x01 \x03(\x0b\x32\x13.transcodely.v1.JobR\x04jobs\x12\x42\n\npagination\x18\x02 \x01(\x0b\x32\".transcodely.v1.PaginationResponseR\npagination\"B\n\x10\x43\x61ncelJobRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^job_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\":\n\x11\x43\x61ncelJobResponse\x12%\n\x03job\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.JobR\x03job\"C\n\x11\x43onfirmJobRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^job_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\";\n\x12\x43onfirmJobResponse\x12%\n\x03job\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.JobR\x03job\"A\n\x0fWatchJobRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^job_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\"\xac\x01\n\x10WatchJobResponse\x12%\n\x03job\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.JobR\x03job\x12\x34\n\x05\x65vent\x18\x02 \x01(\x0e\x32\x1e.transcodely.v1.WatchEventTypeR\x05\x65vent\x12;\n\x0bserver_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nserverTime*\x90\x02\n\tJobStatus\x12\x1a\n\x16JOB_STATUS_UNSPECIFIED\x10\x00\x12\x16\n\x12JOB_STATUS_PENDING\x10\x01\x12\x16\n\x12JOB_STATUS_PROBING\x10\x02\x12\x19\n\x15JOB_STATUS_PROCESSING\x10\x03\x12\x18\n\x14JOB_STATUS_COMPLETED\x10\x04\x12\x15\n\x11JOB_STATUS_FAILED\x10\x05\x12\x17\n\x13JOB_STATUS_CANCELED\x10\x06\x12\x16\n\x12JOB_STATUS_PARTIAL\x10\x07\x12$\n JOB_STATUS_AWAITING_CONFIRMATION\x10\x08*\x14JOB_STATUS_CANCELLED*\xd2\x01\n\x0cOutputStatus\x12\x1d\n\x19OUTPUT_STATUS_UNSPECIFIED\x10\x00\x12\x19\n\x15OUTPUT_STATUS_PENDING\x10\x01\x12\x1c\n\x18OUTPUT_STATUS_PROCESSING\x10\x02\x12\x1b\n\x17OUTPUT_STATUS_COMPLETED\x10\x03\x12\x18\n\x14OUTPUT_STATUS_FAILED\x10\x04\x12\x1a\n\x16OUTPUT_STATUS_CANCELED\x10\x05*\x17OUTPUT_STATUS_CANCELLED*z\n\x0bJobPriority\x12\x1c\n\x18JOB_PRIORITY_UNSPECIFIED\x10\x00\x12\x18\n\x14JOB_PRIORITY_ECONOMY\x10\x01\x12\x19\n\x15JOB_PRIORITY_STANDARD\x10\x02\x12\x18\n\x14JOB_PRIORITY_PREMIUM\x10\x03*\xd4\x01\n\x0eWatchEventType\x12 \n\x1cWATCH_EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19WATCH_EVENT_TYPE_SNAPSHOT\x10\x01\x12\x1d\n\x19WATCH_EVENT_TYPE_PROGRESS\x10\x02\x12\"\n\x1eWATCH_EVENT_TYPE_STATUS_CHANGE\x10\x03\x12\x1e\n\x1aWATCH_EVENT_TYPE_COMPLETED\x10\x04\x12\x1e\n\x1aWATCH_EVENT_TYPE_HEARTBEAT\x10\x05*\xba\x01\n\x0fJobCostLineType\x12\"\n\x1eJOB_COST_LINE_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19JOB_COST_LINE_TYPE_OUTPUT\x10\x01\x12%\n!JOB_COST_LINE_TYPE_MINIMUM_CHARGE\x10\x02\x12\x1a\n\x16JOB_COST_LINE_TYPE_FEE\x10\x03\x12!\n\x1dJOB_COST_LINE_TYPE_ADJUSTMENT\x10\x04\x32\xdb\x03\n\nJobService\x12M\n\x06\x43reate\x12 .transcodely.v1.CreateJobRequest\x1a!.transcodely.v1.CreateJobResponse\x12\x44\n\x03Get\x12\x1d.transcodely.v1.GetJobRequest\x1a\x1e.transcodely.v1.GetJobResponse\x12I\n\x04List\x12\x1f.transcodely.v1.ListJobsRequest\x1a .transcodely.v1.ListJobsResponse\x12M\n\x06\x43\x61ncel\x12 .transcodely.v1.CancelJobRequest\x1a!.transcodely.v1.CancelJobResponse\x12P\n\x07\x43onfirm\x12!.transcodely.v1.ConfirmJobRequest\x1a\".transcodely.v1.ConfirmJobResponse\x12L\n\x05Watch\x12\x1f.transcodely.v1.WatchJobRequest\x1a .transcodely.v1.WatchJobResponse0\x01\x62\x06proto3')
43
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18transcodely/v1/job.proto\x12\x0etranscodely.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1btranscodely/v1/common.proto\x1a\x1atranscodely/v1/media.proto\x1a\x1ftranscodely/v1/codec_h264.proto\x1a\x1ftranscodely/v1/codec_h265.proto\x1a\x1etranscodely/v1/codec_vp9.proto\x1a\x1etranscodely/v1/codec_av1.proto\x1a\x1btranscodely/v1/origin.proto\x1a\x1etranscodely/v1/streaming.proto\x1a\x1ftranscodely/v1/thumbnails.proto\x1a\x1etranscodely/v1/subtitles.proto\x1a\x1etranscodely/v1/watermark.proto\x1a\x18transcodely/v1/drm.proto\x1a\x18transcodely/v1/hdr.proto\x1a\"transcodely/v1/content_aware.proto\"\xe9\x01\n\x10\x41udioTrackConfig\x12\x30\n\x08language\x18\x01 \x01(\tB\x14\xbaH\x11r\x0c\x32\n^[a-z]{3}$\xc8\x01\x01R\x08language\x12\"\n\x05label\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x18@H\x00R\x05label\x88\x01\x01\x12\x31\n\x0csource_track\x18\x03 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18\x0f(\x00H\x01R\x0bsourceTrack\x88\x01\x01\x12\"\n\nis_default\x18\x04 \x01(\x08H\x02R\tisDefault\x88\x01\x01\x42\x08\n\x06_labelB\x0f\n\r_source_trackB\r\n\x0b_is_default\"\x94\x06\n\x0cVideoVariant\x12=\n\x05\x63odec\x18\x01 \x01(\x0e\x32\x1a.transcodely.v1.VideoCodecB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\x05\x63odec\x12\x44\n\nresolution\x18\x02 \x01(\x0e\x32\x1a.transcodely.v1.ResolutionB\x08\xbaH\x05\x82\x01\x02\x10\x01R\nresolution\x12?\n\x07quality\x18\x03 \x01(\x0e\x32\x1b.transcodely.v1.QualityTierB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x07quality\x12-\n\tframerate\x18\x04 \x01(\x05\x42\n\xbaH\x07\x1a\x05\x18\xf0\x01(\x00H\x00R\tframerate\x88\x01\x01\x12&\n\x05width\x18\x05 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\x80<(\x80\x01H\x01R\x05width\x88\x01\x01\x12(\n\x06height\x18\x06 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\xe0!(\x80\x01H\x02R\x06height\x88\x01\x01\x12*\n\x07\x62itrate\x18\x07 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\x80\xd3\x0e(dH\x03R\x07\x62itrate\x88\x01\x01\x12\x34\n\x04h264\x18\n \x01(\x0b\x32\x1b.transcodely.v1.H264OptionsH\x04R\x04h264\x88\x01\x01\x12\x34\n\x04h265\x18\x0b \x01(\x0b\x32\x1b.transcodely.v1.H265OptionsH\x05R\x04h265\x88\x01\x01\x12\x31\n\x03vp9\x18\x0c \x01(\x0b\x32\x1a.transcodely.v1.VP9OptionsH\x06R\x03vp9\x88\x01\x01\x12\x31\n\x03\x61v1\x18\r \x01(\x0b\x32\x1a.transcodely.v1.AV1OptionsH\x07R\x03\x61v1\x88\x01\x01\x12\x30\n\x03hdr\x18\x0e \x01(\x0b\x32\x19.transcodely.v1.HDRConfigH\x08R\x03hdr\x88\x01\x01\x42\x0c\n\n_framerateB\x08\n\x06_widthB\t\n\x07_heightB\n\n\x08_bitrateB\x07\n\x05_h264B\x07\n\x05_h265B\x06\n\x04_vp9B\x06\n\x04_av1B\x06\n\x04_hdrR\x0ch264_optionsR\x0ch265_optionsR\x0bvp9_optionsR\x0b\x61v1_options\"\xba\x03\n\tHLSConfig\x12:\n\x08manifest\x18\x01 \x01(\tB\x19\xbaH\x16r\x14\x18@2\x10^[a-zA-Z0-9_-]+$H\x00R\x08manifest\x88\x01\x01\x12Q\n\x0esegment_format\x18\x02 \x01(\x0e\x32 .transcodely.v1.HLSSegmentFormatB\x08\xbaH\x05\x82\x01\x02\x10\x01R\rsegmentFormat\x12N\n\rplaylist_type\x18\x03 \x01(\x0e\x32\x1f.transcodely.v1.HLSPlaylistTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0cplaylistType\x12\xac\x01\n\x0fvariant_pattern\x18\x04 \x01(\tB~\xbaH{r\x18\x18\x80\x01\x32\x13^[a-zA-Z0-9_.{}-]+$\xba\x01^\n\x1fhls_config.variant_pattern_safe\x12%variant_pattern must not contain `..`\x1a\x14!this.contains(\'..\')H\x01R\x0evariantPattern\x88\x01\x01\x42\x0b\n\t_manifestB\x12\n\x10_variant_pattern\"U\n\nDASHConfig\x12:\n\x08manifest\x18\x01 \x01(\tB\x19\xbaH\x16r\x14\x18@2\x10^[a-zA-Z0-9_-]+$H\x00R\x08manifest\x88\x01\x01\x42\x0b\n\t_manifest\"\xd1\x01\n\rSegmentConfig\x12*\n\x08\x64uration\x18\x01 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18\x1e(\x01H\x00R\x08\x64uration\x88\x01\x01\x12O\n\rgop_alignment\x18\x02 \x01(\x0e\x32 .transcodely.v1.GOPAlignmentModeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0cgopAlignment\x12)\n\x08gop_size\x18\x03 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18\n(\x01H\x01R\x07gopSize\x88\x01\x01\x42\x0b\n\t_durationB\x0b\n\t_gop_size\"\xd5\x14\n\nOutputSpec\x12:\n\x04type\x18\x01 \x01(\x0e\x32\x1c.transcodely.v1.OutputFormatB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04type\x12<\n\x05video\x18\x02 \x03(\x0b\x32\x1c.transcodely.v1.VideoVariantB\x08\xbaH\x05\x92\x01\x02\x10\x14R\x05video\x12@\n\x05\x61udio\x18\x03 \x03(\x0b\x32 .transcodely.v1.AudioTrackConfigB\x08\xbaH\x05\x92\x01\x02\x10\x08R\x05\x61udio\x12\x30\n\x03hls\x18\x04 \x01(\x0b\x32\x19.transcodely.v1.HLSConfigH\x00R\x03hls\x88\x01\x01\x12\x33\n\x04\x64\x61sh\x18\x05 \x01(\x0b\x32\x1a.transcodely.v1.DASHConfigH\x01R\x04\x64\x61sh\x88\x01\x01\x12>\n\x08segments\x18\x06 \x01(\x0b\x32\x1d.transcodely.v1.SegmentConfigH\x02R\x08segments\x88\x01\x01\x12\xce\x01\n\rpath_template\x18\x07 \x01(\tB\xa3\x01\xbaH\x9f\x01r\x03\x18\x80\x04\xba\x01\x96\x01\n\x1eoutput_spec.path_template_safe\x12\x35path_template must not start with `/` or contain `..`\x1a=this == \'\' || (!this.startsWith(\'/\') && !this.contains(\'..\'))H\x03R\x0cpathTemplate\x88\x01\x01\x12\'\n\x06preset\x18\n \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\x80\x01H\x04R\x06preset\x88\x01\x01\x12P\n\x0fsubtitle_tracks\x18\x0b \x03(\x0b\x32\x1d.transcodely.v1.SubtitleTrackB\x08\xbaH\x05\x92\x01\x02\x10\x08R\x0esubtitleTracks\x12\x30\n\x03\x64rm\x18\x0c \x01(\x0b\x32\x19.transcodely.v1.DRMConfigH\x05R\x03\x64rm\x88\x01\x01\x12L\n\rcontent_aware\x18\r \x01(\x0b\x32\".transcodely.v1.ContentAwareConfigH\x06R\x0c\x63ontentAware\x88\x01\x01\x12<\n\rencoding_mode\x18\x0e \x01(\tB\x12\xbaH\x0fr\rR\x05\x66ixedR\x04\x61utoH\x07R\x0c\x65ncodingMode\x88\x01\x01\x12\x45\n\x17\x65\x66\x66\x65\x63tive_path_template\x18\x0f \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x04H\x08R\x15\x65\x66\x66\x65\x63tivePathTemplate\x88\x01\x01\x12(\n\rdisable_audio\x18\x10 \x01(\x08H\tR\x0c\x64isableAudio\x88\x01\x01\x12\x42\n\twatermark\x18\x11 \x01(\x0b\x32\x1f.transcodely.v1.WatermarkConfigH\nR\twatermark\x88\x01\x01:\xea\n\xbaH\xe6\n\x1a\xd7\x02\n\x1coutput_spec.preset_or_inline\x12\x8e\x01\x65ither preset must be specified, or type with video[] array must be provided (or a captions-only output with extract/generate subtitle tracks)\x1a\xa5\x01has(this.preset) || (this.type != 0 && size(this.video) > 0) || (size(this.subtitle_tracks) > 0 && this.subtitle_tracks.all(t, t.operation == 4 || t.operation == 5))\x1a\xdf\x01\n\x1aoutput_spec.video_required\x12,video[] array must have at least one variant\x1a\x92\x01has(this.preset) || size(this.video) >= 1 || (size(this.subtitle_tracks) > 0 && this.subtitle_tracks.all(t, t.operation == 4 || t.operation == 5))\x1a\xb2\x01\n#output_spec.audio_require_streaming\x12>audio is only valid for HLS, DASH, or ADAPTIVE streaming types\x1aKsize(this.audio) == 0 || this.type == 5 || this.type == 6 || this.type == 7\x1a\x85\x01\n\x1boutput_spec.hls_config_type\x12\x32hls config is only valid for HLS or ADAPTIVE types\x1a\x32!has(this.hls) || this.type == 5 || this.type == 7\x1a\x89\x01\n\x1coutput_spec.dash_config_type\x12\x34\x64\x61sh config is only valid for DASH or ADAPTIVE types\x1a\x33!has(this.dash) || this.type == 6 || this.type == 7\x1a\xad\x01\n output_spec.segments_config_type\x12>segments config is only valid for HLS, DASH, or ADAPTIVE types\x1aI!has(this.segments) || this.type == 5 || this.type == 6 || this.type == 7\x1a\xae\x01\n#output_spec.disable_audio_no_tracks\x12=disable_audio cannot be combined with explicit audio[] tracks\x1aH!has(this.disable_audio) || !this.disable_audio || size(this.audio) == 0B\x06\n\x04_hlsB\x07\n\x05_dashB\x0b\n\t_segmentsB\x10\n\x0e_path_templateB\t\n\x07_presetB\x06\n\x04_drmB\x10\n\x0e_content_awareB\x10\n\x0e_encoding_modeB\x1a\n\x18_effective_path_templateB\x10\n\x0e_disable_audioB\x0c\n\n_watermarkJ\x04\x08\x08\x10\tJ\x04\x08\t\x10\nR\tstreaming\"\xc7\x03\n\x0fPricingSnapshot\x12\x1d\n\nbase_price\x18\x01 \x01(\x01R\tbasePrice\x12)\n\x10\x63odec_multiplier\x18\x02 \x01(\x01R\x0f\x63odecMultiplier\x12\x33\n\x15resolution_multiplier\x18\x03 \x01(\x01R\x14resolutionMultiplier\x12\x31\n\x14\x66ramerate_multiplier\x18\x04 \x01(\x01R\x13\x66ramerateMultiplier\x12-\n\x12quality_multiplier\x18\x05 \x01(\x01R\x11qualityMultiplier\x12\x43\n\x0fresolution_tier\x18\x06 \x01(\x0e\x32\x1a.transcodely.v1.ResolutionR\x0eresolutionTier\x12)\n\x10\x61\x63tual_framerate\x18\x07 \x01(\x01R\x0f\x61\x63tualFramerate\x12$\n\x0bpixel_count\x18\x08 \x01(\x03H\x00R\npixelCount\x88\x01\x01\x12-\n\x12\x66\x65\x61ture_multiplier\x18\t \x01(\x01R\x11\x66\x65\x61tureMultiplierB\x0e\n\x0c_pixel_count\"\x9d\x07\n\x16VariantPricingSnapshot\x12\x14\n\x05index\x18\x01 \x01(\x05R\x05index\x12\x30\n\x05\x63odec\x18\x02 \x01(\x0e\x32\x1a.transcodely.v1.VideoCodecR\x05\x63odec\x12:\n\nresolution\x18\x03 \x01(\x0e\x32\x1a.transcodely.v1.ResolutionR\nresolution\x12\x1c\n\tframerate\x18\x04 \x01(\x05R\tframerate\x12\x35\n\x07quality\x18\x05 \x01(\x0e\x32\x1b.transcodely.v1.QualityTierR\x07quality\x12\x19\n\x05width\x18\x06 \x01(\x05H\x00R\x05width\x88\x01\x01\x12\x1b\n\x06height\x18\x07 \x01(\x05H\x01R\x06height\x88\x01\x01\x12\x1d\n\nbase_price\x18\n \x01(\x01R\tbasePrice\x12)\n\x10\x63odec_multiplier\x18\x0b \x01(\x01R\x0f\x63odecMultiplier\x12\x33\n\x15resolution_multiplier\x18\x0c \x01(\x01R\x14resolutionMultiplier\x12\x31\n\x14\x66ramerate_multiplier\x18\r \x01(\x01R\x13\x66ramerateMultiplier\x12-\n\x12quality_multiplier\x18\x0e \x01(\x01R\x11qualityMultiplier\x12\x43\n\x0fresolution_tier\x18\x0f \x01(\x0e\x32\x1a.transcodely.v1.ResolutionR\x0eresolutionTier\x12)\n\x10\x61\x63tual_framerate\x18\x10 \x01(\x01R\x0f\x61\x63tualFramerate\x12$\n\x0bpixel_count\x18\x11 \x01(\x03H\x02R\npixelCount\x88\x01\x01\x12*\n\x0e\x65stimated_cost\x18\x12 \x01(\x01H\x03R\restimatedCost\x88\x01\x01\x12$\n\x0b\x61\x63tual_cost\x18\x13 \x01(\x01H\x04R\nactualCost\x88\x01\x01\x12\x16\n\x06status\x18\x14 \x01(\tR\x06status\x12\x1a\n\x08progress\x18\x15 \x01(\x05R\x08progress\x12-\n\x12\x66\x65\x61ture_multiplier\x18\x16 \x01(\x01R\x11\x66\x65\x61tureMultiplierB\x08\n\x06_widthB\t\n\x07_heightB\x0e\n\x0c_pixel_countB\x11\n\x0f_estimated_costB\x0e\n\x0c_actual_cost\"\xb4\x0b\n\tJobOutput\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12.\n\x04spec\x18\x02 \x01(\x0b\x32\x1a.transcodely.v1.OutputSpecR\x04spec\x12\x34\n\x06status\x18\x03 \x01(\x0e\x32\x1c.transcodely.v1.OutputStatusR\x06status\x12\x1a\n\x08progress\x18\x04 \x01(\x05R\x08progress\x12\"\n\noutput_url\x18\x05 \x01(\tH\x00R\toutputUrl\x88\x01\x01\x12/\n\x11output_size_bytes\x18\x06 \x01(\x03H\x01R\x0foutputSizeBytes\x88\x01\x01\x12.\n\x10\x64uration_seconds\x18\x07 \x01(\x03H\x02R\x0f\x64urationSeconds\x88\x01\x01\x12\x39\n\x07pricing\x18\x08 \x01(\x0b\x32\x1f.transcodely.v1.PricingSnapshotR\x07pricing\x12\x41\n\x1a\x65stimated_duration_seconds\x18\t \x01(\x03H\x03R\x18\x65stimatedDurationSeconds\x88\x01\x01\x12*\n\x0e\x65stimated_cost\x18\n \x01(\x01H\x04R\restimatedCost\x88\x01\x01\x12$\n\x0b\x61\x63tual_cost\x18\x0b \x01(\x01H\x05R\nactualCost\x88\x01\x01\x12\"\n\nerror_code\x18\x0c \x01(\tH\x06R\terrorCode\x88\x01\x01\x12(\n\rerror_message\x18\r \x01(\tH\x07R\x0c\x65rrorMessage\x88\x01\x01\x12>\n\nstarted_at\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x08R\tstartedAt\x88\x01\x01\x12\x42\n\x0c\x63ompleted_at\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampH\tR\x0b\x63ompletedAt\x88\x01\x01\x12 \n\tpreset_id\x18\x10 \x01(\tH\nR\x08presetId\x88\x01\x01\x12$\n\x0bpreset_slug\x18\x11 \x01(\tH\x0bR\npresetSlug\x88\x01\x01\x12O\n\x0fvariant_pricing\x18\x14 \x03(\x0b\x32&.transcodely.v1.VariantPricingSnapshotR\x0evariantPricing\x12\x16\n\x06object\x18\x15 \x01(\tR\x06object\x12\x19\n\x05width\x18\x16 \x01(\x05H\x0cR\x05width\x88\x01\x01\x12\x1b\n\x06height\x18\x17 \x01(\x05H\rR\x06height\x88\x01\x01\x12\x35\n\x14\x61verage_bitrate_kbps\x18\x18 \x01(\x05H\x0eR\x12\x61verageBitrateKbps\x88\x01\x01\x12L\n\x0fvariant_results\x18\x19 \x03(\x0b\x32#.transcodely.v1.OutputVariantResultR\x0evariantResults\x12\"\n\nsigned_url\x18\x1a \x01(\tH\x0fR\tsignedUrl\x88\x01\x01\x12\x39\n\x06report\x18\x1b \x01(\x0b\x32\x1c.transcodely.v1.OutputReportH\x10R\x06report\x88\x01\x01\x42\r\n\x0b_output_urlB\x14\n\x12_output_size_bytesB\x13\n\x11_duration_secondsB\x1d\n\x1b_estimated_duration_secondsB\x11\n\x0f_estimated_costB\x0e\n\x0c_actual_costB\r\n\x0b_error_codeB\x10\n\x0e_error_messageB\r\n\x0b_started_atB\x0f\n\r_completed_atB\x0c\n\n_preset_idB\x0e\n\x0c_preset_slugB\x08\n\x06_widthB\t\n\x07_heightB\x17\n\x15_average_bitrate_kbpsB\r\n\x0b_signed_urlB\t\n\x07_report\"\xd2\x03\n\x0cOutputReport\x12\x1c\n\tcontainer\x18\x01 \x01(\tR\tcontainer\x12<\n\x05video\x18\x02 \x01(\x0b\x32!.transcodely.v1.OutputReportVideoH\x00R\x05video\x88\x01\x01\x12\x37\n\x05\x61udio\x18\x03 \x03(\x0b\x32!.transcodely.v1.OutputReportAudioR\x05\x61udio\x12.\n\x10\x64uration_seconds\x18\x04 \x01(\x01H\x01R\x0f\x64urationSeconds\x88\x01\x01\x12=\n\x07verdict\x18\x05 \x01(\x0b\x32#.transcodely.v1.OutputReportVerdictR\x07verdict\x12\x39\n\nchecked_at\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcheckedAt\x12R\n\rcontent_aware\x18\x07 \x01(\x0b\x32(.transcodely.v1.OutputReportContentAwareH\x02R\x0c\x63ontentAware\x88\x01\x01\x42\x08\n\x06_videoB\x13\n\x11_duration_secondsB\x10\n\x0e_content_aware\"\xfa\x02\n\x18OutputReportContentAware\x12\x12\n\x04mode\x18\x01 \x01(\tR\x04mode\x12$\n\x0bvmaf_target\x18\x02 \x01(\x01H\x00R\nvmafTarget\x88\x01\x01\x12(\n\rvmaf_achieved\x18\x03 \x01(\x01H\x01R\x0cvmafAchieved\x88\x01\x01\x12\"\n\ncrf_chosen\x18\x04 \x01(\x05H\x02R\tcrfChosen\x88\x01\x01\x12\x1e\n\x08seed_crf\x18\x05 \x01(\x05H\x03R\x07seedCrf\x88\x01\x01\x12\"\n\nmet_target\x18\x06 \x01(\x08H\x04R\tmetTarget\x88\x01\x01\x12\x45\n\x06probes\x18\x07 \x03(\x0b\x32-.transcodely.v1.OutputReportContentAwareProbeR\x06probesB\x0e\n\x0c_vmaf_targetB\x10\n\x0e_vmaf_achievedB\r\n\x0b_crf_chosenB\x0b\n\t_seed_crfB\r\n\x0b_met_target\"~\n\x1dOutputReportContentAwareProbe\x12\x10\n\x03\x63rf\x18\x01 \x01(\x05R\x03\x63rf\x12\x12\n\x04vmaf\x18\x02 \x01(\x01R\x04vmaf\x12&\n\x0c\x62itrate_kbps\x18\x03 \x01(\x01H\x00R\x0b\x62itrateKbps\x88\x01\x01\x42\x0f\n\r_bitrate_kbps\"\xa4\x03\n\x11OutputReportVideo\x12\x14\n\x05\x63odec\x18\x01 \x01(\tR\x05\x63odec\x12\x1d\n\x07profile\x18\x02 \x01(\tH\x00R\x07profile\x88\x01\x01\x12\x19\n\x05level\x18\x03 \x01(\tH\x01R\x05level\x88\x01\x01\x12\x1c\n\x07pix_fmt\x18\x04 \x01(\tH\x02R\x06pixFmt\x88\x01\x01\x12\x14\n\x05width\x18\x05 \x01(\x05R\x05width\x12\x16\n\x06height\x18\x06 \x01(\x05R\x06height\x12\"\n\nframe_rate\x18\x07 \x01(\x01H\x03R\tframeRate\x88\x01\x01\x12&\n\x0c\x62itrate_kbps\x18\x08 \x01(\x05H\x04R\x0b\x62itrateKbps\x88\x01\x01\x12<\n\x05\x63olor\x18\t \x01(\x0b\x32!.transcodely.v1.OutputReportColorH\x05R\x05\x63olor\x88\x01\x01\x12\x1d\n\nhdr_format\x18\n \x01(\tR\thdrFormatB\n\n\x08_profileB\x08\n\x06_levelB\n\n\x08_pix_fmtB\r\n\x0b_frame_rateB\x0f\n\r_bitrate_kbpsB\x08\n\x06_color\"\xbf\x01\n\x11OutputReportColor\x12!\n\tprimaries\x18\x01 \x01(\tH\x00R\tprimaries\x88\x01\x01\x12\x1f\n\x08transfer\x18\x02 \x01(\tH\x01R\x08transfer\x88\x01\x01\x12\x1b\n\x06matrix\x18\x03 \x01(\tH\x02R\x06matrix\x88\x01\x01\x12\x19\n\x05range\x18\x04 \x01(\tH\x03R\x05range\x88\x01\x01\x42\x0c\n\n_primariesB\x0b\n\t_transferB\t\n\x07_matrixB\x08\n\x06_range\"\xfc\x01\n\x11OutputReportAudio\x12\x14\n\x05\x63odec\x18\x01 \x01(\tR\x05\x63odec\x12\x1f\n\x08\x63hannels\x18\x02 \x01(\x05H\x00R\x08\x63hannels\x88\x01\x01\x12)\n\x0esample_rate_hz\x18\x03 \x01(\x05H\x01R\x0csampleRateHz\x88\x01\x01\x12&\n\x0c\x62itrate_kbps\x18\x04 \x01(\x05H\x02R\x0b\x62itrateKbps\x88\x01\x01\x12\x1f\n\x08language\x18\x05 \x01(\tH\x03R\x08language\x88\x01\x01\x42\x0b\n\t_channelsB\x11\n\x0f_sample_rate_hzB\x0f\n\r_bitrate_kbpsB\x0b\n\t_language\"\x84\x01\n\x13OutputReportVerdict\x12\'\n\x0fmatches_request\x18\x01 \x01(\x08R\x0ematchesRequest\x12\x44\n\nmismatches\x18\x02 \x03(\x0b\x32$.transcodely.v1.OutputReportMismatchR\nmismatches\"`\n\x14OutputReportMismatch\x12\x14\n\x05\x66ield\x18\x01 \x01(\tR\x05\x66ield\x12\x1a\n\x08\x65xpected\x18\x02 \x01(\tR\x08\x65xpected\x12\x16\n\x06\x61\x63tual\x18\x03 \x01(\tR\x06\x61\x63tual\"\xdc\x01\n\x13OutputVariantResult\x12\x14\n\x05index\x18\x01 \x01(\x05R\x05index\x12\x14\n\x05width\x18\x02 \x01(\x05R\x05width\x12\x16\n\x06height\x18\x03 \x01(\x05R\x06height\x12\x35\n\x14\x61verage_bitrate_kbps\x18\x04 \x01(\x05H\x00R\x12\x61verageBitrateKbps\x88\x01\x01\x12\"\n\nsize_bytes\x18\x05 \x01(\x03H\x01R\tsizeBytes\x88\x01\x01\x42\x17\n\x15_average_bitrate_kbpsB\r\n\x0b_size_bytes\"\x9c\x0c\n\x0f\x45xecutionTiming\x12$\n\x0binstance_id\x18\x01 \x01(\tH\x00R\ninstanceId\x88\x01\x01\x12(\n\rinstance_type\x18\x02 \x01(\tH\x01R\x0cinstanceType\x88\x01\x01\x12\x30\n\x11instance_location\x18\x03 \x01(\tH\x02R\x10instanceLocation\x88\x01\x01\x12\"\n\nvcpu_count\x18\x04 \x01(\x05H\x03R\tvcpuCount\x88\x01\x01\x12 \n\tmemory_mb\x18\x05 \x01(\x05H\x04R\x08memoryMb\x88\x01\x01\x12-\n\x10\x62oot_duration_ms\x18\n \x01(\x03H\x05R\x0e\x62ootDurationMs\x88\x01\x01\x12\x35\n\x14\x64ownload_duration_ms\x18\x0b \x01(\x03H\x06R\x12\x64ownloadDurationMs\x88\x01\x01\x12/\n\x11probe_duration_ms\x18\x0c \x01(\x03H\x07R\x0fprobeDurationMs\x88\x01\x01\x12\x31\n\x12\x65ncode_duration_ms\x18\r \x01(\x03H\x08R\x10\x65ncodeDurationMs\x88\x01\x01\x12\x31\n\x12upload_duration_ms\x18\x0e \x01(\x03H\tR\x10uploadDurationMs\x88\x01\x01\x12\x37\n\x15packaging_duration_ms\x18\x0f \x01(\x03H\nR\x13packagingDurationMs\x88\x01\x01\x12/\n\x11total_duration_ms\x18\x10 \x01(\x03H\x0bR\x0ftotalDurationMs\x88\x01\x01\x12*\n\x0e\x64ownload_bytes\x18\x14 \x01(\x03H\x0cR\rdownloadBytes\x88\x01\x01\x12\x33\n\x13\x64ownload_speed_mbps\x18\x15 \x01(\x01H\rR\x11\x64ownloadSpeedMbps\x88\x01\x01\x12&\n\x0cupload_bytes\x18\x16 \x01(\x03H\x0eR\x0buploadBytes\x88\x01\x01\x12/\n\x11upload_speed_mbps\x18\x17 \x01(\x01H\x0fR\x0fuploadSpeedMbps\x88\x01\x01\x12+\n\x0f\x61vg_cpu_percent\x18\x1e \x01(\x01H\x10R\ravgCpuPercent\x88\x01\x01\x12-\n\x10peak_cpu_percent\x18\x1f \x01(\x01H\x11R\x0epeakCpuPercent\x88\x01\x01\x12\'\n\ravg_memory_mb\x18 \x01(\x05H\x12R\x0b\x61vgMemoryMb\x88\x01\x01\x12)\n\x0epeak_memory_mb\x18! \x01(\x05H\x13R\x0cpeakMemoryMb\x88\x01\x01\x12$\n\x0b\x63hunk_count\x18( \x01(\x05H\x14R\nchunkCount\x88\x01\x01\x12*\n\x0e\x63hunk_strategy\x18) \x01(\tH\x15R\rchunkStrategy\x88\x01\x01\x12 \n\texit_code\x18\x32 \x01(\x05H\x16R\x08\x65xitCode\x88\x01\x01\x12$\n\x0b\x65xit_reason\x18\x33 \x01(\tH\x17R\nexitReason\x88\x01\x01\x42\x0e\n\x0c_instance_idB\x10\n\x0e_instance_typeB\x14\n\x12_instance_locationB\r\n\x0b_vcpu_countB\x0c\n\n_memory_mbB\x13\n\x11_boot_duration_msB\x17\n\x15_download_duration_msB\x14\n\x12_probe_duration_msB\x15\n\x13_encode_duration_msB\x15\n\x13_upload_duration_msB\x18\n\x16_packaging_duration_msB\x14\n\x12_total_duration_msB\x11\n\x0f_download_bytesB\x16\n\x14_download_speed_mbpsB\x0f\n\r_upload_bytesB\x14\n\x12_upload_speed_mbpsB\x12\n\x10_avg_cpu_percentB\x13\n\x11_peak_cpu_percentB\x10\n\x0e_avg_memory_mbB\x11\n\x0f_peak_memory_mbB\x0e\n\x0c_chunk_countB\x11\n\x0f_chunk_strategyB\x0c\n\n_exit_codeB\x0e\n\x0c_exit_reason\"\xd8\x12\n\x03Job\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06\x61pp_id\x18\x1d \x01(\tR\x05\x61ppId\x12\x1b\n\tinput_url\x18\x02 \x01(\tR\x08inputUrl\x12\x41\n\x0cinput_origin\x18\x16 \x01(\x0b\x32\x19.transcodely.v1.OriginRefH\x00R\x0binputOrigin\x88\x01\x01\x12\x43\n\routput_origin\x18\x17 \x01(\x0b\x32\x19.transcodely.v1.OriginRefH\x01R\x0coutputOrigin\x88\x01\x01\x12\x31\n\x06status\x18\x03 \x01(\x0e\x32\x19.transcodely.v1.JobStatusR\x06status\x12\x1a\n\x08progress\x18\x04 \x01(\x05R\x08progress\x12\x37\n\x08priority\x18\x05 \x01(\x0e\x32\x1b.transcodely.v1.JobPriorityR\x08priority\x12I\n\x0einput_metadata\x18\x06 \x01(\x0b\x32\x1d.transcodely.v1.InputMetadataH\x02R\rinputMetadata\x88\x01\x01\x12\x33\n\x07outputs\x18\x07 \x03(\x0b\x32\x19.transcodely.v1.JobOutputR\x07outputs\x12\x35\n\x14total_estimated_cost\x18\x08 \x01(\x01H\x03R\x12totalEstimatedCost\x88\x01\x01\x12/\n\x11total_actual_cost\x18\t \x01(\x01H\x04R\x0ftotalActualCost\x88\x01\x01\x12\"\n\nerror_code\x18\n \x01(\tH\x05R\terrorCode\x88\x01\x01\x12(\n\rerror_message\x18\x0b \x01(\tH\x06R\x0c\x65rrorMessage\x88\x01\x01\x12$\n\x0bwebhook_url\x18\x0c \x01(\tH\x07R\nwebhookUrl\x88\x01\x01\x12=\n\x08metadata\x18\r \x03(\x0b\x32!.transcodely.v1.Job.MetadataEntryR\x08metadata\x12\x39\n\ncreated_at\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12<\n\tprobed_at\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x08R\x08probedAt\x88\x01\x01\x12>\n\nstarted_at\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\tR\tstartedAt\x88\x01\x01\x12\x42\n\x0c\x63ompleted_at\x18\x12 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\nR\x0b\x63ompletedAt\x88\x01\x01\x12#\n\rdelayed_start\x18\x13 \x01(\x08R\x0c\x64\x65layedStart\x12\x42\n\x0c\x63onfirmed_at\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x0bR\x0b\x63onfirmedAt\x88\x01\x01\x12\x1a\n\x08\x63urrency\x18\x15 \x01(\tR\x08\x63urrency\x12=\n\texecution\x18\x18 \x01(\x0b\x32\x1f.transcodely.v1.ExecutionTimingR\texecution\x12=\n\nthumbnails\x18\x19 \x03(\x0b\x32\x1d.transcodely.v1.ThumbnailSpecR\nthumbnails\x12L\n\x11thumbnail_results\x18\x1c \x03(\x0b\x32\x1f.transcodely.v1.ThumbnailResultR\x10thumbnailResults\x12I\n\x10subtitle_results\x18 \x03(\x0b\x32\x1e.transcodely.v1.SubtitleResultR\x0fsubtitleResults\x12\x35\n\x14output_path_template\x18\x1a \x01(\tH\x0cR\x12outputPathTemplate\x88\x01\x01\x12\x16\n\x06object\x18\x1b \x01(\tR\x06object\x12\x35\n\x12minimum_charge_eur\x18\x1e \x01(\x01\x42\x02\x18\x01H\rR\x10minimumChargeEur\x88\x01\x01\x12\x38\n\x16minimum_charge_applied\x18\x1f \x01(\x08\x42\x02\x18\x01R\x14minimumChargeApplied\x12*\n\x04\x66\x65\x65s\x18! \x03(\x0b\x32\x16.transcodely.v1.JobFeeR\x04\x66\x65\x65s\x12$\n\x0einput_video_id\x18\" \x01(\tR\x0cinputVideoId\x12\x46\n\x0f\x63hapter_results\x18# \x03(\x0b\x32\x1d.transcodely.v1.ChapterResultR\x0e\x63hapterResults\x12\x33\n\x04\x63lip\x18$ \x01(\x0b\x32\x1a.transcodely.v1.ClipConfigH\x0eR\x04\x63lip\x88\x01\x01\x12\x1e\n\x08video_id\x18% \x01(\tH\x0fR\x07videoId\x88\x01\x01\x12G\n\x0e\x63ost_breakdown\x18& \x01(\x0b\x32 .transcodely.v1.JobCostBreakdownR\rcostBreakdown\x12>\n\x08insights\x18\' \x03(\x0b\x32\".transcodely.v1.TranscriptInsightsR\x08insights\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0f\n\r_input_originB\x10\n\x0e_output_originB\x11\n\x0f_input_metadataB\x17\n\x15_total_estimated_costB\x14\n\x12_total_actual_costB\r\n\x0b_error_codeB\x10\n\x0e_error_messageB\x0e\n\x0c_webhook_urlB\x0c\n\n_probed_atB\r\n\x0b_started_atB\x0f\n\r_completed_atB\x0f\n\r_confirmed_atB\x17\n\x15_output_path_templateB\x15\n\x13_minimum_charge_eurB\x07\n\x05_clipB\x0b\n\t_video_id\"\xcd\x01\n\x06JobFee\x12\x19\n\x08\x66\x65\x65_type\x18\x01 \x01(\tR\x07\x66\x65\x65Type\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x12\n\x04unit\x18\x03 \x01(\tR\x04unit\x12\x1a\n\x08quantity\x18\x04 \x01(\x01R\x08quantity\x12\x12\n\x04rate\x18\x05 \x01(\x01R\x04rate\x12\x16\n\x06\x61mount\x18\x06 \x01(\x01R\x06\x61mount\x12\x1a\n\x08\x63urrency\x18\x07 \x01(\tR\x08\x63urrency\x12\x0e\n\x02id\x18\x08 \x01(\tR\x02id\"\x9e\x02\n\x0bJobCostLine\x12\x33\n\x04type\x18\x01 \x01(\x0e\x32\x1f.transcodely.v1.JobCostLineTypeR\x04type\x12!\n\x0creference_id\x18\x02 \x01(\tR\x0breferenceId\x12 \n\x0b\x64\x65scription\x18\x03 \x01(\tR\x0b\x64\x65scription\x12\x35\n\x14\x65stimated_amount_eur\x18\x04 \x01(\x01H\x00R\x12\x65stimatedAmountEur\x88\x01\x01\x12/\n\x11\x61\x63tual_amount_eur\x18\x05 \x01(\x01H\x01R\x0f\x61\x63tualAmountEur\x88\x01\x01\x42\x17\n\x15_estimated_amount_eurB\x14\n\x12_actual_amount_eur\"\xdc\x01\n\x10JobCostBreakdown\x12\x31\n\x05lines\x18\x01 \x03(\x0b\x32\x1b.transcodely.v1.JobCostLineR\x05lines\x12\x35\n\x14total_estimated_cost\x18\x02 \x01(\x01H\x00R\x12totalEstimatedCost\x88\x01\x01\x12/\n\x11total_actual_cost\x18\x03 \x01(\x01H\x01R\x0ftotalActualCost\x88\x01\x01\x42\x17\n\x15_total_estimated_costB\x14\n\x12_total_actual_cost\"\xdf\x03\n\nClipConfig\x12\x89\x01\n\rstart_seconds\x18\x01 \x01(\x01\x42\x64\xbaHa\x12\x0b)\x00\x00\x00\x00\x00\x00\x00\x00@\x01\xba\x01Q\n\x13\x63lip.start_storable\x12&start_seconds must be at most 10000000\x1a\x12this <= 10000000.0R\x0cstartSeconds\x12\x81\x01\n\x0b\x65nd_seconds\x18\x02 \x01(\x01\x42`\xbaH]\x12\x0b)\x00\x00\x00\x00\x00\x00\x00\x00@\x01\xba\x01M\n\x11\x63lip.end_storable\x12$end_seconds must be at most 10000000\x1a\x12this <= 10000000.0R\nendSeconds:\xc0\x01\xbaH\xbc\x01\x1a\xb9\x01\n\x14\x63lip.end_after_start\x12Vend_seconds must be at least 0.001s greater than start_seconds (or 0 for end of input)\x1aIthis.end_seconds == 0.0 || this.end_seconds - this.start_seconds >= 0.001\"\xd2\x10\n\x10\x43reateJobRequest\x12?\n\tinput_url\x18\x01 \x01(\tB\"\xbaH\x1fr\x1a\x18\x80\x10\x32\x15^(gs|s3|https?)://.*$\xd8\x01\x01R\x08inputUrl\x12H\n\x0finput_origin_id\x18\t \x01(\tB\x1b\xbaH\x18r\x16\x32\x14^ori_[a-zA-Z0-9_-]+$H\x00R\rinputOriginId\x88\x01\x01\x12,\n\ninput_path\x18\n \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x10H\x01R\tinputPath\x88\x01\x01\x12H\n\x0einput_video_id\x18\r \x01(\tB\x1d\xbaH\x1ar\x18\x18 2\x14^vid_[a-zA-Z0-9_-]+$H\x02R\x0cinputVideoId\x88\x01\x01\x12J\n\x10output_origin_id\x18\x0b \x01(\tB\x1b\xbaH\x18r\x16\x32\x14^ori_[a-zA-Z0-9_-]+$H\x03R\x0eoutputOriginId\x88\x01\x01\x12@\n\x07outputs\x18\x02 \x03(\x0b\x32\x1a.transcodely.v1.OutputSpecB\n\xbaH\x07\x92\x01\x04\x08\x01\x10\nR\x07outputs\x12\x41\n\x08priority\x18\x03 \x01(\x0e\x32\x1b.transcodely.v1.JobPriorityB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x08priority\x12\x31\n\x0bwebhook_url\x18\x04 \x01(\tB\x0b\xbaH\x08r\x06\x18\x80\x10\x88\x01\x01H\x04R\nwebhookUrl\x88\x01\x01\x12\x36\n\x0fidempotency_key\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x01H\x05R\x0eidempotencyKey\x88\x01\x01\x12\x63\n\x08metadata\x18\x06 \x03(\x0b\x32..transcodely.v1.CreateJobRequest.MetadataEntryB\x17\xbaH\x14\x9a\x01\x11\x10\x14\"\x06r\x04\x10\x01\x18@*\x05r\x03\x18\x80\x08R\x08metadata\x12#\n\rdelayed_start\x18\x07 \x01(\x08R\x0c\x64\x65layedStart\x12G\n\nthumbnails\x18\x08 \x03(\x0b\x32\x1d.transcodely.v1.ThumbnailSpecB\x08\xbaH\x05\x92\x01\x02\x10\x05R\nthumbnails\x12\xe8\x01\n\x14output_path_template\x18\x0c \x01(\tB\xb0\x01\xbaH\xac\x01r\x03\x18\x80\x04\xba\x01\xa3\x01\n$create_job.output_path_template_safe\x12<output_path_template must not start with `/` or contain `..`\x1a=this == \'\' || (!this.startsWith(\'/\') && !this.contains(\'..\'))H\x06R\x12outputPathTemplate\x88\x01\x01\x12\x1d\n\x07managed\x18\x14 \x01(\x08H\x07R\x07managed\x88\x01\x01\x12\x37\n\x06\x61pp_id\x18\x15 \x01(\tB\x1b\xbaH\x18r\x16\x32\x14^app_[a-zA-Z0-9_-]+$H\x08R\x05\x61ppId\x88\x01\x01\x12\x33\n\x04\x63lip\x18\x16 \x01(\x0b\x32\x1a.transcodely.v1.ClipConfigH\tR\x04\x63lip\x88\x01\x01\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01:\xce\x05\xbaH\xca\x05\x1a\xf0\x02\n\x17\x63reate_job.input_source\x12Yexactly one input source must be specified: input_url, input_origin_id, or input_video_id\x1a\xf9\x01(this.input_url != \'\' && !has(this.input_origin_id) && !has(this.input_video_id)) || (this.input_url == \'\' && has(this.input_origin_id) && !has(this.input_video_id)) || (this.input_url == \'\' && !has(this.input_origin_id) && has(this.input_video_id))\x1a\x98\x01\n%create_job.input_path_requires_origin\x12;input_path can only be specified when using input_origin_id\x1a\x32!has(this.input_path) || has(this.input_origin_id)\x1a\xb9\x01\n!create_job.output_origin_required\x12\x35output_origin_id is required when managed is not true\x1a]has(this.output_origin_id) || (has(this.managed) && this.managed) || has(this.input_video_id)B\x12\n\x10_input_origin_idB\r\n\x0b_input_pathB\x11\n\x0f_input_video_idB\x13\n\x11_output_origin_idB\x0e\n\x0c_webhook_urlB\x12\n\x10_idempotency_keyB\x17\n\x15_output_path_templateB\n\n\x08_managedB\t\n\x07_app_idB\x07\n\x05_clip\"g\n\x11\x43reateJobResponse\x12%\n\x03job\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.JobR\x03job\x12\x1e\n\x08video_id\x18\x05 \x01(\tH\x00R\x07videoId\x88\x01\x01\x42\x0b\n\t_video_id\"?\n\rGetJobRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^job_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\"7\n\x0eGetJobResponse\x12%\n\x03job\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.JobR\x03job\"\xfb\x04\n\x0fListJobsRequest\x12\x36\n\x06status\x18\x01 \x01(\x0e\x32\x19.transcodely.v1.JobStatusH\x00R\x06status\x88\x01\x01\x12\x41\n\npagination\x18\x02 \x01(\x0b\x32!.transcodely.v1.PaginationRequestR\npagination\x12\x37\n\x06\x61pp_id\x18\x03 \x01(\tB\x1b\xbaH\x18r\x16\x32\x14^app_[a-zA-Z0-9_-]+$H\x01R\x05\x61ppId\x88\x01\x01\x12\x44\n\rcreated_after\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02R\x0c\x63reatedAfter\x88\x01\x01\x12\x46\n\x0e\x63reated_before\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03R\rcreatedBefore\x88\x01\x01\x12J\n\x08statuses\x18\x06 \x03(\x0e\x32\x19.transcodely.v1.JobStatusB\x13\xbaH\x10\x92\x01\r\x10\x08\x18\x01\"\x07\x82\x01\x04\x10\x01 \x00R\x08statuses\x12\x62\n\x08metadata\x18\x07 \x03(\x0b\x32-.transcodely.v1.ListJobsRequest.MetadataEntryB\x17\xbaH\x14\x9a\x01\x11\x10\n\"\x06r\x04\x10\x01\x18@*\x05r\x03\x18\x80\x08R\x08metadata\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\t\n\x07_statusB\t\n\x07_app_idB\x10\n\x0e_created_afterB\x11\n\x0f_created_before\"\x7f\n\x10ListJobsResponse\x12\'\n\x04jobs\x18\x01 \x03(\x0b\x32\x13.transcodely.v1.JobR\x04jobs\x12\x42\n\npagination\x18\x02 \x01(\x0b\x32\".transcodely.v1.PaginationResponseR\npagination\"B\n\x10\x43\x61ncelJobRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^job_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\":\n\x11\x43\x61ncelJobResponse\x12%\n\x03job\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.JobR\x03job\"C\n\x11\x43onfirmJobRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^job_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\";\n\x12\x43onfirmJobResponse\x12%\n\x03job\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.JobR\x03job\"A\n\x0fWatchJobRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^job_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\"\xac\x01\n\x10WatchJobResponse\x12%\n\x03job\x18\x01 \x01(\x0b\x32\x13.transcodely.v1.JobR\x03job\x12\x34\n\x05\x65vent\x18\x02 \x01(\x0e\x32\x1e.transcodely.v1.WatchEventTypeR\x05\x65vent\x12;\n\x0bserver_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nserverTime*\x90\x02\n\tJobStatus\x12\x1a\n\x16JOB_STATUS_UNSPECIFIED\x10\x00\x12\x16\n\x12JOB_STATUS_PENDING\x10\x01\x12\x16\n\x12JOB_STATUS_PROBING\x10\x02\x12\x19\n\x15JOB_STATUS_PROCESSING\x10\x03\x12\x18\n\x14JOB_STATUS_COMPLETED\x10\x04\x12\x15\n\x11JOB_STATUS_FAILED\x10\x05\x12\x17\n\x13JOB_STATUS_CANCELED\x10\x06\x12\x16\n\x12JOB_STATUS_PARTIAL\x10\x07\x12$\n JOB_STATUS_AWAITING_CONFIRMATION\x10\x08*\x14JOB_STATUS_CANCELLED*\xd2\x01\n\x0cOutputStatus\x12\x1d\n\x19OUTPUT_STATUS_UNSPECIFIED\x10\x00\x12\x19\n\x15OUTPUT_STATUS_PENDING\x10\x01\x12\x1c\n\x18OUTPUT_STATUS_PROCESSING\x10\x02\x12\x1b\n\x17OUTPUT_STATUS_COMPLETED\x10\x03\x12\x18\n\x14OUTPUT_STATUS_FAILED\x10\x04\x12\x1a\n\x16OUTPUT_STATUS_CANCELED\x10\x05*\x17OUTPUT_STATUS_CANCELLED*z\n\x0bJobPriority\x12\x1c\n\x18JOB_PRIORITY_UNSPECIFIED\x10\x00\x12\x18\n\x14JOB_PRIORITY_ECONOMY\x10\x01\x12\x19\n\x15JOB_PRIORITY_STANDARD\x10\x02\x12\x18\n\x14JOB_PRIORITY_PREMIUM\x10\x03*\xd4\x01\n\x0eWatchEventType\x12 \n\x1cWATCH_EVENT_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19WATCH_EVENT_TYPE_SNAPSHOT\x10\x01\x12\x1d\n\x19WATCH_EVENT_TYPE_PROGRESS\x10\x02\x12\"\n\x1eWATCH_EVENT_TYPE_STATUS_CHANGE\x10\x03\x12\x1e\n\x1aWATCH_EVENT_TYPE_COMPLETED\x10\x04\x12\x1e\n\x1aWATCH_EVENT_TYPE_HEARTBEAT\x10\x05*\xba\x01\n\x0fJobCostLineType\x12\"\n\x1eJOB_COST_LINE_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19JOB_COST_LINE_TYPE_OUTPUT\x10\x01\x12%\n!JOB_COST_LINE_TYPE_MINIMUM_CHARGE\x10\x02\x12\x1a\n\x16JOB_COST_LINE_TYPE_FEE\x10\x03\x12!\n\x1dJOB_COST_LINE_TYPE_ADJUSTMENT\x10\x04\x32\xdb\x03\n\nJobService\x12M\n\x06\x43reate\x12 .transcodely.v1.CreateJobRequest\x1a!.transcodely.v1.CreateJobResponse\x12\x44\n\x03Get\x12\x1d.transcodely.v1.GetJobRequest\x1a\x1e.transcodely.v1.GetJobResponse\x12I\n\x04List\x12\x1f.transcodely.v1.ListJobsRequest\x1a .transcodely.v1.ListJobsResponse\x12M\n\x06\x43\x61ncel\x12 .transcodely.v1.CancelJobRequest\x1a!.transcodely.v1.CancelJobResponse\x12P\n\x07\x43onfirm\x12!.transcodely.v1.ConfirmJobRequest\x1a\".transcodely.v1.ConfirmJobResponse\x12L\n\x05Watch\x12\x1f.transcodely.v1.WatchJobRequest\x1a .transcodely.v1.WatchJobResponse0\x01\x62\x06proto3')
44
44
 
45
45
  _globals = globals()
46
46
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -159,16 +159,16 @@ if not _descriptor._USE_C_DESCRIPTORS:
159
159
  _globals['_CONFIRMJOBREQUEST'].fields_by_name['id']._serialized_options = b'\272H\033r\0262\024^job_[a-zA-Z0-9_-]+$\310\001\001'
160
160
  _globals['_WATCHJOBREQUEST'].fields_by_name['id']._loaded_options = None
161
161
  _globals['_WATCHJOBREQUEST'].fields_by_name['id']._serialized_options = b'\272H\033r\0262\024^job_[a-zA-Z0-9_-]+$\310\001\001'
162
- _globals['_JOBSTATUS']._serialized_start=18546
163
- _globals['_JOBSTATUS']._serialized_end=18818
164
- _globals['_OUTPUTSTATUS']._serialized_start=18821
165
- _globals['_OUTPUTSTATUS']._serialized_end=19031
166
- _globals['_JOBPRIORITY']._serialized_start=19033
167
- _globals['_JOBPRIORITY']._serialized_end=19155
168
- _globals['_WATCHEVENTTYPE']._serialized_start=19158
169
- _globals['_WATCHEVENTTYPE']._serialized_end=19370
170
- _globals['_JOBCOSTLINETYPE']._serialized_start=19373
171
- _globals['_JOBCOSTLINETYPE']._serialized_end=19559
162
+ _globals['_JOBSTATUS']._serialized_start=18905
163
+ _globals['_JOBSTATUS']._serialized_end=19177
164
+ _globals['_OUTPUTSTATUS']._serialized_start=19180
165
+ _globals['_OUTPUTSTATUS']._serialized_end=19390
166
+ _globals['_JOBPRIORITY']._serialized_start=19392
167
+ _globals['_JOBPRIORITY']._serialized_end=19514
168
+ _globals['_WATCHEVENTTYPE']._serialized_start=19517
169
+ _globals['_WATCHEVENTTYPE']._serialized_end=19729
170
+ _globals['_JOBCOSTLINETYPE']._serialized_start=19732
171
+ _globals['_JOBCOSTLINETYPE']._serialized_end=19918
172
172
  _globals['_AUDIOTRACKCONFIG']._serialized_start=540
173
173
  _globals['_AUDIOTRACKCONFIG']._serialized_end=773
174
174
  _globals['_VIDEOVARIANT']._serialized_start=776
@@ -190,61 +190,63 @@ if not _descriptor._USE_C_DESCRIPTORS:
190
190
  _globals['_OUTPUTREPORT']._serialized_start=7808
191
191
  _globals['_OUTPUTREPORT']._serialized_end=8274
192
192
  _globals['_OUTPUTREPORTCONTENTAWARE']._serialized_start=8277
193
- _globals['_OUTPUTREPORTCONTENTAWARE']._serialized_end=8488
194
- _globals['_OUTPUTREPORTVIDEO']._serialized_start=8491
195
- _globals['_OUTPUTREPORTVIDEO']._serialized_end=8911
196
- _globals['_OUTPUTREPORTCOLOR']._serialized_start=8914
197
- _globals['_OUTPUTREPORTCOLOR']._serialized_end=9105
198
- _globals['_OUTPUTREPORTAUDIO']._serialized_start=9108
199
- _globals['_OUTPUTREPORTAUDIO']._serialized_end=9360
200
- _globals['_OUTPUTREPORTVERDICT']._serialized_start=9363
201
- _globals['_OUTPUTREPORTVERDICT']._serialized_end=9495
202
- _globals['_OUTPUTREPORTMISMATCH']._serialized_start=9497
203
- _globals['_OUTPUTREPORTMISMATCH']._serialized_end=9593
204
- _globals['_OUTPUTVARIANTRESULT']._serialized_start=9596
205
- _globals['_OUTPUTVARIANTRESULT']._serialized_end=9816
206
- _globals['_EXECUTIONTIMING']._serialized_start=9819
207
- _globals['_EXECUTIONTIMING']._serialized_end=11383
208
- _globals['_JOB']._serialized_start=11386
209
- _globals['_JOB']._serialized_end=13714
210
- _globals['_JOB_METADATAENTRY']._serialized_start=13372
211
- _globals['_JOB_METADATAENTRY']._serialized_end=13431
212
- _globals['_JOBFEE']._serialized_start=13717
213
- _globals['_JOBFEE']._serialized_end=13922
214
- _globals['_JOBCOSTLINE']._serialized_start=13925
215
- _globals['_JOBCOSTLINE']._serialized_end=14211
216
- _globals['_JOBCOSTBREAKDOWN']._serialized_start=14214
217
- _globals['_JOBCOSTBREAKDOWN']._serialized_end=14434
218
- _globals['_CLIPCONFIG']._serialized_start=14437
219
- _globals['_CLIPCONFIG']._serialized_end=14916
220
- _globals['_CREATEJOBREQUEST']._serialized_start=14919
221
- _globals['_CREATEJOBREQUEST']._serialized_end=17049
222
- _globals['_CREATEJOBREQUEST_METADATAENTRY']._serialized_start=13372
223
- _globals['_CREATEJOBREQUEST_METADATAENTRY']._serialized_end=13431
224
- _globals['_CREATEJOBRESPONSE']._serialized_start=17051
225
- _globals['_CREATEJOBRESPONSE']._serialized_end=17154
226
- _globals['_GETJOBREQUEST']._serialized_start=17156
227
- _globals['_GETJOBREQUEST']._serialized_end=17219
228
- _globals['_GETJOBRESPONSE']._serialized_start=17221
229
- _globals['_GETJOBRESPONSE']._serialized_end=17276
230
- _globals['_LISTJOBSREQUEST']._serialized_start=17279
231
- _globals['_LISTJOBSREQUEST']._serialized_end=17914
232
- _globals['_LISTJOBSREQUEST_METADATAENTRY']._serialized_start=13372
233
- _globals['_LISTJOBSREQUEST_METADATAENTRY']._serialized_end=13431
234
- _globals['_LISTJOBSRESPONSE']._serialized_start=17916
235
- _globals['_LISTJOBSRESPONSE']._serialized_end=18043
236
- _globals['_CANCELJOBREQUEST']._serialized_start=18045
237
- _globals['_CANCELJOBREQUEST']._serialized_end=18111
238
- _globals['_CANCELJOBRESPONSE']._serialized_start=18113
239
- _globals['_CANCELJOBRESPONSE']._serialized_end=18171
240
- _globals['_CONFIRMJOBREQUEST']._serialized_start=18173
241
- _globals['_CONFIRMJOBREQUEST']._serialized_end=18240
242
- _globals['_CONFIRMJOBRESPONSE']._serialized_start=18242
243
- _globals['_CONFIRMJOBRESPONSE']._serialized_end=18301
244
- _globals['_WATCHJOBREQUEST']._serialized_start=18303
245
- _globals['_WATCHJOBREQUEST']._serialized_end=18368
246
- _globals['_WATCHJOBRESPONSE']._serialized_start=18371
247
- _globals['_WATCHJOBRESPONSE']._serialized_end=18543
248
- _globals['_JOBSERVICE']._serialized_start=19562
249
- _globals['_JOBSERVICE']._serialized_end=20037
193
+ _globals['_OUTPUTREPORTCONTENTAWARE']._serialized_end=8655
194
+ _globals['_OUTPUTREPORTCONTENTAWAREPROBE']._serialized_start=8657
195
+ _globals['_OUTPUTREPORTCONTENTAWAREPROBE']._serialized_end=8783
196
+ _globals['_OUTPUTREPORTVIDEO']._serialized_start=8786
197
+ _globals['_OUTPUTREPORTVIDEO']._serialized_end=9206
198
+ _globals['_OUTPUTREPORTCOLOR']._serialized_start=9209
199
+ _globals['_OUTPUTREPORTCOLOR']._serialized_end=9400
200
+ _globals['_OUTPUTREPORTAUDIO']._serialized_start=9403
201
+ _globals['_OUTPUTREPORTAUDIO']._serialized_end=9655
202
+ _globals['_OUTPUTREPORTVERDICT']._serialized_start=9658
203
+ _globals['_OUTPUTREPORTVERDICT']._serialized_end=9790
204
+ _globals['_OUTPUTREPORTMISMATCH']._serialized_start=9792
205
+ _globals['_OUTPUTREPORTMISMATCH']._serialized_end=9888
206
+ _globals['_OUTPUTVARIANTRESULT']._serialized_start=9891
207
+ _globals['_OUTPUTVARIANTRESULT']._serialized_end=10111
208
+ _globals['_EXECUTIONTIMING']._serialized_start=10114
209
+ _globals['_EXECUTIONTIMING']._serialized_end=11678
210
+ _globals['_JOB']._serialized_start=11681
211
+ _globals['_JOB']._serialized_end=14073
212
+ _globals['_JOB_METADATAENTRY']._serialized_start=13731
213
+ _globals['_JOB_METADATAENTRY']._serialized_end=13790
214
+ _globals['_JOBFEE']._serialized_start=14076
215
+ _globals['_JOBFEE']._serialized_end=14281
216
+ _globals['_JOBCOSTLINE']._serialized_start=14284
217
+ _globals['_JOBCOSTLINE']._serialized_end=14570
218
+ _globals['_JOBCOSTBREAKDOWN']._serialized_start=14573
219
+ _globals['_JOBCOSTBREAKDOWN']._serialized_end=14793
220
+ _globals['_CLIPCONFIG']._serialized_start=14796
221
+ _globals['_CLIPCONFIG']._serialized_end=15275
222
+ _globals['_CREATEJOBREQUEST']._serialized_start=15278
223
+ _globals['_CREATEJOBREQUEST']._serialized_end=17408
224
+ _globals['_CREATEJOBREQUEST_METADATAENTRY']._serialized_start=13731
225
+ _globals['_CREATEJOBREQUEST_METADATAENTRY']._serialized_end=13790
226
+ _globals['_CREATEJOBRESPONSE']._serialized_start=17410
227
+ _globals['_CREATEJOBRESPONSE']._serialized_end=17513
228
+ _globals['_GETJOBREQUEST']._serialized_start=17515
229
+ _globals['_GETJOBREQUEST']._serialized_end=17578
230
+ _globals['_GETJOBRESPONSE']._serialized_start=17580
231
+ _globals['_GETJOBRESPONSE']._serialized_end=17635
232
+ _globals['_LISTJOBSREQUEST']._serialized_start=17638
233
+ _globals['_LISTJOBSREQUEST']._serialized_end=18273
234
+ _globals['_LISTJOBSREQUEST_METADATAENTRY']._serialized_start=13731
235
+ _globals['_LISTJOBSREQUEST_METADATAENTRY']._serialized_end=13790
236
+ _globals['_LISTJOBSRESPONSE']._serialized_start=18275
237
+ _globals['_LISTJOBSRESPONSE']._serialized_end=18402
238
+ _globals['_CANCELJOBREQUEST']._serialized_start=18404
239
+ _globals['_CANCELJOBREQUEST']._serialized_end=18470
240
+ _globals['_CANCELJOBRESPONSE']._serialized_start=18472
241
+ _globals['_CANCELJOBRESPONSE']._serialized_end=18530
242
+ _globals['_CONFIRMJOBREQUEST']._serialized_start=18532
243
+ _globals['_CONFIRMJOBREQUEST']._serialized_end=18599
244
+ _globals['_CONFIRMJOBRESPONSE']._serialized_start=18601
245
+ _globals['_CONFIRMJOBRESPONSE']._serialized_end=18660
246
+ _globals['_WATCHJOBREQUEST']._serialized_start=18662
247
+ _globals['_WATCHJOBREQUEST']._serialized_end=18727
248
+ _globals['_WATCHJOBRESPONSE']._serialized_start=18730
249
+ _globals['_WATCHJOBRESPONSE']._serialized_end=18902
250
+ _globals['_JOBSERVICE']._serialized_start=19921
251
+ _globals['_JOBSERVICE']._serialized_end=20396
250
252
  # @@protoc_insertion_point(module_scope)
@@ -338,16 +338,32 @@ class OutputReport(_message.Message):
338
338
  def __init__(self, container: _Optional[str] = ..., video: _Optional[_Union[OutputReportVideo, _Mapping]] = ..., audio: _Optional[_Iterable[_Union[OutputReportAudio, _Mapping]]] = ..., duration_seconds: _Optional[float] = ..., verdict: _Optional[_Union[OutputReportVerdict, _Mapping]] = ..., checked_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., content_aware: _Optional[_Union[OutputReportContentAware, _Mapping]] = ...) -> None: ...
339
339
 
340
340
  class OutputReportContentAware(_message.Message):
341
- __slots__ = ("mode", "vmaf_target", "vmaf_achieved", "crf_chosen")
341
+ __slots__ = ("mode", "vmaf_target", "vmaf_achieved", "crf_chosen", "seed_crf", "met_target", "probes")
342
342
  MODE_FIELD_NUMBER: _ClassVar[int]
343
343
  VMAF_TARGET_FIELD_NUMBER: _ClassVar[int]
344
344
  VMAF_ACHIEVED_FIELD_NUMBER: _ClassVar[int]
345
345
  CRF_CHOSEN_FIELD_NUMBER: _ClassVar[int]
346
+ SEED_CRF_FIELD_NUMBER: _ClassVar[int]
347
+ MET_TARGET_FIELD_NUMBER: _ClassVar[int]
348
+ PROBES_FIELD_NUMBER: _ClassVar[int]
346
349
  mode: str
347
350
  vmaf_target: float
348
351
  vmaf_achieved: float
349
352
  crf_chosen: int
350
- def __init__(self, mode: _Optional[str] = ..., vmaf_target: _Optional[float] = ..., vmaf_achieved: _Optional[float] = ..., crf_chosen: _Optional[int] = ...) -> None: ...
353
+ seed_crf: int
354
+ met_target: bool
355
+ probes: _containers.RepeatedCompositeFieldContainer[OutputReportContentAwareProbe]
356
+ def __init__(self, mode: _Optional[str] = ..., vmaf_target: _Optional[float] = ..., vmaf_achieved: _Optional[float] = ..., crf_chosen: _Optional[int] = ..., seed_crf: _Optional[int] = ..., met_target: bool = ..., probes: _Optional[_Iterable[_Union[OutputReportContentAwareProbe, _Mapping]]] = ...) -> None: ...
357
+
358
+ class OutputReportContentAwareProbe(_message.Message):
359
+ __slots__ = ("crf", "vmaf", "bitrate_kbps")
360
+ CRF_FIELD_NUMBER: _ClassVar[int]
361
+ VMAF_FIELD_NUMBER: _ClassVar[int]
362
+ BITRATE_KBPS_FIELD_NUMBER: _ClassVar[int]
363
+ crf: int
364
+ vmaf: float
365
+ bitrate_kbps: float
366
+ def __init__(self, crf: _Optional[int] = ..., vmaf: _Optional[float] = ..., bitrate_kbps: _Optional[float] = ...) -> None: ...
351
367
 
352
368
  class OutputReportVideo(_message.Message):
353
369
  __slots__ = ("codec", "profile", "level", "pix_fmt", "width", "height", "frame_rate", "bitrate_kbps", "color", "hdr_format")
@@ -484,7 +500,7 @@ class ExecutionTiming(_message.Message):
484
500
  def __init__(self, instance_id: _Optional[str] = ..., instance_type: _Optional[str] = ..., instance_location: _Optional[str] = ..., vcpu_count: _Optional[int] = ..., memory_mb: _Optional[int] = ..., boot_duration_ms: _Optional[int] = ..., download_duration_ms: _Optional[int] = ..., probe_duration_ms: _Optional[int] = ..., encode_duration_ms: _Optional[int] = ..., upload_duration_ms: _Optional[int] = ..., packaging_duration_ms: _Optional[int] = ..., total_duration_ms: _Optional[int] = ..., download_bytes: _Optional[int] = ..., download_speed_mbps: _Optional[float] = ..., upload_bytes: _Optional[int] = ..., upload_speed_mbps: _Optional[float] = ..., avg_cpu_percent: _Optional[float] = ..., peak_cpu_percent: _Optional[float] = ..., avg_memory_mb: _Optional[int] = ..., peak_memory_mb: _Optional[int] = ..., chunk_count: _Optional[int] = ..., chunk_strategy: _Optional[str] = ..., exit_code: _Optional[int] = ..., exit_reason: _Optional[str] = ...) -> None: ...
485
501
 
486
502
  class Job(_message.Message):
487
- __slots__ = ("id", "app_id", "input_url", "input_origin", "output_origin", "status", "progress", "priority", "input_metadata", "outputs", "total_estimated_cost", "total_actual_cost", "error_code", "error_message", "webhook_url", "metadata", "created_at", "updated_at", "probed_at", "started_at", "completed_at", "delayed_start", "confirmed_at", "currency", "execution", "thumbnails", "thumbnail_results", "subtitle_results", "output_path_template", "object", "minimum_charge_eur", "minimum_charge_applied", "fees", "input_video_id", "chapter_results", "clip", "video_id", "cost_breakdown")
503
+ __slots__ = ("id", "app_id", "input_url", "input_origin", "output_origin", "status", "progress", "priority", "input_metadata", "outputs", "total_estimated_cost", "total_actual_cost", "error_code", "error_message", "webhook_url", "metadata", "created_at", "updated_at", "probed_at", "started_at", "completed_at", "delayed_start", "confirmed_at", "currency", "execution", "thumbnails", "thumbnail_results", "subtitle_results", "output_path_template", "object", "minimum_charge_eur", "minimum_charge_applied", "fees", "input_video_id", "chapter_results", "clip", "video_id", "cost_breakdown", "insights")
488
504
  class MetadataEntry(_message.Message):
489
505
  __slots__ = ("key", "value")
490
506
  KEY_FIELD_NUMBER: _ClassVar[int]
@@ -530,6 +546,7 @@ class Job(_message.Message):
530
546
  CLIP_FIELD_NUMBER: _ClassVar[int]
531
547
  VIDEO_ID_FIELD_NUMBER: _ClassVar[int]
532
548
  COST_BREAKDOWN_FIELD_NUMBER: _ClassVar[int]
549
+ INSIGHTS_FIELD_NUMBER: _ClassVar[int]
533
550
  id: str
534
551
  app_id: str
535
552
  input_url: str
@@ -568,7 +585,8 @@ class Job(_message.Message):
568
585
  clip: ClipConfig
569
586
  video_id: str
570
587
  cost_breakdown: JobCostBreakdown
571
- def __init__(self, id: _Optional[str] = ..., app_id: _Optional[str] = ..., input_url: _Optional[str] = ..., input_origin: _Optional[_Union[_origin_pb2.OriginRef, _Mapping]] = ..., output_origin: _Optional[_Union[_origin_pb2.OriginRef, _Mapping]] = ..., status: _Optional[_Union[JobStatus, str]] = ..., progress: _Optional[int] = ..., priority: _Optional[_Union[JobPriority, str]] = ..., input_metadata: _Optional[_Union[_media_pb2.InputMetadata, _Mapping]] = ..., outputs: _Optional[_Iterable[_Union[JobOutput, _Mapping]]] = ..., total_estimated_cost: _Optional[float] = ..., total_actual_cost: _Optional[float] = ..., error_code: _Optional[str] = ..., error_message: _Optional[str] = ..., webhook_url: _Optional[str] = ..., metadata: _Optional[_Mapping[str, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., probed_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., completed_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., delayed_start: bool = ..., confirmed_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., currency: _Optional[str] = ..., execution: _Optional[_Union[ExecutionTiming, _Mapping]] = ..., thumbnails: _Optional[_Iterable[_Union[_thumbnails_pb2.ThumbnailSpec, _Mapping]]] = ..., thumbnail_results: _Optional[_Iterable[_Union[_thumbnails_pb2.ThumbnailResult, _Mapping]]] = ..., subtitle_results: _Optional[_Iterable[_Union[_subtitles_pb2.SubtitleResult, _Mapping]]] = ..., output_path_template: _Optional[str] = ..., object: _Optional[str] = ..., minimum_charge_eur: _Optional[float] = ..., minimum_charge_applied: bool = ..., fees: _Optional[_Iterable[_Union[JobFee, _Mapping]]] = ..., input_video_id: _Optional[str] = ..., chapter_results: _Optional[_Iterable[_Union[_subtitles_pb2.ChapterResult, _Mapping]]] = ..., clip: _Optional[_Union[ClipConfig, _Mapping]] = ..., video_id: _Optional[str] = ..., cost_breakdown: _Optional[_Union[JobCostBreakdown, _Mapping]] = ...) -> None: ...
588
+ insights: _containers.RepeatedCompositeFieldContainer[_subtitles_pb2.TranscriptInsights]
589
+ def __init__(self, id: _Optional[str] = ..., app_id: _Optional[str] = ..., input_url: _Optional[str] = ..., input_origin: _Optional[_Union[_origin_pb2.OriginRef, _Mapping]] = ..., output_origin: _Optional[_Union[_origin_pb2.OriginRef, _Mapping]] = ..., status: _Optional[_Union[JobStatus, str]] = ..., progress: _Optional[int] = ..., priority: _Optional[_Union[JobPriority, str]] = ..., input_metadata: _Optional[_Union[_media_pb2.InputMetadata, _Mapping]] = ..., outputs: _Optional[_Iterable[_Union[JobOutput, _Mapping]]] = ..., total_estimated_cost: _Optional[float] = ..., total_actual_cost: _Optional[float] = ..., error_code: _Optional[str] = ..., error_message: _Optional[str] = ..., webhook_url: _Optional[str] = ..., metadata: _Optional[_Mapping[str, str]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., probed_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., started_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., completed_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., delayed_start: bool = ..., confirmed_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., currency: _Optional[str] = ..., execution: _Optional[_Union[ExecutionTiming, _Mapping]] = ..., thumbnails: _Optional[_Iterable[_Union[_thumbnails_pb2.ThumbnailSpec, _Mapping]]] = ..., thumbnail_results: _Optional[_Iterable[_Union[_thumbnails_pb2.ThumbnailResult, _Mapping]]] = ..., subtitle_results: _Optional[_Iterable[_Union[_subtitles_pb2.SubtitleResult, _Mapping]]] = ..., output_path_template: _Optional[str] = ..., object: _Optional[str] = ..., minimum_charge_eur: _Optional[float] = ..., minimum_charge_applied: bool = ..., fees: _Optional[_Iterable[_Union[JobFee, _Mapping]]] = ..., input_video_id: _Optional[str] = ..., chapter_results: _Optional[_Iterable[_Union[_subtitles_pb2.ChapterResult, _Mapping]]] = ..., clip: _Optional[_Union[ClipConfig, _Mapping]] = ..., video_id: _Optional[str] = ..., cost_breakdown: _Optional[_Union[JobCostBreakdown, _Mapping]] = ..., insights: _Optional[_Iterable[_Union[_subtitles_pb2.TranscriptInsights, _Mapping]]] = ...) -> None: ...
572
590
 
573
591
  class JobFee(_message.Message):
574
592
  __slots__ = ("fee_type", "description", "unit", "quantity", "rate", "amount", "currency", "id")
@@ -23,9 +23,10 @@ _sym_db = _symbol_database.Default()
23
23
 
24
24
 
25
25
  from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
26
27
 
27
28
 
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1etranscodely/v1/subtitles.proto\x12\x0etranscodely.v1\x1a\x1b\x62uf/validate/validate.proto\"\xcc\x03\n\x0b\x42urnInStyle\x12@\n\x0b\x66ont_family\x18\x01 \x01(\tB\x1a\xbaH\x17r\x15\x18@2\x11^[a-zA-Z0-9 _-]+$H\x00R\nfontFamily\x88\x01\x01\x12+\n\tfont_size\x18\x02 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18x(\x08H\x01R\x08\x66ontSize\x88\x01\x01\x12<\n\nfont_color\x18\x03 \x01(\tB\x18\xbaH\x15r\x13\x32\x11^#[0-9A-Fa-f]{6}$H\x02R\tfontColor\x88\x01\x01\x12\x42\n\routline_color\x18\x04 \x01(\tB\x18\xbaH\x15r\x13\x32\x11^#[0-9A-Fa-f]{6}$H\x03R\x0coutlineColor\x88\x01\x01\x12\x33\n\routline_width\x18\x05 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18\n(\x00H\x04R\x0coutlineWidth\x88\x01\x01\x12\x34\n\rmargin_bottom\x18\x06 \x01(\x05\x42\n\xbaH\x07\x1a\x05\x18\xc8\x01(\x00H\x05R\x0cmarginBottom\x88\x01\x01\x42\x0e\n\x0c_font_familyB\x0c\n\n_font_sizeB\r\n\x0b_font_colorB\x10\n\x0e_outline_colorB\x10\n\x0e_outline_widthB\x10\n\x0e_margin_bottom\"\xc4\x06\n\rSubtitleTrack\x12L\n\toperation\x18\x01 \x01(\x0e\x32!.transcodely.v1.SubtitleOperationB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\toperation\x12>\n\x13source_stream_index\x18\x02 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18\x1f(\x00H\x00R\x11sourceStreamIndex\x88\x01\x01\x12,\n\nsource_url\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x10H\x01R\tsourceUrl\x88\x01\x01\x12K\n\x0cinput_format\x18\x04 \x01(\x0e\x32\x1e.transcodely.v1.SubtitleFormatB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0binputFormat\x12M\n\routput_format\x18\x05 \x01(\x0e\x32\x1e.transcodely.v1.SubtitleFormatB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0coutputFormat\x12\x39\n\x08language\x18\x06 \x01(\tB\x18\xbaH\x15r\x13\x32\x11^([a-z]{3}|auto)$H\x02R\x08language\x88\x01\x01\x12\"\n\x05label\x18\x07 \x01(\tB\x07\xbaH\x04r\x02\x18@H\x03R\x05label\x88\x01\x01\x12\"\n\nis_default\x18\x08 \x01(\x08H\x04R\tisDefault\x88\x01\x01\x12.\n\x10hearing_impaired\x18\t \x01(\x08H\x05R\x0fhearingImpaired\x88\x01\x01\x12\x1b\n\x06\x66orced\x18\n \x01(\x08H\x06R\x06\x66orced\x88\x01\x01\x12\x44\n\rburn_in_style\x18\x0b \x01(\x0b\x32\x1b.transcodely.v1.BurnInStyleH\x07R\x0b\x62urnInStyle\x88\x01\x01\x12\x30\n\x11generate_chapters\x18\x0c \x01(\x08H\x08R\x10generateChapters\x88\x01\x01\x42\x16\n\x14_source_stream_indexB\r\n\x0b_source_urlB\x0b\n\t_languageB\x08\n\x06_labelB\r\n\x0b_is_defaultB\x13\n\x11_hearing_impairedB\t\n\x07_forcedB\x10\n\x0e_burn_in_styleB\x14\n\x12_generate_chapters\"j\n\x0c\x43hapterPoint\x12#\n\rstart_seconds\x18\x01 \x01(\x01R\x0cstartSeconds\x12\x1f\n\x0b\x65nd_seconds\x18\x02 \x01(\x01R\nendSeconds\x12\x14\n\x05title\x18\x03 \x01(\tR\x05title\"\xb5\x01\n\rChapterResult\x12\x1b\n\toutput_id\x18\x01 \x01(\tR\x08outputId\x12\x1a\n\x08language\x18\x02 \x01(\tR\x08language\x12\x1f\n\x0bstorage_key\x18\x03 \x01(\tR\nstorageKey\x12\x10\n\x03url\x18\x04 \x01(\tR\x03url\x12\x38\n\x08\x63hapters\x18\x05 \x03(\x0b\x32\x1c.transcodely.v1.ChapterPointR\x08\x63hapters\"\x95\x04\n\x0eSubtitleResult\x12\x1b\n\toutput_id\x18\x01 \x01(\tR\x08outputId\x12?\n\toperation\x18\x02 \x01(\x0e\x32!.transcodely.v1.SubtitleOperationR\toperation\x12\x36\n\x06\x66ormat\x18\x03 \x01(\x0e\x32\x1e.transcodely.v1.SubtitleFormatR\x06\x66ormat\x12\x1a\n\x08language\x18\x04 \x01(\tR\x08language\x12\x14\n\x05label\x18\x05 \x01(\tR\x05label\x12%\n\x0e\x61uto_generated\x18\x06 \x01(\x08R\rautoGenerated\x12\x1f\n\x0bstorage_key\x18\x07 \x01(\tR\nstorageKey\x12\x10\n\x03url\x18\x08 \x01(\tR\x03url\x12\x34\n\x16transcript_storage_key\x18\t \x01(\tR\x14transcriptStorageKey\x12%\n\x0etranscript_url\x18\n \x01(\tR\rtranscriptUrl\x12\"\n\nsigned_url\x18\x0b \x01(\tH\x00R\tsignedUrl\x88\x01\x01\x12\x37\n\x15transcript_signed_url\x18\x0c \x01(\tH\x01R\x13transcriptSignedUrl\x88\x01\x01\x42\r\n\x0b_signed_urlB\x18\n\x16_transcript_signed_url*\xdc\x01\n\x11SubtitleOperation\x12\"\n\x1eSUBTITLE_OPERATION_UNSPECIFIED\x10\x00\x12\"\n\x1eSUBTITLE_OPERATION_PASSTHROUGH\x10\x01\x12\x1e\n\x1aSUBTITLE_OPERATION_CONVERT\x10\x02\x12\x1e\n\x1aSUBTITLE_OPERATION_BURN_IN\x10\x03\x12\x1e\n\x1aSUBTITLE_OPERATION_EXTRACT\x10\x04\x12\x1f\n\x1bSUBTITLE_OPERATION_GENERATE\x10\x05*\x99\x01\n\x0eSubtitleFormat\x12\x1f\n\x1bSUBTITLE_FORMAT_UNSPECIFIED\x10\x00\x12\x17\n\x13SUBTITLE_FORMAT_SRT\x10\x01\x12\x1a\n\x16SUBTITLE_FORMAT_WEBVTT\x10\x02\x12\x18\n\x14SUBTITLE_FORMAT_TTML\x10\x03\x12\x17\n\x13SUBTITLE_FORMAT_ASS\x10\x04\x62\x06proto3')
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1etranscodely/v1/subtitles.proto\x12\x0etranscodely.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xcc\x03\n\x0b\x42urnInStyle\x12@\n\x0b\x66ont_family\x18\x01 \x01(\tB\x1a\xbaH\x17r\x15\x18@2\x11^[a-zA-Z0-9 _-]+$H\x00R\nfontFamily\x88\x01\x01\x12+\n\tfont_size\x18\x02 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18x(\x08H\x01R\x08\x66ontSize\x88\x01\x01\x12<\n\nfont_color\x18\x03 \x01(\tB\x18\xbaH\x15r\x13\x32\x11^#[0-9A-Fa-f]{6}$H\x02R\tfontColor\x88\x01\x01\x12\x42\n\routline_color\x18\x04 \x01(\tB\x18\xbaH\x15r\x13\x32\x11^#[0-9A-Fa-f]{6}$H\x03R\x0coutlineColor\x88\x01\x01\x12\x33\n\routline_width\x18\x05 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18\n(\x00H\x04R\x0coutlineWidth\x88\x01\x01\x12\x34\n\rmargin_bottom\x18\x06 \x01(\x05\x42\n\xbaH\x07\x1a\x05\x18\xc8\x01(\x00H\x05R\x0cmarginBottom\x88\x01\x01\x42\x0e\n\x0c_font_familyB\x0c\n\n_font_sizeB\r\n\x0b_font_colorB\x10\n\x0e_outline_colorB\x10\n\x0e_outline_widthB\x10\n\x0e_margin_bottom\"\xc8\x07\n\rSubtitleTrack\x12L\n\toperation\x18\x01 \x01(\x0e\x32!.transcodely.v1.SubtitleOperationB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\toperation\x12>\n\x13source_stream_index\x18\x02 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18\x1f(\x00H\x00R\x11sourceStreamIndex\x88\x01\x01\x12,\n\nsource_url\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x10H\x01R\tsourceUrl\x88\x01\x01\x12K\n\x0cinput_format\x18\x04 \x01(\x0e\x32\x1e.transcodely.v1.SubtitleFormatB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0binputFormat\x12M\n\routput_format\x18\x05 \x01(\x0e\x32\x1e.transcodely.v1.SubtitleFormatB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0coutputFormat\x12\x39\n\x08language\x18\x06 \x01(\tB\x18\xbaH\x15r\x13\x32\x11^([a-z]{3}|auto)$H\x02R\x08language\x88\x01\x01\x12\"\n\x05label\x18\x07 \x01(\tB\x07\xbaH\x04r\x02\x18@H\x03R\x05label\x88\x01\x01\x12\"\n\nis_default\x18\x08 \x01(\x08H\x04R\tisDefault\x88\x01\x01\x12.\n\x10hearing_impaired\x18\t \x01(\x08H\x05R\x0fhearingImpaired\x88\x01\x01\x12\x1b\n\x06\x66orced\x18\n \x01(\x08H\x06R\x06\x66orced\x88\x01\x01\x12\x44\n\rburn_in_style\x18\x0b \x01(\x0b\x32\x1b.transcodely.v1.BurnInStyleH\x07R\x0b\x62urnInStyle\x88\x01\x01\x12\x34\n\x11generate_chapters\x18\x0c \x01(\x08\x42\x02\x18\x01H\x08R\x10generateChapters\x88\x01\x01\x12\x41\n\ntranscript\x18\r \x01(\x0b\x32!.transcodely.v1.TranscriptOptionsR\ntranscript\x12;\n\x08insights\x18\x0e \x01(\x0b\x32\x1f.transcodely.v1.InsightsOptionsR\x08insightsB\x16\n\x14_source_stream_indexB\r\n\x0b_source_urlB\x0b\n\t_languageB\x08\n\x06_labelB\r\n\x0b_is_defaultB\x13\n\x11_hearing_impairedB\t\n\x07_forcedB\x10\n\x0e_burn_in_styleB\x14\n\x12_generate_chapters\"c\n\x11TranscriptOptions\x12\x44\n\x05style\x18\x01 \x01(\x0e\x32\x1f.transcodely.v1.TranscriptStyleB\x08\xbaH\x05\x82\x01\x02\x10\x01H\x00R\x05style\x88\x01\x01\x42\x08\n\x06_style\"W\n\x0fInsightsOptions\x12\x18\n\x07\x65nabled\x18\x01 \x01(\x08R\x07\x65nabled\x12!\n\x04hint\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\xac\x02H\x00R\x04hint\x88\x01\x01\x42\x07\n\x05_hint\"\xb5\x01\n\x13TranscriptRendition\x12\x38\n\x06\x66ormat\x18\x01 \x01(\x0e\x32 .transcodely.v1.TranscriptFormatR\x06\x66ormat\x12\x1f\n\x0bstorage_key\x18\x02 \x01(\tR\nstorageKey\x12\x10\n\x03url\x18\x03 \x01(\tR\x03url\x12\"\n\nsigned_url\x18\x04 \x01(\tH\x00R\tsignedUrl\x88\x01\x01\x42\r\n\x0b_signed_url\"j\n\x0c\x43hapterPoint\x12#\n\rstart_seconds\x18\x01 \x01(\x01R\x0cstartSeconds\x12\x1f\n\x0b\x65nd_seconds\x18\x02 \x01(\x01R\nendSeconds\x12\x14\n\x05title\x18\x03 \x01(\tR\x05title\"\xb5\x01\n\rChapterResult\x12\x1b\n\toutput_id\x18\x01 \x01(\tR\x08outputId\x12\x1a\n\x08language\x18\x02 \x01(\tR\x08language\x12\x1f\n\x0bstorage_key\x18\x03 \x01(\tR\nstorageKey\x12\x10\n\x03url\x18\x04 \x01(\tR\x03url\x12\x38\n\x08\x63hapters\x18\x05 \x03(\x0b\x32\x1c.transcodely.v1.ChapterPointR\x08\x63hapters\"\xbb\x05\n\x0eSubtitleResult\x12\x1b\n\toutput_id\x18\x01 \x01(\tR\x08outputId\x12?\n\toperation\x18\x02 \x01(\x0e\x32!.transcodely.v1.SubtitleOperationR\toperation\x12\x36\n\x06\x66ormat\x18\x03 \x01(\x0e\x32\x1e.transcodely.v1.SubtitleFormatR\x06\x66ormat\x12\x1a\n\x08language\x18\x04 \x01(\tR\x08language\x12\x14\n\x05label\x18\x05 \x01(\tR\x05label\x12%\n\x0e\x61uto_generated\x18\x06 \x01(\x08R\rautoGenerated\x12\x1f\n\x0bstorage_key\x18\x07 \x01(\tR\nstorageKey\x12\x10\n\x03url\x18\x08 \x01(\tR\x03url\x12\x34\n\x16transcript_storage_key\x18\t \x01(\tR\x14transcriptStorageKey\x12%\n\x0etranscript_url\x18\n \x01(\tR\rtranscriptUrl\x12\"\n\nsigned_url\x18\x0b \x01(\tH\x00R\tsignedUrl\x88\x01\x01\x12\x37\n\x15transcript_signed_url\x18\x0c \x01(\tH\x01R\x13transcriptSignedUrl\x88\x01\x01\x12X\n\x15transcript_renditions\x18\r \x03(\x0b\x32#.transcodely.v1.TranscriptRenditionR\x14transcriptRenditions\x12J\n\x10transcript_style\x18\x0e \x01(\x0e\x32\x1f.transcodely.v1.TranscriptStyleR\x0ftranscriptStyleB\r\n\x0b_signed_urlB\x18\n\x16_transcript_signed_url\"k\n\x10InsightsQuestion\x12\x1a\n\x08question\x18\x01 \x01(\tR\x08question\x12\x16\n\x06\x61nswer\x18\x02 \x01(\tR\x06\x61nswer\x12#\n\rstart_seconds\x18\x03 \x01(\x01R\x0cstartSeconds\"g\n\x0cInsightsTerm\x12\x12\n\x04term\x18\x01 \x01(\tR\x04term\x12\x1e\n\ndefinition\x18\x02 \x01(\tR\ndefinition\x12#\n\rstart_seconds\x18\x03 \x01(\x01R\x0cstartSeconds\"m\n\x11InsightsHighlight\x12\x12\n\x04text\x18\x01 \x01(\tR\x04text\x12#\n\rstart_seconds\x18\x02 \x01(\x01R\x0cstartSeconds\x12\x1f\n\x0b\x65nd_seconds\x18\x03 \x01(\x01R\nendSeconds\"\x90\x08\n\x12TranscriptInsights\x12\x1b\n\toutput_id\x18\x01 \x01(\tR\x08outputId\x12\x1a\n\x08language\x18\x02 \x01(\tR\x08language\x12\x36\n\x06status\x18\x03 \x01(\x0e\x32\x1e.transcodely.v1.InsightsStatusR\x06status\x12\x1d\n\nerror_code\x18\x04 \x01(\tR\terrorCode\x12+\n\x11title_suggestions\x18\x05 \x03(\tR\x10titleSuggestions\x12\x18\n\x07summary\x18\x06 \x01(\tR\x07summary\x12\x1d\n\nkey_points\x18\x07 \x03(\tR\tkeyPoints\x12\x38\n\x08\x63hapters\x18\x08 \x03(\x0b\x32\x1c.transcodely.v1.ChapterPointR\x08\x63hapters\x12>\n\tquestions\x18\t \x03(\x0b\x32 .transcodely.v1.InsightsQuestionR\tquestions\x12\x32\n\x05terms\x18\n \x03(\x0b\x32\x1c.transcodely.v1.InsightsTermR\x05terms\x12\x41\n\nhighlights\x18\x0b \x03(\x0b\x32!.transcodely.v1.InsightsHighlightR\nhighlights\x12\x16\n\x06topics\x18\x0c \x03(\tR\x06topics\x12\x1f\n\x0bstorage_key\x18\r \x01(\tR\nstorageKey\x12\x10\n\x03url\x18\x0e \x01(\tR\x03url\x12\"\n\nsigned_url\x18\x0f \x01(\tH\x00R\tsignedUrl\x88\x01\x01\x12\x30\n\x14\x63hapters_storage_key\x18\x10 \x01(\tR\x12\x63haptersStorageKey\x12!\n\x0c\x63hapters_url\x18\x11 \x01(\tR\x0b\x63haptersUrl\x12\x33\n\x13\x63hapters_signed_url\x18\x12 \x01(\tH\x01R\x11\x63haptersSignedUrl\x88\x01\x01\x12\x30\n\x14markdown_storage_key\x18\x13 \x01(\tR\x12markdownStorageKey\x12!\n\x0cmarkdown_url\x18\x14 \x01(\tR\x0bmarkdownUrl\x12\x33\n\x13markdown_signed_url\x18\x15 \x01(\tH\x02R\x11markdownSignedUrl\x88\x01\x01\x12=\n\x0cgenerated_at\x18\x16 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0bgeneratedAt\x12\x12\n\x04hint\x18\x17 \x01(\tR\x04hintB\r\n\x0b_signed_urlB\x16\n\x14_chapters_signed_urlB\x16\n\x14_markdown_signed_url*\xdc\x01\n\x11SubtitleOperation\x12\"\n\x1eSUBTITLE_OPERATION_UNSPECIFIED\x10\x00\x12\"\n\x1eSUBTITLE_OPERATION_PASSTHROUGH\x10\x01\x12\x1e\n\x1aSUBTITLE_OPERATION_CONVERT\x10\x02\x12\x1e\n\x1aSUBTITLE_OPERATION_BURN_IN\x10\x03\x12\x1e\n\x1aSUBTITLE_OPERATION_EXTRACT\x10\x04\x12\x1f\n\x1bSUBTITLE_OPERATION_GENERATE\x10\x05*\x99\x01\n\x0eSubtitleFormat\x12\x1f\n\x1bSUBTITLE_FORMAT_UNSPECIFIED\x10\x00\x12\x17\n\x13SUBTITLE_FORMAT_SRT\x10\x01\x12\x1a\n\x16SUBTITLE_FORMAT_WEBVTT\x10\x02\x12\x18\n\x14SUBTITLE_FORMAT_TTML\x10\x03\x12\x17\n\x13SUBTITLE_FORMAT_ASS\x10\x04*m\n\x0fTranscriptStyle\x12 \n\x1cTRANSCRIPT_STYLE_UNSPECIFIED\x10\x00\x12\x1a\n\x16TRANSCRIPT_STYLE_CLEAN\x10\x01\x12\x1c\n\x18TRANSCRIPT_STYLE_LITERAL\x10\x02*\x86\x01\n\x10TranscriptFormat\x12!\n\x1dTRANSCRIPT_FORMAT_UNSPECIFIED\x10\x00\x12\x1a\n\x16TRANSCRIPT_FORMAT_JSON\x10\x01\x12\x19\n\x15TRANSCRIPT_FORMAT_TXT\x10\x02\x12\x18\n\x14TRANSCRIPT_FORMAT_MD\x10\x03*\x85\x01\n\x0eInsightsStatus\x12\x1f\n\x1bINSIGHTS_STATUS_UNSPECIFIED\x10\x00\x12\x1b\n\x17INSIGHTS_STATUS_PENDING\x10\x01\x12\x19\n\x15INSIGHTS_STATUS_READY\x10\x02\x12\x1a\n\x16INSIGHTS_STATUS_FAILED\x10\x03\x62\x06proto3')
29
30
 
30
31
  _globals = globals()
31
32
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -58,18 +59,44 @@ if not _descriptor._USE_C_DESCRIPTORS:
58
59
  _globals['_SUBTITLETRACK'].fields_by_name['language']._serialized_options = b'\272H\025r\0232\021^([a-z]{3}|auto)$'
59
60
  _globals['_SUBTITLETRACK'].fields_by_name['label']._loaded_options = None
60
61
  _globals['_SUBTITLETRACK'].fields_by_name['label']._serialized_options = b'\272H\004r\002\030@'
61
- _globals['_SUBTITLEOPERATION']._serialized_start=2210
62
- _globals['_SUBTITLEOPERATION']._serialized_end=2430
63
- _globals['_SUBTITLEFORMAT']._serialized_start=2433
64
- _globals['_SUBTITLEFORMAT']._serialized_end=2586
65
- _globals['_BURNINSTYLE']._serialized_start=80
66
- _globals['_BURNINSTYLE']._serialized_end=540
67
- _globals['_SUBTITLETRACK']._serialized_start=543
68
- _globals['_SUBTITLETRACK']._serialized_end=1379
69
- _globals['_CHAPTERPOINT']._serialized_start=1381
70
- _globals['_CHAPTERPOINT']._serialized_end=1487
71
- _globals['_CHAPTERRESULT']._serialized_start=1490
72
- _globals['_CHAPTERRESULT']._serialized_end=1671
73
- _globals['_SUBTITLERESULT']._serialized_start=1674
74
- _globals['_SUBTITLERESULT']._serialized_end=2207
62
+ _globals['_SUBTITLETRACK'].fields_by_name['generate_chapters']._loaded_options = None
63
+ _globals['_SUBTITLETRACK'].fields_by_name['generate_chapters']._serialized_options = b'\030\001'
64
+ _globals['_TRANSCRIPTOPTIONS'].fields_by_name['style']._loaded_options = None
65
+ _globals['_TRANSCRIPTOPTIONS'].fields_by_name['style']._serialized_options = b'\272H\005\202\001\002\020\001'
66
+ _globals['_INSIGHTSOPTIONS'].fields_by_name['hint']._loaded_options = None
67
+ _globals['_INSIGHTSOPTIONS'].fields_by_name['hint']._serialized_options = b'\272H\005r\003\030\254\002'
68
+ _globals['_SUBTITLEOPERATION']._serialized_start=4283
69
+ _globals['_SUBTITLEOPERATION']._serialized_end=4503
70
+ _globals['_SUBTITLEFORMAT']._serialized_start=4506
71
+ _globals['_SUBTITLEFORMAT']._serialized_end=4659
72
+ _globals['_TRANSCRIPTSTYLE']._serialized_start=4661
73
+ _globals['_TRANSCRIPTSTYLE']._serialized_end=4770
74
+ _globals['_TRANSCRIPTFORMAT']._serialized_start=4773
75
+ _globals['_TRANSCRIPTFORMAT']._serialized_end=4907
76
+ _globals['_INSIGHTSSTATUS']._serialized_start=4910
77
+ _globals['_INSIGHTSSTATUS']._serialized_end=5043
78
+ _globals['_BURNINSTYLE']._serialized_start=113
79
+ _globals['_BURNINSTYLE']._serialized_end=573
80
+ _globals['_SUBTITLETRACK']._serialized_start=576
81
+ _globals['_SUBTITLETRACK']._serialized_end=1544
82
+ _globals['_TRANSCRIPTOPTIONS']._serialized_start=1546
83
+ _globals['_TRANSCRIPTOPTIONS']._serialized_end=1645
84
+ _globals['_INSIGHTSOPTIONS']._serialized_start=1647
85
+ _globals['_INSIGHTSOPTIONS']._serialized_end=1734
86
+ _globals['_TRANSCRIPTRENDITION']._serialized_start=1737
87
+ _globals['_TRANSCRIPTRENDITION']._serialized_end=1918
88
+ _globals['_CHAPTERPOINT']._serialized_start=1920
89
+ _globals['_CHAPTERPOINT']._serialized_end=2026
90
+ _globals['_CHAPTERRESULT']._serialized_start=2029
91
+ _globals['_CHAPTERRESULT']._serialized_end=2210
92
+ _globals['_SUBTITLERESULT']._serialized_start=2213
93
+ _globals['_SUBTITLERESULT']._serialized_end=2912
94
+ _globals['_INSIGHTSQUESTION']._serialized_start=2914
95
+ _globals['_INSIGHTSQUESTION']._serialized_end=3021
96
+ _globals['_INSIGHTSTERM']._serialized_start=3023
97
+ _globals['_INSIGHTSTERM']._serialized_end=3126
98
+ _globals['_INSIGHTSHIGHLIGHT']._serialized_start=3128
99
+ _globals['_INSIGHTSHIGHLIGHT']._serialized_end=3237
100
+ _globals['_TRANSCRIPTINSIGHTS']._serialized_start=3240
101
+ _globals['_TRANSCRIPTINSIGHTS']._serialized_end=4280
75
102
  # @@protoc_insertion_point(module_scope)