fastpixapi 0.0.1

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.
Files changed (217) hide show
  1. checksums.yaml +7 -0
  2. data/lib/crystalline/metadata_fields.rb +210 -0
  3. data/lib/crystalline/t.rb +78 -0
  4. data/lib/crystalline/utils.rb +95 -0
  5. data/lib/crystalline.rb +12 -0
  6. data/lib/fastpix_api_sdk/input_video.rb +454 -0
  7. data/lib/fastpix_api_sdk/manage_live_stream.rb +717 -0
  8. data/lib/fastpix_api_sdk/manage_videos.rb +960 -0
  9. data/lib/fastpix_api_sdk/models/components/audioinput.rb +41 -0
  10. data/lib/fastpix_api_sdk/models/components/audioinput_type.rb +19 -0
  11. data/lib/fastpix_api_sdk/models/components/createlivestreamrequest.rb +37 -0
  12. data/lib/fastpix_api_sdk/models/components/createlivestreamrequest_maxresolution.rb +21 -0
  13. data/lib/fastpix_api_sdk/models/components/createlivestreamrequest_metadata.rb +28 -0
  14. data/lib/fastpix_api_sdk/models/components/createmediarequest.rb +89 -0
  15. data/lib/fastpix_api_sdk/models/components/createmediarequest_accesspolicy.rb +22 -0
  16. data/lib/fastpix_api_sdk/models/components/createmediarequest_accessrestrictions.rb +37 -0
  17. data/lib/fastpix_api_sdk/models/components/createmediarequest_domains.rb +48 -0
  18. data/lib/fastpix_api_sdk/models/components/createmediarequest_domains_defaultpolicy.rb +23 -0
  19. data/lib/fastpix_api_sdk/models/components/createmediarequest_languagecode.rb +26 -0
  20. data/lib/fastpix_api_sdk/models/components/createmediarequest_maxresolution.rb +25 -0
  21. data/lib/fastpix_api_sdk/models/components/createmediarequest_metadata.rb +29 -0
  22. data/lib/fastpix_api_sdk/models/components/createmediarequest_mp4support.rb +22 -0
  23. data/lib/fastpix_api_sdk/models/components/createmediarequest_type.rb +22 -0
  24. data/lib/fastpix_api_sdk/models/components/createmediarequest_useragents.rb +48 -0
  25. data/lib/fastpix_api_sdk/models/components/createmediarequest_useragents_defaultpolicy.rb +23 -0
  26. data/lib/fastpix_api_sdk/models/components/createmediaresponse.rb +62 -0
  27. data/lib/fastpix_api_sdk/models/components/createmediaresponse_maxresolution.rb +24 -0
  28. data/lib/fastpix_api_sdk/models/components/createmediaresponse_metadata.rb +28 -0
  29. data/lib/fastpix_api_sdk/models/components/directupload.rb +58 -0
  30. data/lib/fastpix_api_sdk/models/components/directuploadresponse.rb +37 -0
  31. data/lib/fastpix_api_sdk/models/components/directuploadresponse_metadata.rb +28 -0
  32. data/lib/fastpix_api_sdk/models/components/getcreatelivestreamresponsedto.rb +85 -0
  33. data/lib/fastpix_api_sdk/models/components/getcreatelivestreamresponsedto_metadata.rb +28 -0
  34. data/lib/fastpix_api_sdk/models/components/getcreatelivestreamresponsedto_srtplaybackresponse.rb +37 -0
  35. data/lib/fastpix_api_sdk/models/components/getstreamsresponse.rb +41 -0
  36. data/lib/fastpix_api_sdk/models/components/imposetrack.rb +49 -0
  37. data/lib/fastpix_api_sdk/models/components/input.rb +28 -0
  38. data/lib/fastpix_api_sdk/models/components/inputmediasettings.rb +45 -0
  39. data/lib/fastpix_api_sdk/models/components/livestreamdeleteresponse.rb +33 -0
  40. data/lib/fastpix_api_sdk/models/components/livestreamgetresponse.rb +37 -0
  41. data/lib/fastpix_api_sdk/models/components/livestreamresponsedto.rb +37 -0
  42. data/lib/fastpix_api_sdk/models/components/media.rb +93 -0
  43. data/lib/fastpix_api_sdk/models/components/media_maxresolution.rb +24 -0
  44. data/lib/fastpix_api_sdk/models/components/media_metadata.rb +28 -0
  45. data/lib/fastpix_api_sdk/models/components/media_mp4support.rb +22 -0
  46. data/lib/fastpix_api_sdk/models/components/mediapolicy.rb +20 -0
  47. data/lib/fastpix_api_sdk/models/components/moderation.rb +34 -0
  48. data/lib/fastpix_api_sdk/models/components/pagination.rb +41 -0
  49. data/lib/fastpix_api_sdk/models/components/patchlivestreamrequest.rb +37 -0
  50. data/lib/fastpix_api_sdk/models/components/patchlivestreamrequest_metadata.rb +28 -0
  51. data/lib/fastpix_api_sdk/models/components/patchresponsedata.rb +85 -0
  52. data/lib/fastpix_api_sdk/models/components/patchresponsedata_metadata.rb +28 -0
  53. data/lib/fastpix_api_sdk/models/components/patchresponsedata_srtplaybackresponse.rb +37 -0
  54. data/lib/fastpix_api_sdk/models/components/patchresponsedto.rb +37 -0
  55. data/lib/fastpix_api_sdk/models/components/placement.rb +45 -0
  56. data/lib/fastpix_api_sdk/models/components/playbackid.rb +41 -0
  57. data/lib/fastpix_api_sdk/models/components/playbackid_accesspolicy.rb +21 -0
  58. data/lib/fastpix_api_sdk/models/components/playbackid_accessrestrictions.rb +37 -0
  59. data/lib/fastpix_api_sdk/models/components/playbackid_domains.rb +41 -0
  60. data/lib/fastpix_api_sdk/models/components/playbackid_domains_defaultpolicy.rb +20 -0
  61. data/lib/fastpix_api_sdk/models/components/playbackid_useragents.rb +41 -0
  62. data/lib/fastpix_api_sdk/models/components/playbackid_useragents_defaultpolicy.rb +20 -0
  63. data/lib/fastpix_api_sdk/models/components/playbackidrequest.rb +33 -0
  64. data/lib/fastpix_api_sdk/models/components/playbackidrequest_accesspolicy.rb +20 -0
  65. data/lib/fastpix_api_sdk/models/components/playbackidresponse.rb +37 -0
  66. data/lib/fastpix_api_sdk/models/components/playbackidresponse_data.rb +37 -0
  67. data/lib/fastpix_api_sdk/models/components/playbackids.rb +37 -0
  68. data/lib/fastpix_api_sdk/models/components/playbacksettings.rb +33 -0
  69. data/lib/fastpix_api_sdk/models/components/playbacksettings_accesspolicy.rb +20 -0
  70. data/lib/fastpix_api_sdk/models/components/security.rb +37 -0
  71. data/lib/fastpix_api_sdk/models/components/segment_1.rb +37 -0
  72. data/lib/fastpix_api_sdk/models/components/segment_2.rb +37 -0
  73. data/lib/fastpix_api_sdk/models/components/segment_union.rb +28 -0
  74. data/lib/fastpix_api_sdk/models/components/simulcastdeleteresponse.rb +33 -0
  75. data/lib/fastpix_api_sdk/models/components/simulcastrequest.rb +37 -0
  76. data/lib/fastpix_api_sdk/models/components/simulcastresponse.rb +37 -0
  77. data/lib/fastpix_api_sdk/models/components/simulcastresponse_data.rb +49 -0
  78. data/lib/fastpix_api_sdk/models/components/simulcastresponse_metadata.rb +28 -0
  79. data/lib/fastpix_api_sdk/models/components/simulcastupdaterequest.rb +37 -0
  80. data/lib/fastpix_api_sdk/models/components/simulcastupdaterequest_metadata.rb +28 -0
  81. data/lib/fastpix_api_sdk/models/components/simulcastupdateresponse.rb +37 -0
  82. data/lib/fastpix_api_sdk/models/components/simulcastupdateresponse_data.rb +49 -0
  83. data/lib/fastpix_api_sdk/models/components/simulcastupdateresponse_metadata.rb +28 -0
  84. data/lib/fastpix_api_sdk/models/components/sourceresolution.rb +24 -0
  85. data/lib/fastpix_api_sdk/models/components/subtitle.rb +45 -0
  86. data/lib/fastpix_api_sdk/models/components/subtitle_metadata.rb +29 -0
  87. data/lib/fastpix_api_sdk/models/components/subtitleinput.rb +47 -0
  88. data/lib/fastpix_api_sdk/models/components/subtitleinput_languagecode.rb +76 -0
  89. data/lib/fastpix_api_sdk/models/components/summary.rb +40 -0
  90. data/lib/fastpix_api_sdk/models/components/track.rb +53 -0
  91. data/lib/fastpix_api_sdk/models/components/videoinput.rb +68 -0
  92. data/lib/fastpix_api_sdk/models/components/watermarkinput.rb +53 -0
  93. data/lib/fastpix_api_sdk/models/components/watermarkinput_type.rb +19 -0
  94. data/lib/fastpix_api_sdk/models/components/xalign.rb +21 -0
  95. data/lib/fastpix_api_sdk/models/components/yalign.rb +21 -0
  96. data/lib/fastpix_api_sdk/models/components.rb +98 -0
  97. data/lib/fastpix_api_sdk/models/errors/apierror.rb +38 -0
  98. data/lib/fastpix_api_sdk/models/errors/badrequest_error.rb +37 -0
  99. data/lib/fastpix_api_sdk/models/errors/badrequest_error_error.rb +42 -0
  100. data/lib/fastpix_api_sdk/models/errors/field.rb +37 -0
  101. data/lib/fastpix_api_sdk/models/errors/forbidden_error.rb +37 -0
  102. data/lib/fastpix_api_sdk/models/errors/forbidden_error_error.rb +42 -0
  103. data/lib/fastpix_api_sdk/models/errors/invalidpermission_error.rb +37 -0
  104. data/lib/fastpix_api_sdk/models/errors/invalidpermission_error_error.rb +42 -0
  105. data/lib/fastpix_api_sdk/models/errors/medianotfound_error.rb +37 -0
  106. data/lib/fastpix_api_sdk/models/errors/medianotfound_error_error.rb +42 -0
  107. data/lib/fastpix_api_sdk/models/errors/mediaorplaybacknotfound_error.rb +37 -0
  108. data/lib/fastpix_api_sdk/models/errors/mediaorplaybacknotfound_error_error.rb +42 -0
  109. data/lib/fastpix_api_sdk/models/errors/notfounderror.rb +37 -0
  110. data/lib/fastpix_api_sdk/models/errors/notfounderror_error.rb +42 -0
  111. data/lib/fastpix_api_sdk/models/errors/notfounderrorplaybackid.rb +37 -0
  112. data/lib/fastpix_api_sdk/models/errors/notfounderrorplaybackid_error.rb +42 -0
  113. data/lib/fastpix_api_sdk/models/errors/notfounderrorsimulcast.rb +37 -0
  114. data/lib/fastpix_api_sdk/models/errors/notfounderrorsimulcast_error.rb +42 -0
  115. data/lib/fastpix_api_sdk/models/errors/simulcastunavailable_error.rb +38 -0
  116. data/lib/fastpix_api_sdk/models/errors/simulcastunavailable_error_error.rb +45 -0
  117. data/lib/fastpix_api_sdk/models/errors/unauthorized_error.rb +37 -0
  118. data/lib/fastpix_api_sdk/models/errors/unauthorized_error_error.rb +42 -0
  119. data/lib/fastpix_api_sdk/models/errors/validationerrorresponse.rb +37 -0
  120. data/lib/fastpix_api_sdk/models/errors/validationerrorresponse_error.rb +41 -0
  121. data/lib/fastpix_api_sdk/models/errors.rb +35 -0
  122. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_accesspolicy.rb +21 -0
  123. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_accessrestrictions.rb +37 -0
  124. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_domains.rb +48 -0
  125. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_domains_defaultpolicy.rb +23 -0
  126. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_request.rb +37 -0
  127. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_requestbody.rb +37 -0
  128. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_response.rb +45 -0
  129. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_responsebody.rb +37 -0
  130. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_useragents.rb +48 -0
  131. data/lib/fastpix_api_sdk/models/operations/create_media_playback_id_useragents_defaultpolicy.rb +23 -0
  132. data/lib/fastpix_api_sdk/models/operations/create_media_response.rb +45 -0
  133. data/lib/fastpix_api_sdk/models/operations/create_media_responsebody.rb +37 -0
  134. data/lib/fastpix_api_sdk/models/operations/create_new_stream_response.rb +45 -0
  135. data/lib/fastpix_api_sdk/models/operations/create_playbackid_of_stream_request.rb +37 -0
  136. data/lib/fastpix_api_sdk/models/operations/create_playbackid_of_stream_response.rb +45 -0
  137. data/lib/fastpix_api_sdk/models/operations/create_simulcast_of_stream_request.rb +37 -0
  138. data/lib/fastpix_api_sdk/models/operations/create_simulcast_of_stream_response.rb +45 -0
  139. data/lib/fastpix_api_sdk/models/operations/data.rb +33 -0
  140. data/lib/fastpix_api_sdk/models/operations/delete_live_stream_request.rb +33 -0
  141. data/lib/fastpix_api_sdk/models/operations/delete_live_stream_response.rb +45 -0
  142. data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_request.rb +37 -0
  143. data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_response.rb +45 -0
  144. data/lib/fastpix_api_sdk/models/operations/delete_media_playback_id_responsebody.rb +33 -0
  145. data/lib/fastpix_api_sdk/models/operations/delete_media_request.rb +33 -0
  146. data/lib/fastpix_api_sdk/models/operations/delete_media_response.rb +45 -0
  147. data/lib/fastpix_api_sdk/models/operations/delete_media_responsebody.rb +33 -0
  148. data/lib/fastpix_api_sdk/models/operations/delete_playbackid_of_stream_request.rb +37 -0
  149. data/lib/fastpix_api_sdk/models/operations/delete_playbackid_of_stream_response.rb +45 -0
  150. data/lib/fastpix_api_sdk/models/operations/delete_simulcast_of_stream_request.rb +37 -0
  151. data/lib/fastpix_api_sdk/models/operations/delete_simulcast_of_stream_response.rb +45 -0
  152. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_accesspolicy.rb +20 -0
  153. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_accessrestrictions.rb +37 -0
  154. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_domains.rb +48 -0
  155. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_domains_defaultpolicy.rb +23 -0
  156. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_metadata.rb +28 -0
  157. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_request.rb +37 -0
  158. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_response.rb +45 -0
  159. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_responsebody.rb +37 -0
  160. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_useragents.rb +48 -0
  161. data/lib/fastpix_api_sdk/models/operations/direct_upload_video_media_useragents_defaultpolicy.rb +23 -0
  162. data/lib/fastpix_api_sdk/models/operations/get_all_streams_orderby.rb +20 -0
  163. data/lib/fastpix_api_sdk/models/operations/get_all_streams_request.rb +41 -0
  164. data/lib/fastpix_api_sdk/models/operations/get_all_streams_response.rb +45 -0
  165. data/lib/fastpix_api_sdk/models/operations/get_live_stream_by_id_request.rb +33 -0
  166. data/lib/fastpix_api_sdk/models/operations/get_live_stream_by_id_response.rb +45 -0
  167. data/lib/fastpix_api_sdk/models/operations/get_live_stream_playback_id_request.rb +37 -0
  168. data/lib/fastpix_api_sdk/models/operations/get_live_stream_playback_id_response.rb +45 -0
  169. data/lib/fastpix_api_sdk/models/operations/get_media_request.rb +33 -0
  170. data/lib/fastpix_api_sdk/models/operations/get_media_response.rb +45 -0
  171. data/lib/fastpix_api_sdk/models/operations/get_media_responsebody.rb +37 -0
  172. data/lib/fastpix_api_sdk/models/operations/get_specific_simulcast_of_stream_request.rb +37 -0
  173. data/lib/fastpix_api_sdk/models/operations/get_specific_simulcast_of_stream_response.rb +45 -0
  174. data/lib/fastpix_api_sdk/models/operations/input.rb +28 -0
  175. data/lib/fastpix_api_sdk/models/operations/languagecode.rb +26 -0
  176. data/lib/fastpix_api_sdk/models/operations/list_media_orderby.rb +20 -0
  177. data/lib/fastpix_api_sdk/models/operations/list_media_request.rb +41 -0
  178. data/lib/fastpix_api_sdk/models/operations/list_media_response.rb +45 -0
  179. data/lib/fastpix_api_sdk/models/operations/list_media_responsebody.rb +41 -0
  180. data/lib/fastpix_api_sdk/models/operations/maxresolution.rb +25 -0
  181. data/lib/fastpix_api_sdk/models/operations/moderation.rb +34 -0
  182. data/lib/fastpix_api_sdk/models/operations/mp4support.rb +22 -0
  183. data/lib/fastpix_api_sdk/models/operations/push_media_settings.rb +95 -0
  184. data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_request.rb +33 -0
  185. data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_response.rb +45 -0
  186. data/lib/fastpix_api_sdk/models/operations/retrievemediainputinfo_responsebody.rb +37 -0
  187. data/lib/fastpix_api_sdk/models/operations/subtitles.rb +43 -0
  188. data/lib/fastpix_api_sdk/models/operations/subtitles_metadata.rb +28 -0
  189. data/lib/fastpix_api_sdk/models/operations/summary.rb +40 -0
  190. data/lib/fastpix_api_sdk/models/operations/type.rb +22 -0
  191. data/lib/fastpix_api_sdk/models/operations/update_live_stream_request.rb +37 -0
  192. data/lib/fastpix_api_sdk/models/operations/update_live_stream_response.rb +45 -0
  193. data/lib/fastpix_api_sdk/models/operations/update_specific_simulcast_of_stream_request.rb +41 -0
  194. data/lib/fastpix_api_sdk/models/operations/update_specific_simulcast_of_stream_response.rb +45 -0
  195. data/lib/fastpix_api_sdk/models/operations/updated_media_metadata.rb +28 -0
  196. data/lib/fastpix_api_sdk/models/operations/updated_media_request.rb +37 -0
  197. data/lib/fastpix_api_sdk/models/operations/updated_media_requestbody.rb +33 -0
  198. data/lib/fastpix_api_sdk/models/operations/updated_media_response.rb +45 -0
  199. data/lib/fastpix_api_sdk/models/operations/updated_media_responsebody.rb +37 -0
  200. data/lib/fastpix_api_sdk/models/operations.rb +89 -0
  201. data/lib/fastpix_api_sdk/playback.rb +941 -0
  202. data/lib/fastpix_api_sdk/sdk.rb +103 -0
  203. data/lib/fastpix_api_sdk/sdk_hooks/hooks.rb +96 -0
  204. data/lib/fastpix_api_sdk/sdk_hooks/types.rb +157 -0
  205. data/lib/fastpix_api_sdk/sdkconfiguration.rb +77 -0
  206. data/lib/fastpix_api_sdk/simulcast_stream.rb +767 -0
  207. data/lib/fastpix_api_sdk/start_live_stream.rb +208 -0
  208. data/lib/fastpix_api_sdk/utils/forms.rb +210 -0
  209. data/lib/fastpix_api_sdk/utils/headers.rb +79 -0
  210. data/lib/fastpix_api_sdk/utils/query_params.rb +133 -0
  211. data/lib/fastpix_api_sdk/utils/request_bodies.rb +62 -0
  212. data/lib/fastpix_api_sdk/utils/retries.rb +95 -0
  213. data/lib/fastpix_api_sdk/utils/security.rb +133 -0
  214. data/lib/fastpix_api_sdk/utils/url.rb +102 -0
  215. data/lib/fastpix_api_sdk/utils/utils.rb +186 -0
  216. data/lib/fastpixapi.rb +29 -0
  217. metadata +442 -0
@@ -0,0 +1,41 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class AudioInput
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Type of overlay (currently only supports 'audio').
17
+ field :type, T.nilable(Models::Components::AudioInputType), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Components::AudioInputType, true) } }
18
+ # URL of the audio track to replace the existing audio in the video.
19
+ field :swap_track_url, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('swapTrackUrl') } }
20
+ # List of additional audio tracks to overlay on the video.
21
+ field :impose_tracks, T.nilable(T::Array[Models::Components::ImposeTrack]), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('imposeTracks') } }
22
+
23
+ sig { params(type: T.nilable(Models::Components::AudioInputType), swap_track_url: T.nilable(::String), impose_tracks: T.nilable(T::Array[Models::Components::ImposeTrack])).void }
24
+ def initialize(type: nil, swap_track_url: nil, impose_tracks: nil)
25
+ @type = type
26
+ @swap_track_url = swap_track_url
27
+ @impose_tracks = impose_tracks
28
+ end
29
+
30
+ sig { params(other: T.untyped).returns(T::Boolean) }
31
+ def ==(other)
32
+ return false unless other.is_a? self.class
33
+ return false unless @type == other.type
34
+ return false unless @swap_track_url == other.swap_track_url
35
+ return false unless @impose_tracks == other.impose_tracks
36
+ true
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,19 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # AudioInputType - Type of overlay (currently only supports 'audio').
12
+ class AudioInputType < T::Enum
13
+ enums do
14
+ AUDIO = new('audio')
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,37 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class CreateLiveStreamRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Displays the result of the playback settings.
17
+ field :playback_settings, Models::Components::PlaybackSettings, { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('playbackSettings'), required: true } }
18
+ # Displays the result of the input Media settings.
19
+ field :input_media_settings, Models::Components::InputMediaSettings, { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('inputMediaSettings'), required: true } }
20
+
21
+ sig { params(playback_settings: Models::Components::PlaybackSettings, input_media_settings: Models::Components::InputMediaSettings).void }
22
+ def initialize(playback_settings:, input_media_settings:)
23
+ @playback_settings = playback_settings
24
+ @input_media_settings = input_media_settings
25
+ end
26
+
27
+ sig { params(other: T.untyped).returns(T::Boolean) }
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @playback_settings == other.playback_settings
31
+ return false unless @input_media_settings == other.input_media_settings
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,21 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # CreateLiveStreamRequestMaxResolution - Max resolution can be used to control the maximum resolution your media is encoded, stored, and streamed at.
12
+ class CreateLiveStreamRequestMaxResolution < T::Enum
13
+ enums do
14
+ ONE_THOUSAND_AND_EIGHTYP = new('1080p')
15
+ SEVEN_HUNDRED_AND_TWENTYP = new('720p')
16
+ FOUR_HUNDRED_AND_EIGHTYP = new('480p')
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,28 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # You can search for videos with specific key value pairs using metadata, when you tag a video in "key":"value"s pairs. Dynamic Metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
12
+ class CreateLiveStreamRequestMetadata
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+ def initialize; end
19
+
20
+ sig { params(other: T.untyped).returns(T::Boolean) }
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,89 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class CreateMediaRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :inputs, T::Array[T.any(Models::Components::VideoInput, Models::Components::WatermarkInput, Models::Components::AudioInput, Models::Components::SubtitleInput)], { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('inputs'), required: true } }
18
+ # Determines whether access to the streamed content is kept private or available to all.
19
+ #
20
+ field :access_policy, Models::Components::CreateMediaRequestAccessPolicy, { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('accessPolicy'), required: true, 'decoder': Utils.enum_from_string(Models::Components::CreateMediaRequestAccessPolicy, false) } }
21
+ # You can search for videos with specific key-value pairs using metadata, when you tag a video in "key" : "value" pairs. Dynamic Metadata allows you to define a key that allows any value pair. You can have a maximum of 255 characters and up to 10 entries are allowed.
22
+ #
23
+ field :metadata, T.nilable(Models::Components::CreateMediaRequestMetadata), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('metadata') } }
24
+ # Generates subtitle files for audio/video files.
25
+ #
26
+ field :subtitle, T.nilable(Models::Components::Subtitle), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('subtitle') } }
27
+ # “capped_4k": Generates an mp4 video file up to 4k resolution "audioOnly": Generates an m4a audio file of the media file "audioOnly,capped_4k": Generates both video and audio media files for offline viewing
28
+ #
29
+ field :mp4_support, T.nilable(Models::Components::CreateMediaRequestMp4Support), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('mp4Support'), 'decoder': Utils.enum_from_string(Models::Components::CreateMediaRequestMp4Support, true) } }
30
+ # The sourceAccess parameter determines whether the original media file is accessible. Set to true to enable access or false to restrict it
31
+ field :source_access, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('sourceAccess') } }
32
+
33
+ field :summary, T.nilable(Models::Components::Summary), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('summary') } }
34
+ # Enable or disable the chapters feature for the media. Set to `true` to enable chapters or `false` to disable.
35
+ #
36
+ field :chapters, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('chapters') } }
37
+ # Enable or disable named entity extraction. Set to `true` to enable or `false` to disable.
38
+ #
39
+ field :named_entities, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('namedEntities') } }
40
+
41
+ field :moderation, T.nilable(Models::Components::Moderation), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('moderation') } }
42
+
43
+ field :access_restrictions, T.nilable(Models::Components::CreateMediaRequestAccessRestrictions), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('accessRestrictions') } }
44
+ # normalize volume of the audio track. This is available for pre-recorded content only.
45
+ #
46
+ field :optimize_audio, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('optimizeAudio') } }
47
+ # The maximum resolution tier determines the highest quality your media will be available in.
48
+ #
49
+ field :max_resolution, T.nilable(Models::Components::CreateMediaRequestMaxResolution), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('maxResolution'), 'decoder': Utils.enum_from_string(Models::Components::CreateMediaRequestMaxResolution, true) } }
50
+
51
+ sig { params(inputs: T::Array[T.any(Models::Components::VideoInput, Models::Components::WatermarkInput, Models::Components::AudioInput, Models::Components::SubtitleInput)], access_policy: Models::Components::CreateMediaRequestAccessPolicy, metadata: T.nilable(Models::Components::CreateMediaRequestMetadata), subtitle: T.nilable(Models::Components::Subtitle), mp4_support: T.nilable(Models::Components::CreateMediaRequestMp4Support), source_access: T.nilable(T::Boolean), summary: T.nilable(Models::Components::Summary), chapters: T.nilable(T::Boolean), named_entities: T.nilable(T::Boolean), moderation: T.nilable(Models::Components::Moderation), access_restrictions: T.nilable(Models::Components::CreateMediaRequestAccessRestrictions), optimize_audio: T.nilable(T::Boolean), max_resolution: T.nilable(Models::Components::CreateMediaRequestMaxResolution)).void }
52
+ def initialize(inputs:, access_policy:, metadata: nil, subtitle: nil, mp4_support: nil, source_access: nil, summary: nil, chapters: nil, named_entities: nil, moderation: nil, access_restrictions: nil, optimize_audio: false, max_resolution: Models::Components::CreateMediaRequestMaxResolution::ONE_THOUSAND_AND_EIGHTYP)
53
+ @inputs = inputs
54
+ @access_policy = access_policy
55
+ @metadata = metadata
56
+ @subtitle = subtitle
57
+ @mp4_support = mp4_support
58
+ @source_access = source_access
59
+ @summary = summary
60
+ @chapters = chapters
61
+ @named_entities = named_entities
62
+ @moderation = moderation
63
+ @access_restrictions = access_restrictions
64
+ @optimize_audio = optimize_audio
65
+ @max_resolution = max_resolution
66
+ end
67
+
68
+ sig { params(other: T.untyped).returns(T::Boolean) }
69
+ def ==(other)
70
+ return false unless other.is_a? self.class
71
+ return false unless @inputs == other.inputs
72
+ return false unless @access_policy == other.access_policy
73
+ return false unless @metadata == other.metadata
74
+ return false unless @subtitle == other.subtitle
75
+ return false unless @mp4_support == other.mp4_support
76
+ return false unless @source_access == other.source_access
77
+ return false unless @summary == other.summary
78
+ return false unless @chapters == other.chapters
79
+ return false unless @named_entities == other.named_entities
80
+ return false unless @moderation == other.moderation
81
+ return false unless @access_restrictions == other.access_restrictions
82
+ return false unless @optimize_audio == other.optimize_audio
83
+ return false unless @max_resolution == other.max_resolution
84
+ true
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,22 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # CreateMediaRequestAccessPolicy - Determines whether access to the streamed content is kept private or available to all.
12
+ #
13
+ class CreateMediaRequestAccessPolicy < T::Enum
14
+ enums do
15
+ PUBLIC = new('public')
16
+ PRIVATE = new('private')
17
+ DRM = new('drm')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,37 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class CreateMediaRequestAccessRestrictions
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :domains, T.nilable(Models::Components::CreateMediaRequestDomains), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('domains') } }
18
+
19
+ field :user_agents, T.nilable(Models::Components::CreateMediaRequestUserAgents), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('userAgents') } }
20
+
21
+ sig { params(domains: T.nilable(Models::Components::CreateMediaRequestDomains), user_agents: T.nilable(Models::Components::CreateMediaRequestUserAgents)).void }
22
+ def initialize(domains: nil, user_agents: nil)
23
+ @domains = domains
24
+ @user_agents = user_agents
25
+ end
26
+
27
+ sig { params(other: T.untyped).returns(T::Boolean) }
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @domains == other.domains
31
+ return false unless @user_agents == other.user_agents
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,48 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class CreateMediaRequestDomains
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Specifies the default access policy for domains.
17
+ # If set to `allow`, all domains are allowed access unless otherwise specified in the `deny` lists.
18
+ # If set to `deny`, all domains are denied access unless otherwise specified in the `allow` lists.
19
+ #
20
+ field :default_policy, T.nilable(Models::Components::CreateMediaRequestDomainsDefaultPolicy), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('defaultPolicy'), 'decoder': Utils.enum_from_string(Models::Components::CreateMediaRequestDomainsDefaultPolicy, true) } }
21
+ # A list of domain names or patterns that are explicitly allowed access.
22
+ # This list is only effective when the `defaultPolicy` is set to `deny`.
23
+ #
24
+ field :allow, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('allow') } }
25
+ # A list of domain names or patterns that are explicitly denied access.
26
+ # This list is only effective when the `defaultPolicy` is set to `allow`.
27
+ #
28
+ field :deny, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('deny') } }
29
+
30
+ sig { params(default_policy: T.nilable(Models::Components::CreateMediaRequestDomainsDefaultPolicy), allow: T.nilable(T::Array[::String]), deny: T.nilable(T::Array[::String])).void }
31
+ def initialize(default_policy: nil, allow: nil, deny: nil)
32
+ @default_policy = default_policy
33
+ @allow = allow
34
+ @deny = deny
35
+ end
36
+
37
+ sig { params(other: T.untyped).returns(T::Boolean) }
38
+ def ==(other)
39
+ return false unless other.is_a? self.class
40
+ return false unless @default_policy == other.default_policy
41
+ return false unless @allow == other.allow
42
+ return false unless @deny == other.deny
43
+ true
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,23 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # CreateMediaRequestDomainsDefaultPolicy - Specifies the default access policy for domains.
12
+ # If set to `allow`, all domains are allowed access unless otherwise specified in the `deny` lists.
13
+ # If set to `deny`, all domains are denied access unless otherwise specified in the `allow` lists.
14
+ #
15
+ class CreateMediaRequestDomainsDefaultPolicy < T::Enum
16
+ enums do
17
+ ALLOW = new('allow')
18
+ DENY = new('deny')
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,26 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # CreateMediaRequestLanguageCode - Language codes are concise, standardized symbols that denote languages, utilizing either two or three characters for identification. The language code must be compliant with the BCP 47 standard to ensure compatibility. (for text only).
12
+ #
13
+ class CreateMediaRequestLanguageCode < T::Enum
14
+ enums do
15
+ EN = new('en')
16
+ IT = new('it')
17
+ PL = new('pl')
18
+ ES = new('es')
19
+ FR = new('fr')
20
+ RU = new('ru')
21
+ NL = new('nl')
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,25 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # CreateMediaRequestMaxResolution - The maximum resolution tier determines the highest quality your media will be available in.
12
+ #
13
+ class CreateMediaRequestMaxResolution < T::Enum
14
+ enums do
15
+ TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP = new('2160p')
16
+ ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP = new('1440p')
17
+ ONE_THOUSAND_AND_EIGHTYP = new('1080p')
18
+ SEVEN_HUNDRED_AND_TWENTYP = new('720p')
19
+ FOUR_HUNDRED_AND_EIGHTYP = new('480p')
20
+ THREE_HUNDRED_AND_SIXTYP = new('360p')
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,29 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # You can search for videos with specific key-value pairs using metadata, when you tag a video in "key" : "value" pairs. Dynamic Metadata allows you to define a key that allows any value pair. You can have a maximum of 255 characters and up to 10 entries are allowed.
12
+ #
13
+ class CreateMediaRequestMetadata
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+
18
+
19
+ def initialize; end
20
+
21
+ sig { params(other: T.untyped).returns(T::Boolean) }
22
+ def ==(other)
23
+ return false unless other.is_a? self.class
24
+ true
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,22 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # CreateMediaRequestMp4Support - “capped_4k": Generates an mp4 video file up to 4k resolution "audioOnly": Generates an m4a audio file of the media file "audioOnly,capped_4k": Generates both video and audio media files for offline viewing
12
+ #
13
+ class CreateMediaRequestMp4Support < T::Enum
14
+ enums do
15
+ CAPPED_4K = new('capped_4k')
16
+ AUDIO_ONLY = new('audioOnly')
17
+ AUDIO_ONLY_CAPPED_4K = new('audioOnly,capped_4k')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # CreateMediaRequestType - Defines the type of input. Possible values include video, audio, av.
12
+ #
13
+ class CreateMediaRequestType < T::Enum
14
+ enums do
15
+ VIDEO = new('video')
16
+ AUDIO = new('audio')
17
+ AV = new('av')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,48 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class CreateMediaRequestUserAgents
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Specifies the default access policy for user agents (browsers, bots, etc.).
17
+ # If set to `allow`, all user agents are allowed access unless otherwise specified in the `deny` lists.
18
+ # If set to `deny`, all user agents are denied access unless otherwise specified in the `allow` lists.
19
+ #
20
+ field :default_policy, T.nilable(Models::Components::CreateMediaRequestUserAgentsDefaultPolicy), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('defaultPolicy'), 'decoder': Utils.enum_from_string(Models::Components::CreateMediaRequestUserAgentsDefaultPolicy, true) } }
21
+ # A list of user agents (identified by string names or patterns) that are explicitly allowed access.
22
+ # This list is only effective when the `defaultPolicy` is set to `deny`.
23
+ #
24
+ field :allow, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('allow') } }
25
+ # A list of user agents (identified by string names or patterns) that are explicitly denied access.
26
+ # This list is only effective when the `defaultPolicy` is set to `allow`.
27
+ #
28
+ field :deny, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('deny') } }
29
+
30
+ sig { params(default_policy: T.nilable(Models::Components::CreateMediaRequestUserAgentsDefaultPolicy), allow: T.nilable(T::Array[::String]), deny: T.nilable(T::Array[::String])).void }
31
+ def initialize(default_policy: nil, allow: nil, deny: nil)
32
+ @default_policy = default_policy
33
+ @allow = allow
34
+ @deny = deny
35
+ end
36
+
37
+ sig { params(other: T.untyped).returns(T::Boolean) }
38
+ def ==(other)
39
+ return false unless other.is_a? self.class
40
+ return false unless @default_policy == other.default_policy
41
+ return false unless @allow == other.allow
42
+ return false unless @deny == other.deny
43
+ true
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,23 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+ # CreateMediaRequestUserAgentsDefaultPolicy - Specifies the default access policy for user agents (browsers, bots, etc.).
12
+ # If set to `allow`, all user agents are allowed access unless otherwise specified in the `deny` lists.
13
+ # If set to `deny`, all user agents are denied access unless otherwise specified in the `allow` lists.
14
+ #
15
+ class CreateMediaRequestUserAgentsDefaultPolicy < T::Enum
16
+ enums do
17
+ ALLOW = new('allow')
18
+ DENY = new('deny')
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,62 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module FastpixApiSDK
8
+ module Models
9
+ module Components
10
+
11
+
12
+ class CreateMediaResponse
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The Media is assigned a universal unique identifier, which can contain a maximum of 255 characters.
17
+ field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('id') } }
18
+ # Determines the media's status, which can be one of the possible values.
19
+ field :status, T.nilable(::String), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('status') } }
20
+ # Time the media was created, defined as a localDateTime (UTC Time).
21
+ field :created_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('createdAt'), 'decoder': Utils.datetime_from_iso_format(true) } }
22
+ # Time the media was updated, defined as a localDateTime (UTC Time).
23
+ field :updated_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('updatedAt'), 'decoder': Utils.datetime_from_iso_format(true) } }
24
+ # A collection of Playback ID objects utilized for crafting HLS playback URLs.
25
+ field :playback_ids, T.nilable(T::Array[Models::Components::PlaybackId]), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('playbackIds') } }
26
+ # You can search for videos with specific key value pairs using metadata, when you tag a video in "key" : "value" pairs. Dynamic Metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
27
+ field :metadata, T.nilable(Models::Components::CreateMediaResponseMetadata), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('metadata') } }
28
+ # FastPix allows for a free trial. Create as many media files as you like during the trial period. Remember, each clip can only be 10 seconds long and will be deleted after 24 hours. Also, all trial content will have the FastPix logo watermark.
29
+ #
30
+ field :trial, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('trial') } }
31
+ # The maximum resolution tier determines the highest quality your media will be available in.
32
+ field :max_resolution, T.nilable(Models::Components::CreateMediaResponseMaxResolution), { 'format_json': { 'letter_case': ::FastpixApiSDK::Utils.field_name('maxResolution'), 'decoder': Utils.enum_from_string(Models::Components::CreateMediaResponseMaxResolution, true) } }
33
+
34
+ sig { params(id: T.nilable(::String), status: T.nilable(::String), created_at: T.nilable(::DateTime), updated_at: T.nilable(::DateTime), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), metadata: T.nilable(Models::Components::CreateMediaResponseMetadata), trial: T.nilable(T::Boolean), max_resolution: T.nilable(Models::Components::CreateMediaResponseMaxResolution)).void }
35
+ def initialize(id: nil, status: nil, created_at: nil, updated_at: nil, playback_ids: nil, metadata: nil, trial: true, max_resolution: Models::Components::CreateMediaResponseMaxResolution::ONE_THOUSAND_AND_EIGHTYP)
36
+ @id = id
37
+ @status = status
38
+ @created_at = created_at
39
+ @updated_at = updated_at
40
+ @playback_ids = playback_ids
41
+ @metadata = metadata
42
+ @trial = trial
43
+ @max_resolution = max_resolution
44
+ end
45
+
46
+ sig { params(other: T.untyped).returns(T::Boolean) }
47
+ def ==(other)
48
+ return false unless other.is_a? self.class
49
+ return false unless @id == other.id
50
+ return false unless @status == other.status
51
+ return false unless @created_at == other.created_at
52
+ return false unless @updated_at == other.updated_at
53
+ return false unless @playback_ids == other.playback_ids
54
+ return false unless @metadata == other.metadata
55
+ return false unless @trial == other.trial
56
+ return false unless @max_resolution == other.max_resolution
57
+ true
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end