fastpixapi 1.1.3 → 1.2.0

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 (127) hide show
  1. checksums.yaml +4 -4
  2. data/lib/crystalline/metadata_fields.rb +2 -0
  3. data/lib/crystalline/module.rb +12 -13
  4. data/lib/fastpix_client/dimensions.rb +3 -3
  5. data/lib/fastpix_client/errors.rb +1 -1
  6. data/lib/fastpix_client/in_video_ai_features.rb +8 -8
  7. data/lib/fastpix_client/input_video.rb +4 -3
  8. data/lib/fastpix_client/live_playback.rb +253 -0
  9. data/lib/fastpix_client/manage_live_stream.rb +13 -12
  10. data/lib/fastpix_client/manage_videos.rb +21 -23
  11. data/lib/fastpix_client/metrics.rb +3 -3
  12. data/lib/fastpix_client/models/components/addtrackrequest.rb +6 -2
  13. data/lib/fastpix_client/models/components/addtrackrequest.rbi +2 -0
  14. data/lib/fastpix_client/models/components/addtrackresponse.rb +6 -2
  15. data/lib/fastpix_client/models/components/addtrackresponse.rbi +2 -0
  16. data/lib/fastpix_client/models/components/audiotrack.rb +6 -2
  17. data/lib/fastpix_client/models/components/audiotrack.rbi +2 -0
  18. data/lib/fastpix_client/models/components/generatetrackresponse.rb +6 -2
  19. data/lib/fastpix_client/models/components/generatetrackresponse.rbi +2 -0
  20. data/lib/fastpix_client/models/components/getallmediaresponse.rb +11 -13
  21. data/lib/fastpix_client/models/components/getallmediaresponse.rbi +3 -1
  22. data/lib/fastpix_client/models/components/getallmediaresponse_mp4support.rb +32 -12
  23. data/lib/fastpix_client/models/components/getallmediaresponse_mp4support.rbi +11 -1
  24. data/lib/fastpix_client/models/components/getallmediaresponse_sourceresolution.rb +2 -0
  25. data/lib/fastpix_client/models/components/{getmediaresponse.rb → getmediadetailresponse.rb} +16 -18
  26. data/lib/fastpix_client/models/components/{getmediaresponse.rbi → getmediadetailresponse.rbi} +5 -3
  27. data/lib/fastpix_client/models/components/{getmediaresponse_maxresolution.rb → getmediadetailresponse_maxresolution.rb} +2 -2
  28. data/lib/fastpix_client/models/components/getmediadetailresponse_maxresolution.rbi +11 -0
  29. data/lib/fastpix_client/models/components/{getmediaresponse_mediaquality.rb → getmediadetailresponse_mediaquality.rb} +2 -2
  30. data/lib/fastpix_client/models/components/getmediadetailresponse_mediaquality.rbi +11 -0
  31. data/lib/fastpix_client/models/components/getmediadetailresponse_mp4support.rb +48 -0
  32. data/lib/fastpix_client/models/components/getmediadetailresponse_mp4support.rbi +21 -0
  33. data/lib/fastpix_client/models/components/{getmediaresponse_sourceresolution.rb → getmediadetailresponse_sourceresolution.rb} +4 -2
  34. data/lib/fastpix_client/models/components/getmediadetailresponse_sourceresolution.rbi +11 -0
  35. data/lib/fastpix_client/models/components/{getmediaresponse_status.rb → getmediadetailresponse_status.rb} +2 -2
  36. data/lib/fastpix_client/models/components/getmediadetailresponse_status.rbi +11 -0
  37. data/lib/fastpix_client/models/components/{getmediaresponse_track.rb → getmediadetailresponse_track.rb} +1 -1
  38. data/lib/fastpix_client/models/components/getmediadetailresponse_track.rbi +11 -0
  39. data/lib/fastpix_client/models/components/inputmediasettings.rb +7 -2
  40. data/lib/fastpix_client/models/components/inputmediasettings.rbi +2 -0
  41. data/lib/fastpix_client/models/components/live_media_clips.rb +11 -13
  42. data/lib/fastpix_client/models/components/live_media_clips.rbi +3 -1
  43. data/lib/fastpix_client/models/components/live_media_clips_mp4support.rb +32 -12
  44. data/lib/fastpix_client/models/components/live_media_clips_mp4support.rbi +11 -1
  45. data/lib/fastpix_client/models/components/live_media_clips_sourceresolution.rb +2 -0
  46. data/lib/fastpix_client/models/components/media.rb +11 -13
  47. data/lib/fastpix_client/models/components/media.rbi +3 -1
  48. data/lib/fastpix_client/models/components/media_mp4support.rb +32 -12
  49. data/lib/fastpix_client/models/components/media_mp4support.rbi +11 -1
  50. data/lib/fastpix_client/models/components/media_sourceresolution.rb +2 -0
  51. data/lib/fastpix_client/models/components/mediaclipresponse_data.rb +2 -2
  52. data/lib/fastpix_client/models/components/mediaclipresponse_data.rbi +1 -1
  53. data/lib/fastpix_client/models/components/playbackidrequest.rb +6 -2
  54. data/lib/fastpix_client/models/components/playbackidrequest.rbi +3 -1
  55. data/lib/fastpix_client/models/components/playbackidresponse.rb +6 -2
  56. data/lib/fastpix_client/models/components/playbackidresponse.rbi +3 -1
  57. data/lib/fastpix_client/models/components/playbackidsuccessresponse_data.rb +6 -2
  58. data/lib/fastpix_client/models/components/playbackidsuccessresponse_data.rbi +3 -1
  59. data/lib/fastpix_client/models/components/playbacksettings.rb +6 -2
  60. data/lib/fastpix_client/models/components/playbacksettings.rbi +3 -1
  61. data/lib/fastpix_client/models/components/playlistbyidresponsemedialistitem.rb +2 -2
  62. data/lib/fastpix_client/models/components/playlistbyidresponsemedialistitem.rbi +1 -1
  63. data/lib/fastpix_client/models/components/sourceaccessmedia.rb +11 -13
  64. data/lib/fastpix_client/models/components/sourceaccessmedia.rbi +3 -1
  65. data/lib/fastpix_client/models/components/sourceaccessmedia_mp4support.rb +32 -12
  66. data/lib/fastpix_client/models/components/sourceaccessmedia_mp4support.rbi +11 -1
  67. data/lib/fastpix_client/models/components/sourceaccessmedia_sourceresolution.rb +2 -0
  68. data/lib/fastpix_client/models/components/subtitletrack.rb +6 -2
  69. data/lib/fastpix_client/models/components/subtitletrack.rbi +2 -0
  70. data/lib/fastpix_client/models/components/tracksubtitlesgeneraterequest.rb +6 -2
  71. data/lib/fastpix_client/models/components/tracksubtitlesgeneraterequest.rbi +2 -0
  72. data/lib/fastpix_client/models/components/update_media.rb +11 -13
  73. data/lib/fastpix_client/models/components/update_media.rbi +3 -1
  74. data/lib/fastpix_client/models/components/update_media_maxresolution.rb +0 -1
  75. data/lib/fastpix_client/models/components/update_media_mp4support.rb +32 -12
  76. data/lib/fastpix_client/models/components/update_media_mp4support.rbi +11 -1
  77. data/lib/fastpix_client/models/components/updatetrackrequest.rb +7 -7
  78. data/lib/fastpix_client/models/components/updatetrackrequest.rbi +2 -2
  79. data/lib/fastpix_client/models/components/updatetrackresponse.rb +6 -2
  80. data/lib/fastpix_client/models/components/updatetrackresponse.rbi +2 -0
  81. data/lib/fastpix_client/models/components/videotrack.rb +6 -2
  82. data/lib/fastpix_client/models/components/videotrack.rbi +2 -0
  83. data/lib/fastpix_client/models/components/videotrackforgetall.rb +6 -2
  84. data/lib/fastpix_client/models/components/videotrackforgetall.rbi +2 -0
  85. data/lib/fastpix_client/models/components.rb +7 -7
  86. data/lib/fastpix_client/models/operations/get_media_response.rb +1 -1
  87. data/lib/fastpix_client/models/operations/get_media_responsebody.rb +2 -2
  88. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_data.rb +40 -0
  89. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_data.rbi +17 -0
  90. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_defaultpolicy.rb +21 -0
  91. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_defaultpolicy.rbi +11 -0
  92. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_request.rb +40 -0
  93. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_request.rbi +17 -0
  94. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_requestbody.rb +40 -0
  95. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_requestbody.rbi +17 -0
  96. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_response.rb +48 -0
  97. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_response.rbi +21 -0
  98. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_responsebody.rb +36 -0
  99. data/lib/fastpix_client/models/operations/update_live_stream_domain_restrictions_responsebody.rbi +15 -0
  100. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_data.rb +40 -0
  101. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_data.rbi +17 -0
  102. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_defaultpolicy.rb +21 -0
  103. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_defaultpolicy.rbi +11 -0
  104. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_request.rb +40 -0
  105. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_request.rbi +17 -0
  106. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_requestbody.rb +40 -0
  107. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_requestbody.rbi +17 -0
  108. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_response.rb +48 -0
  109. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_response.rbi +21 -0
  110. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_responsebody.rb +36 -0
  111. data/lib/fastpix_client/models/operations/update_live_stream_user_agent_restrictions_responsebody.rbi +15 -0
  112. data/lib/fastpix_client/models/operations.rb +12 -0
  113. data/lib/fastpix_client/playlist.rb +2 -1
  114. data/lib/fastpix_client/sdkconfiguration.rb +3 -3
  115. data/lib/fastpix_client/simulcast_stream.rb +3 -3
  116. data/lib/fastpix_client/start_live_stream.rb +4 -4
  117. data/lib/fastpix_client/views.rb +3 -3
  118. metadata +58 -56
  119. data/lib/fastpix_client/models/components/getmediaresponse_maxresolution.rbi +0 -11
  120. data/lib/fastpix_client/models/components/getmediaresponse_mediaquality.rbi +0 -11
  121. data/lib/fastpix_client/models/components/getmediaresponse_mp4support.rb +0 -28
  122. data/lib/fastpix_client/models/components/getmediaresponse_mp4support.rbi +0 -11
  123. data/lib/fastpix_client/models/components/getmediaresponse_sourceresolution.rbi +0 -11
  124. data/lib/fastpix_client/models/components/getmediaresponse_status.rbi +0 -11
  125. data/lib/fastpix_client/models/components/getmediaresponse_track.rbi +0 -11
  126. data/test/sdk_examples_test.rb +0 -20
  127. data/test/test_helper.rb +0 -29
@@ -227,7 +227,7 @@ module FastpixClient
227
227
  # Suppose you’re hosting a live gaming event and want to showcase key moments from the stream — such as top plays or final match highlights. You can use this endpoint to fetch all clips generated from that livestream, display them in your dashboard, or use them for post-event editing and sharing.
228
228
  #
229
229
  #
230
- # Related guide: <a href="https://fastpix.com/docs/edit-and-transform-live-stream/clip-moments-from-a-live-stream">Instant live clipping</a>
230
+ # Related guide: <a href="https://fastpix.com/docs/live-streaming/clip-moments-from-a-live-stream">Instant live clipping</a>
231
231
  #
232
232
  request = Models::Operations::ListLiveClipsRequest.new(
233
233
  livestream_id: livestream_id,
@@ -481,8 +481,7 @@ module FastpixClient
481
481
  #
482
482
  # 3. The response returns the updated media data, confirming the changes.
483
483
  #
484
- # 4. Monitor the <a href="https://fastpix.com/docs/vod-events/media-events#videomediaupdated">video.media.updated</a> webhook event to track the update status in your system.
485
- #
484
+ # 4. Monitor the <a href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated</a> webhook event to track the update status in your system.
486
485
  # #### Example
487
486
  # If a user uploads a video and later needs to change the title, add a new description, or update tags, you can use this endpoint to update the media metadata without re-uploading the entire video.
488
487
  #
@@ -610,7 +609,7 @@ module FastpixClient
610
609
  #
611
610
  # 2. This action is irreversible. Make sure you no longer need the media before proceeding. Once deleted, the media can’t be retrieved or played back.
612
611
  #
613
- # 3. Monitor the following webhook event: <a href="https://fastpix.com/docs/vod-events/media-events#videomediadeleted">video.media.deleted</a>
612
+ # 3. Monitor the following webhook event: <a href="https://fastpix.com/docs/webhooks/media-events#videomediadeleted">video.media.deleted</a>
614
613
  #
615
614
  # #### Example
616
615
  # A user on a video-sharing platform decides to remove an old video from their profile, or suppose you're running a content moderation system, and one of the videos uploaded by a user violates your platform's policies. Using this endpoint, the media is permanently deleted from your library, ensuring it's no longer accessible or viewable by other users.
@@ -738,18 +737,17 @@ module FastpixClient
738
737
  #
739
738
  # #### Webhook events
740
739
  #
741
- # 1. After successfully adding a track, your system must receive the webhook event <a href="https://fastpix.com/docs/vod-events/transform-media-events#videomediatrackcreated">video.media.track.created</a>.
740
+ # 1. After successfully adding a track, your system must receive the webhook event <a href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackcreated">video.media.track.created</a>.
742
741
  #
743
- # 2. Once the track is processed and ready, you must receive the webhook event <a href="https://fastpix.com/docs/vod-events/transform-media-events#videomediatrackready">video.media.track.ready</a>.
742
+ # 2. Once the track is processed and ready, you must receive the webhook event <a href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackready">video.media.track.ready</a>.
744
743
  #
745
- # 3. Finally, an update event <a href="https://fastpix.com/docs/vod-events/media-events#videomediaupdated">video.media.updated</a> must notify your system about the media's updated status.
744
+ # 3. Finally, an update event <a href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated</a> must notify your system about the media's updated status.
746
745
  #
747
746
  #
748
747
  # #### Example
749
748
  # Suppose you have a video uploaded to the FastPix platform, and you want to add an Italian audio track to it. By calling this API, you can attach an external audio file (https://static.fastpix.com/music-1.mp3) to the media file. Similarly, if you need to add subtitles in different languages, you can specify type: `subtitle` with the corresponding subtitle `url`, `languageCode` and `languageName`.
750
749
  #
751
- # Related guides: <a href="https://fastpix.com/docs/manage-audio-and-subtitle-tracks/add-subtitles-to-a-video">Add own subtitle tracks</a>, <a href="https://fastpix.com/docs/manage-audio-and-subtitle-tracks/add-audio-to-a-video">Add own audio tracks</a>
752
- #
750
+ # Related guides: <a href="https://fastpix.com/docs/video-on-demand/add-subtitles-to-a-video">Add own subtitle tracks</a>, <a href="https://fastpix.com/docs/video-on-demand/add-audio-to-a-video">Add own audio tracks</a>
753
751
  request = Models::Operations::AddMediaTrackRequest.new(
754
752
  media_id: media_id,
755
753
  body: body
@@ -873,7 +871,7 @@ module FastpixClient
873
871
  #
874
872
  # #### Webhook Events
875
873
  #
876
- # Once the upload is cancelled, you must receive the webhook event <a href="https://fastpix.com/docs/vod-events/media-events#videomediauploadcancelled">video.media.upload.cancelled</a>.
874
+ # Once the upload is cancelled, you must receive the webhook event <a href="https://fastpix.com/docs/webhooks/media-events#videomediauploadcancelled">video.media.upload.cancelled</a>.
877
875
  #
878
876
  # #### Example
879
877
  #
@@ -1003,11 +1001,11 @@ module FastpixClient
1003
1001
  #
1004
1002
  # After updating a track, your system must receive webhook notifications:
1005
1003
  #
1006
- # 1. After successfully updating a track, your system must receive the webhook event <a href="https://fastpix.com/docs/vod-events/transform-media-events#videomediatrackupdated">video.media.track.updated</a>.
1004
+ # 1. After successfully updating a track, your system must receive the webhook event <a href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackupdated">video.media.track.updated</a>.
1007
1005
  #
1008
- # 2. Once the new track is processed and ready, you must receive the webhook event <a href="https://fastpix.com/docs/vod-events/transform-media-events#videomediatrackready">video.media.track.ready</a>.
1006
+ # 2. Once the new track is processed and ready, you must receive the webhook event <a href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackready">video.media.track.ready</a>.
1009
1007
  #
1010
- # 3. Once the media file is updated with the new track details, a <a href="https://fastpix.com/docs/vod-events/media-events#videomediaupdated">video.media.updated</a> event must be triggered.
1008
+ # 3. Once the media file is updated with the new track details, a <a href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated</a> event must be triggered.
1011
1009
  #
1012
1010
  #
1013
1011
  # #### Example
@@ -1016,8 +1014,8 @@ module FastpixClient
1016
1014
  # - The original track file has errors and needs correction.
1017
1015
  # - You want to improve subtitle translations or replace an audio track with a better-quality version.
1018
1016
  #
1019
- # Related guides: <a href="https://fastpix.com/docs/manage-audio-and-subtitle-tracks/add-subtitles-to-a-video">Add own subtitle tracks</a>, <a href="https://fastpix.com/docs/manage-audio-and-subtitle-tracks/add-audio-to-a-video">Add own audio tracks</a>
1020
1017
  #
1018
+ # Related guides: <a href="https://fastpix.com/docs/video-on-demand/add-subtitles-to-a-video">Add own subtitle tracks</a>, <a href="https://fastpix.com/docs/video-on-demand/add-audio-to-a-video">Add own audio tracks</a>
1021
1019
  request = Models::Operations::UpdateMediaTrackRequest.new(
1022
1020
  track_id: track_id,
1023
1021
  media_id: media_id,
@@ -1147,7 +1145,7 @@ module FastpixClient
1147
1145
  #
1148
1146
  # 1. After successfully deleting a track, your system must receive the webhook event **video.media.track.deleted**.
1149
1147
  #
1150
- # 2. Once the media file is updated to reflect the track removal, a <a href="https://fastpix.com/docs/vod-events/media-events#videomediaupdated">video.media.updated</a> event must be triggered.
1148
+ # 2. Once the media file is updated to reflect the track removal, a <a href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated</a> event must be triggered.
1151
1149
  #
1152
1150
  #
1153
1151
  # #### Example
@@ -1157,7 +1155,7 @@ module FastpixClient
1157
1155
  # - The content owner requests the removal of a specific subtitle or audio track.
1158
1156
  # - A new version of the track gets uploaded to replace the existing one.
1159
1157
  #
1160
- # Related guides: <a href="https://fastpix.com/docs/manage-audio-and-subtitle-tracks/add-subtitles-to-a-video">Add own subtitle tracks</a>, <a href="https://fastpix.com/docs/manage-audio-and-subtitle-tracks/add-audio-to-a-video">Add own audio tracks</a>
1158
+ # Related guides: <a href="https://fastpix.com/docs/video-on-demand/add-subtitles-to-a-video">Add own subtitle tracks</a>, <a href="https://fastpix.com/docs/video-on-demand/add-audio-to-a-video">Add own audio tracks</a>
1161
1159
  #
1162
1160
  request = Models::Operations::DeleteMediaTrackRequest.new(
1163
1161
  media_id: media_id,
@@ -1281,11 +1279,11 @@ module FastpixClient
1281
1279
  #
1282
1280
  # #### Webhook Events
1283
1281
  #
1284
- # 1. After the subtitle track is generated and ready, you receive the webhook event <a href="https://fastpix.com/docs/vod-events/transform-media-events#videomediasubtitlegeneratedready">video.media.subtitle.generated.ready</a>.
1282
+ # 1. After the subtitle track is generated and ready, you receive the webhook event <a href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasubtitlegeneratedready">video.media.subtitle.generated</a>.
1285
1283
  #
1286
- # 2. Finally the <a href="https://fastpix.com/docs/vod-events/media-events#videomediaupdated">video.media.updated</a> event notifies your system about the media’s updated status.
1284
+ # 2. Finally the <a href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated</a> event notifies your system about the media’s updated status.
1287
1285
  #
1288
- # </br> Related guide: <a href="https://fastpix.com/docs/manage-audio-and-subtitle-tracks/generate-subtitles-automatically">Add auto-generated subtitles</a>
1286
+ # </br> Related guide: <a href="https://fastpix.com/docs/video-on-demand/generate-subtitles-automatically">Add auto-generated subtitles</a>
1289
1287
  #
1290
1288
  request = Models::Operations::GenerateSubtitleTrackRequest.new(
1291
1289
  media_id: media_id,
@@ -1533,7 +1531,7 @@ module FastpixClient
1533
1531
  # 2. Include the updated `sourceAccess` parameter in the request body.
1534
1532
  #
1535
1533
  # 3. You receive a response confirming the update to the media’s source access status.
1536
- # 4. Webhook events: <a href="https://fastpix.com/docs/vod-events/transform-media-events#videomediasourceready">video.media.source.ready</a>, <a href="https://fastpix.com/docs/vod-events/transform-media-events#videomediasourcedeleted">video.media.source.deleted</a>
1534
+ # 4. Webhook events: <a href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasourceready">video.media.source.ready</a>, <a href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasourcedeleted">video.media.source.deleted</a>
1537
1535
  #
1538
1536
  request = Models::Operations::UpdatedSourceAccessRequest.new(
1539
1537
  media_id: media_id,
@@ -1671,13 +1669,13 @@ module FastpixClient
1671
1669
  #
1672
1670
  # #### Webhook events
1673
1671
  #
1674
- # - <a href="https://fastpix.com/docs/vod-events/transform-media-events#videomediamp4supportready">video.media.mp4Support.ready</a> – Triggered when the MP4 support setting is successfully updated.
1672
+ # - <a href="https://fastpix.com/docs/webhooks/transform-media-events#videomediamp4supportready">video.media.mp4Support.ready</a> – Triggered when the MP4 support setting is successfully updated.
1675
1673
  #
1676
1674
  # #### Example
1677
1675
  # Suppose you have a video uploaded to the FastPix platform, and you want to allow users to download the video in MP4 format. By setting "mp4Support": "capped_4k", the system generates an MP4 rendition of the video up to 4K resolution, making it available for download through the stream URL(`https://stream.fastpix.com/{playbackId}/{capped-4k.mp4 | audio.m4a}`). If you want users to stream only the audio from the media file, you can set "mp4Support": "audioOnly". This provides an audio-only stream URL that allows users to listen to the media without video. By setting "mp4Support": "audioOnly,capped_4k", both options are enabled. Users can download the MP4 video and also stream just the audio version of the media.
1678
1676
  #
1679
1677
  #
1680
- # Related guide: <a href="https://fastpix.com/docs/playback-and-delivery/enable-mp4-support-for-offline-viewing">Use MP4 support for offline viewing</a>
1678
+ # Related guide: <a href="https://fastpix.com/docs/video-on-demand/enable-mp4-support-for-offline-viewing">Use MP4 support for offline viewing</a>
1681
1679
  #
1682
1680
  request = Models::Operations::UpdatedMp4SupportRequest.new(
1683
1681
  media_id: media_id,
@@ -2059,7 +2057,7 @@ module FastpixClient
2059
2057
  #
2060
2058
  # Imagine you’re managing a video editing platform where users upload full-length videos and create short clips for social media sharing. To keep track of all clips linked to a particular video, you call this API with the sourceMediaId. The response provides a list of all associated clips, allowing you to manage, edit, or repurpose them as needed.
2061
2059
  #
2062
- # Related guide: <a href="https://fastpix.com/docs/edit-and-transform-videos/clip-and-trim-videos">Create clips from existing media</a>
2060
+ # Related guide: <a href="https://fastpix.com/docs/video-on-demand/clip-and-trim-videos">Create clips from existing media</a>
2063
2061
  #
2064
2062
  request = Models::Operations::GetMediaClipsRequest.new(
2065
2063
  media_id: media_id,
@@ -108,7 +108,7 @@ module FastpixClient
108
108
  # * **field:** The grouping field value based on the groupBy parameter.
109
109
  #
110
110
  #
111
- # Related guide: <a href="https://fastpix.com/docs/concepts/what-video-data-do-we-capture">Understand data definitions</a>
111
+ # Related guide: <a href="https://fastpix.com/docs/video-data/understand-data-definitions">Understand data definitions</a>
112
112
  #
113
113
  url, params = @sdk_configuration.get_server_details
114
114
  base_url = Utils.template_url(url, params)
@@ -244,7 +244,7 @@ module FastpixClient
244
244
  # * **globalValue:** A global metric value that reflects the overall performance of the specified metric across the entire dataset for the given timespan. This value is not affected by specific filters.
245
245
  #
246
246
  #
247
- # Related guide: <a href="https://fastpix.com/docs/concepts/what-video-data-do-we-capture">Understand data definitions</a>
247
+ # Related guide: <a href="https://fastpix.com/docs/video-data/understand-data-definitions">Understand data definitions</a>
248
248
  #
249
249
  request = Models::Operations::ListOverallValuesRequest.new(
250
250
  metric_id: metric_id,
@@ -496,7 +496,7 @@ module FastpixClient
496
496
  # 3. You Receive a response containing the comparison values for the specified metrics across the selected dimensions.
497
497
  #
498
498
  #
499
- # Related guide: <a href="https://fastpix.com/docs/working-with-video-data/explore-the-dashboard#compare-metrics">Compare metrics in dashboard</a>
499
+ # Related guide: <a href="https://fastpix.com/docs/video-data/explore-the-dashboard#compare-metrics">Compare metrics in dashboard</a>
500
500
  #
501
501
  request = Models::Operations::ListComparisonValuesRequest.new(
502
502
  timespan: timespan,
@@ -20,13 +20,16 @@ module FastpixClient
20
20
  field :language_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('languageCode') } }
21
21
  # The full name of the language corresponding to the `languageCode`.
22
22
  field :language_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('languageName') } }
23
+ # Title of the track.
24
+ field :title, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('title') } }
23
25
 
24
- sig { params(url: T.nilable(::String), type: T.nilable(Models::Components::AddTrackRequestType), language_code: T.nilable(::String), language_name: T.nilable(::String)).void }
25
- def initialize(url: 'https://static.fastpix.com/music-1.mp3', type: Models::Components::AddTrackRequestType::AUDIO, language_code: 'it', language_name: 'Italian')
26
+ sig { params(url: T.nilable(::String), type: T.nilable(Models::Components::AddTrackRequestType), language_code: T.nilable(::String), language_name: T.nilable(::String), title: T.nilable(::String)).void }
27
+ def initialize(url: 'https://static.fastpix.com/music-1.mp3', type: Models::Components::AddTrackRequestType::AUDIO, language_code: 'it', language_name: 'Italian', title: nil)
26
28
  @url = url
27
29
  @type = type
28
30
  @language_code = language_code
29
31
  @language_name = language_name
32
+ @title = title
30
33
  end
31
34
 
32
35
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -36,6 +39,7 @@ module FastpixClient
36
39
  return false unless @type == other.type
37
40
  return false unless @language_code == other.language_code
38
41
  return false unless @language_name == other.language_name
42
+ return false unless @title == other.title
39
43
  true
40
44
  end
41
45
  end
@@ -16,4 +16,6 @@ class FastpixClient::Models::Components::AddTrackRequest
16
16
  def language_code=(str_); end
17
17
  def language_name(); end
18
18
  def language_name=(str_); end
19
+ def title(); end
20
+ def title=(str_); end
19
21
  end
@@ -22,14 +22,17 @@ module FastpixClient
22
22
  field :language_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('languageCode') } }
23
23
  # The full name of the language corresponding to the `languageCode`.
24
24
  field :language_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('languageName') } }
25
+ # Title of the track.
26
+ field :title, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('title') } }
25
27
 
26
- sig { params(id: T.nilable(::String), type: T.nilable(Models::Components::AddTrackResponseType), url: T.nilable(::String), language_code: T.nilable(::String), language_name: T.nilable(::String)).void }
27
- def initialize(id: nil, type: nil, url: nil, language_code: nil, language_name: nil)
28
+ sig { params(id: T.nilable(::String), type: T.nilable(Models::Components::AddTrackResponseType), url: T.nilable(::String), language_code: T.nilable(::String), language_name: T.nilable(::String), title: T.nilable(::String)).void }
29
+ def initialize(id: nil, type: nil, url: nil, language_code: nil, language_name: nil, title: nil)
28
30
  @id = id
29
31
  @type = type
30
32
  @url = url
31
33
  @language_code = language_code
32
34
  @language_name = language_name
35
+ @title = title
33
36
  end
34
37
 
35
38
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -40,6 +43,7 @@ module FastpixClient
40
43
  return false unless @url == other.url
41
44
  return false unless @language_code == other.language_code
42
45
  return false unless @language_name == other.language_name
46
+ return false unless @title == other.title
43
47
  true
44
48
  end
45
49
  end
@@ -18,4 +18,6 @@ class FastpixClient::Models::Components::AddTrackResponse
18
18
  def language_code=(str_); end
19
19
  def language_name(); end
20
20
  def language_name=(str_); end
21
+ def title(); end
22
+ def title=(str_); end
21
23
  end
@@ -18,6 +18,8 @@ module FastpixClient
18
18
  field :type, Crystalline::Nilable.new(Models::Components::AudioTrackType), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('type'), 'decoder': Utils.enum_from_string(Models::Components::AudioTrackType, true) } }
19
19
  # Indicates the current state of the track. 'available' means the track has been processed successfully and is ready to be used or played.
20
20
  field :status, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('status') } }
21
+ # Title of the track.
22
+ field :title, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('title') } }
21
23
  # Name of the language in which the subtitles will be generated.
22
24
  #
23
25
  field :language_name, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('languageName') } }
@@ -25,11 +27,12 @@ module FastpixClient
25
27
  #
26
28
  field :language_code, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('languageCode') } }
27
29
 
28
- sig { params(id: T.nilable(::String), type: T.nilable(Models::Components::AudioTrackType), status: T.nilable(::String), language_name: T.nilable(::String), language_code: T.nilable(::String)).void }
29
- def initialize(id: nil, type: nil, status: nil, language_name: nil, language_code: nil)
30
+ sig { params(id: T.nilable(::String), type: T.nilable(Models::Components::AudioTrackType), status: T.nilable(::String), title: T.nilable(::String), language_name: T.nilable(::String), language_code: T.nilable(::String)).void }
31
+ def initialize(id: nil, type: nil, status: nil, title: nil, language_name: nil, language_code: nil)
30
32
  @id = id
31
33
  @type = type
32
34
  @status = status
35
+ @title = title
33
36
  @language_name = language_name
34
37
  @language_code = language_code
35
38
  end
@@ -40,6 +43,7 @@ module FastpixClient
40
43
  return false unless @id == other.id
41
44
  return false unless @type == other.type
42
45
  return false unless @status == other.status
46
+ return false unless @title == other.title
43
47
  return false unless @language_name == other.language_name
44
48
  return false unless @language_code == other.language_code
45
49
  true
@@ -14,6 +14,8 @@ class FastpixClient::Models::Components::AudioTrack
14
14
  def type=(str_); end
15
15
  def status(); end
16
16
  def status=(str_); end
17
+ def title(); end
18
+ def title=(str_); end
17
19
  def language_name(); end
18
20
  def language_name=(str_); end
19
21
  def language_code(); end
@@ -24,14 +24,17 @@ module FastpixClient
24
24
  # 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.
25
25
  #
26
26
  field :metadata, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('metadata') } }
27
+ # Title of the track.
28
+ field :title, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('title') } }
27
29
 
28
- sig { params(id: T.nilable(::String), type: T.nilable(Models::Components::GenerateTrackResponseType), language_code: T.nilable(Models::Components::GenerateTrackResponseLanguageCode), language_name: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String])).void }
29
- def initialize(id: nil, type: nil, language_code: nil, language_name: nil, metadata: nil)
30
+ sig { params(id: T.nilable(::String), type: T.nilable(Models::Components::GenerateTrackResponseType), language_code: T.nilable(Models::Components::GenerateTrackResponseLanguageCode), language_name: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), title: T.nilable(::String)).void }
31
+ def initialize(id: nil, type: nil, language_code: nil, language_name: nil, metadata: nil, title: nil)
30
32
  @id = id
31
33
  @type = type
32
34
  @language_code = language_code
33
35
  @language_name = language_name
34
36
  @metadata = metadata
37
+ @title = title
35
38
  end
36
39
 
37
40
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -42,6 +45,7 @@ module FastpixClient
42
45
  return false unless @language_code == other.language_code
43
46
  return false unless @language_name == other.language_name
44
47
  return false unless @metadata == other.metadata
48
+ return false unless @title == other.title
45
49
  true
46
50
  end
47
51
  end
@@ -18,4 +18,6 @@ class FastpixClient::Models::Components::GenerateTrackResponse
18
18
  def language_name=(str_); end
19
19
  def metadata(); end
20
20
  def metadata=(str_); end
21
+ def title(); end
22
+ def title=(str_); end
21
23
  end
@@ -26,13 +26,8 @@ module FastpixClient
26
26
  field :creator_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('creatorId') } }
27
27
  # Determines the media's status, which can be one of the possible values.
28
28
  field :status, Crystalline::Nilable.new(Models::Components::GetAllMediaResponseStatus), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Models::Components::GetAllMediaResponseStatus, true) } }
29
- # Determines the type of MP4 support for the media.
30
- # - **none**: Disables MP4 support.
31
- # - **capped_4k**: Enables MP4 downloads with resolutions up to 4K.
32
- # - **audioOnly**: Provides an MP4 stream containing only the audio.
33
- # - **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream.
34
- #
35
- field :mp4_support, Crystalline::Nilable.new(Models::Components::GetAllMediaResponseMp4Support), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('mp4Support'), 'decoder': Utils.enum_from_string(Models::Components::GetAllMediaResponseMp4Support, true) } }
29
+ # The MP4 renditions generated for the media. Present only when MP4 support is enabled.
30
+ field :mp4_support, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::GetAllMediaResponseMp4Support)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('mp4Support') } }
36
31
  # A collection of Playback ID objects utilized for crafting HLS playback URLs.
37
32
  field :playback_ids, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::PlaybackId)), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('playbackIds') } }
38
33
  # A media consists of different media tracks, like video, audio, and subtitle, all combined.
@@ -45,8 +40,8 @@ module FastpixClient
45
40
  field :named_entities, Crystalline::Nilable.new(Models::Components::AiResponseRecord), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('namedEntities') } }
46
41
  # Represents an AI response record containing status and data for AI-generated features like summary, chapters, named entities, or moderation.
47
42
  field :moderation, Crystalline::Nilable.new(Models::Components::AiResponseRecord), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('moderation') } }
48
- # The length of the media in seconds, with a maximum allowed duration of 12 hours per individual media.
49
- field :duration, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('duration') } }
43
+ # Duration of the media in seconds.
44
+ field :duration, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('duration') } }
50
45
  # Frame rate quantifies the speed at which frames are displayed per second. It represents the range of frames available for a specific track. The indeterminable frame rate of the input file is indicated by a value of -1.
51
46
  field :frame_rate, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('frameRate') } }
52
47
  # Time the media was created, defined as a localDateTime (UTC Time).
@@ -72,11 +67,13 @@ module FastpixClient
72
67
  field :is_audio_only, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('isAudioOnly') } }
73
68
  # Indicates whether subtitles are available for the media.
74
69
  field :subtitle_available, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('subtitleAvailable') } }
70
+ # Enhance the quality and volume of the audio track. This is available for pre-recorded content only.
71
+ field :optimize_audio, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('optimizeAudio') } }
75
72
  # The aspect ratio of a video is a value that describes the relative shape of a video based on its width and height.
76
73
  field :aspect_ratio, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('aspectRatio') } }
77
74
 
78
- sig { params(id: T.nilable(::String), source_media_id: T.nilable(::String), workspace_id: T.nilable(::String), stream_id: T.nilable(::String), media_quality: T.nilable(Models::Components::GetAllMediaResponseMediaQuality), creator_id: T.nilable(::String), status: T.nilable(Models::Components::GetAllMediaResponseStatus), mp4_support: T.nilable(Models::Components::GetAllMediaResponseMp4Support), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), tracks: T.nilable(T::Array[T.any(Models::Components::VideoTrackForGetAll, Models::Components::AudioTrack, Models::Components::SubtitleTrack)]), summary: T.nilable(Models::Components::AiSummaryRecord), chapters: T.nilable(Models::Components::AiResponseRecord), named_entities: T.nilable(Models::Components::AiResponseRecord), moderation: T.nilable(Models::Components::AiResponseRecord), duration: T.nilable(::String), frame_rate: T.nilable(::String), created_at: T.nilable(::DateTime), updated_at: T.nilable(::DateTime), thumbnail: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), title: T.nilable(::String), max_resolution: T.nilable(Models::Components::GetAllMediaResponseMaxResolution), source_resolution: T.nilable(Models::Components::GetAllMediaResponseSourceResolution), source_access: T.nilable(T::Boolean), generated_subtitles: T.nilable(T::Array[Models::Components::TracksSubtitles]), is_audio_only: T.nilable(T::Boolean), subtitle_available: T.nilable(T::Boolean), aspect_ratio: T.nilable(::String)).void }
79
- def initialize(id: nil, source_media_id: nil, workspace_id: nil, stream_id: nil, media_quality: nil, creator_id: nil, status: nil, mp4_support: nil, playback_ids: nil, tracks: nil, summary: nil, chapters: nil, named_entities: nil, moderation: nil, duration: nil, frame_rate: nil, created_at: nil, updated_at: nil, thumbnail: nil, metadata: nil, title: nil, max_resolution: Models::Components::GetAllMediaResponseMaxResolution::ONE_THOUSAND_AND_EIGHTYP, source_resolution: Models::Components::GetAllMediaResponseSourceResolution::ONE_THOUSAND_AND_EIGHTYP, source_access: nil, generated_subtitles: nil, is_audio_only: nil, subtitle_available: nil, aspect_ratio: nil)
75
+ sig { params(id: T.nilable(::String), source_media_id: T.nilable(::String), workspace_id: T.nilable(::String), stream_id: T.nilable(::String), media_quality: T.nilable(Models::Components::GetAllMediaResponseMediaQuality), creator_id: T.nilable(::String), status: T.nilable(Models::Components::GetAllMediaResponseStatus), mp4_support: T.nilable(T::Array[Models::Components::GetAllMediaResponseMp4Support]), playback_ids: T.nilable(T::Array[Models::Components::PlaybackId]), tracks: T.nilable(T::Array[T.any(Models::Components::VideoTrackForGetAll, Models::Components::AudioTrack, Models::Components::SubtitleTrack)]), summary: T.nilable(Models::Components::AiSummaryRecord), chapters: T.nilable(Models::Components::AiResponseRecord), named_entities: T.nilable(Models::Components::AiResponseRecord), moderation: T.nilable(Models::Components::AiResponseRecord), duration: T.nilable(::Float), frame_rate: T.nilable(::String), created_at: T.nilable(::DateTime), updated_at: T.nilable(::DateTime), thumbnail: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), title: T.nilable(::String), max_resolution: T.nilable(Models::Components::GetAllMediaResponseMaxResolution), source_resolution: T.nilable(Models::Components::GetAllMediaResponseSourceResolution), source_access: T.nilable(T::Boolean), generated_subtitles: T.nilable(T::Array[Models::Components::TracksSubtitles]), is_audio_only: T.nilable(T::Boolean), subtitle_available: T.nilable(T::Boolean), optimize_audio: T.nilable(T::Boolean), aspect_ratio: T.nilable(::String)).void }
76
+ def initialize(id: nil, source_media_id: nil, workspace_id: nil, stream_id: nil, media_quality: nil, creator_id: nil, status: nil, mp4_support: nil, playback_ids: nil, tracks: nil, summary: nil, chapters: nil, named_entities: nil, moderation: nil, duration: nil, frame_rate: nil, created_at: nil, updated_at: nil, thumbnail: nil, metadata: nil, title: nil, max_resolution: Models::Components::GetAllMediaResponseMaxResolution::ONE_THOUSAND_AND_EIGHTYP, source_resolution: Models::Components::GetAllMediaResponseSourceResolution::ONE_THOUSAND_AND_EIGHTYP, source_access: nil, generated_subtitles: nil, is_audio_only: nil, subtitle_available: nil, optimize_audio: nil, aspect_ratio: nil)
80
77
  @id = id
81
78
  @source_media_id = source_media_id
82
79
  @workspace_id = workspace_id
@@ -104,6 +101,7 @@ module FastpixClient
104
101
  @generated_subtitles = generated_subtitles
105
102
  @is_audio_only = is_audio_only
106
103
  @subtitle_available = subtitle_available
104
+ @optimize_audio = optimize_audio
107
105
  @aspect_ratio = aspect_ratio
108
106
  end
109
107
 
@@ -116,13 +114,13 @@ module FastpixClient
116
114
  @summary, @chapters, @named_entities, @moderation, @duration,
117
115
  @frame_rate, @created_at, @updated_at, @thumbnail, @metadata,
118
116
  @title, @max_resolution, @source_resolution, @source_access, @generated_subtitles,
119
- @is_audio_only, @subtitle_available, @aspect_ratio] ==
117
+ @is_audio_only, @subtitle_available, @optimize_audio, @aspect_ratio] ==
120
118
  [other.id, other.source_media_id, other.workspace_id, other.stream_id, other.media_quality,
121
119
  other.creator_id, other.status, other.mp4_support, other.playback_ids, other.tracks,
122
120
  other.summary, other.chapters, other.named_entities, other.moderation, other.duration,
123
121
  other.frame_rate, other.created_at, other.updated_at, other.thumbnail, other.metadata,
124
122
  other.title, other.max_resolution, other.source_resolution, other.source_access, other.generated_subtitles,
125
- other.is_audio_only, other.subtitle_available, other.aspect_ratio]
123
+ other.is_audio_only, other.subtitle_available, other.optimize_audio, other.aspect_ratio]
126
124
  end
127
125
  end
128
126
  end
@@ -37,7 +37,7 @@ class FastpixClient::Models::Components::GetAllMediaResponse
37
37
  def moderation(); end
38
38
  def moderation=(str_); end
39
39
  def duration(); end
40
- def duration=(str_); end
40
+ def duration=(float_); end
41
41
  def frame_rate(); end
42
42
  def frame_rate=(str_); end
43
43
  def created_at(); end
@@ -62,6 +62,8 @@ class FastpixClient::Models::Components::GetAllMediaResponse
62
62
  def is_audio_only=(str_); end
63
63
  def subtitle_available(); end
64
64
  def subtitle_available=(str_); end
65
+ def optimize_audio(); end
66
+ def optimize_audio=(str_); end
65
67
  def aspect_ratio(); end
66
68
  def aspect_ratio=(str_); end
67
69
  end
@@ -7,20 +7,40 @@
7
7
  module FastpixClient
8
8
  module Models
9
9
  module Components
10
- # GetAllMediaResponseMp4Support - Determines the type of MP4 support for the media.
11
- # - **none**: Disables MP4 support.
12
- # - **capped_4k**: Enables MP4 downloads with resolutions up to 4K.
13
- # - **audioOnly**: Provides an MP4 stream containing only the audio.
14
- # - **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream.
15
- #
16
- class GetAllMediaResponseMp4Support < T::Enum
10
+ # GetAllMediaResponseMp4Support - One MP4 rendition generated for the media when MP4 support is requested.
11
+ class GetAllMediaResponseMp4Support
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
17
14
 
15
+ # The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, `audioOnly` is a downloadable m4a audio-only file.
16
+ field :type, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('type') } }
17
+ # Generation status of this MP4 rendition. One of `preparing`, `ready`, or `failed`.
18
+ field :status, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('status') } }
19
+ # Pixel height of the rendition. Omitted for the `audioOnly` type.
20
+ field :height, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('height') } }
21
+ # Pixel width of the rendition. Omitted for the `audioOnly` type.
22
+ field :width, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('width') } }
23
+ # File extension of the downloadable rendition. One of `mp4` or `m4a`.
24
+ field :ext, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::FastpixClient::Utils.field_name('ext') } }
18
25
 
19
- enums do
20
- NONE = new('none')
21
- CAPPED_4K = new('capped_4k')
22
- AUDIO_ONLY = new('audioOnly')
23
- AUDIO_ONLY_CAPPED_4K = new('audioOnly,capped_4k')
26
+ sig { params(type: T.nilable(::String), status: T.nilable(::String), height: T.nilable(::Integer), width: T.nilable(::Integer), ext: T.nilable(::String)).void }
27
+ def initialize(type: nil, status: nil, height: nil, width: nil, ext: nil)
28
+ @type = type
29
+ @status = status
30
+ @height = height
31
+ @width = width
32
+ @ext = ext
33
+ end
34
+
35
+ sig { params(other: T.untyped).returns(T::Boolean) }
36
+ def ==(other)
37
+ return false unless other.is_a? self.class
38
+ return false unless @type == other.type
39
+ return false unless @status == other.status
40
+ return false unless @height == other.height
41
+ return false unless @width == other.width
42
+ return false unless @ext == other.ext
43
+ true
24
44
  end
25
45
  end
26
46
  end
@@ -8,4 +8,14 @@ end
8
8
 
9
9
 
10
10
  class FastpixClient::Models::Components::GetAllMediaResponseMp4Support
11
- end
11
+ def type(); end
12
+ def type=(str_); end
13
+ def status(); end
14
+ def status=(str_); end
15
+ def height(); end
16
+ def height=(str_); end
17
+ def width(); end
18
+ def width=(str_); end
19
+ def ext(); end
20
+ def ext=(str_); end
21
+ end
@@ -22,6 +22,8 @@ module FastpixClient
22
22
  SEVEN_HUNDRED_AND_TWENTY = new('720')
23
23
  FOUR_HUNDRED_AND_EIGHTYP = new('480p')
24
24
  FOUR_HUNDRED_AND_EIGHTY = new('480')
25
+ THREE_HUNDRED_AND_SIXTYP = new('360p')
26
+ THREE_HUNDRED_AND_SIXTY = new('360')
25
27
  end
26
28
  end
27
29
  end