shotstack 0.1.2 → 0.1.3
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.
- checksums.yaml +4 -4
- data/README.md +17 -12
- data/lib/shotstack/api/endpoints_api.rb +11 -4
- data/lib/shotstack/models/audio_asset.rb +3 -1
- data/lib/shotstack/models/clip.rb +7 -5
- data/lib/shotstack/models/html_asset.rb +2 -2
- data/lib/shotstack/models/image_asset.rb +1 -1
- data/lib/shotstack/models/offset.rb +4 -0
- data/lib/shotstack/models/output.rb +3 -3
- data/lib/shotstack/models/queued_response.rb +2 -0
- data/lib/shotstack/models/queued_response_data.rb +2 -2
- data/lib/shotstack/models/render_response.rb +2 -0
- data/lib/shotstack/models/render_response_data.rb +81 -21
- data/lib/shotstack/models/soundtrack.rb +3 -1
- data/lib/shotstack/models/title_asset.rb +5 -5
- data/lib/shotstack/models/transition.rb +6 -6
- data/lib/shotstack/models/video_asset.rb +1 -1
- data/lib/shotstack/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d7ae43e161a59f2235a19bedecbad719688f507fffbea5f3ba98290420c771d
|
4
|
+
data.tar.gz: e8350e8c8a158eb53d927b8abcf4ccf4aedb5800818daacde77fa7494973bc0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e8af0ed7bb5f3ec96c40106a718793e63cc8a4b57fb886c5b07e490251abd540af94744ad56206d32ac3f997ae346d5fb5e99082c8423374b8ff63bcd61df23
|
7
|
+
data.tar.gz: d22fe040921d1393dc9b00fa88a8ca54c2928a082f1e33c548d057a79f651f6bc07a47930e528a99b25b6480b817cd2a8e7762b45da7e284af5d04b25d69c193
|
data/README.md
CHANGED
@@ -1,21 +1,26 @@
|
|
1
1
|
# Shotstack Ruby SDK
|
2
2
|
|
3
|
-
Ruby SDK for Shotstack, the cloud video editing API.
|
3
|
+
Ruby SDK for [Shotstack](http://shotstack.io), the cloud video editing API.
|
4
4
|
|
5
|
-
|
5
|
+
Shotstack is a cloud based video editing platform that enables the editing of videos using code.
|
6
6
|
|
7
|
-
|
7
|
+
The platform uses an API and a JSON format for specifying how videos should be edited and what assets and titles should be used.
|
8
8
|
|
9
|
-
|
9
|
+
A server based render farm takes care of rendering the videos allowing multiple videos to be created simultaneously.
|
10
10
|
|
11
|
-
|
12
|
-
rm shotstack-*.gem
|
13
|
-
gem build shotstack
|
14
|
-
gem push shotstack-*.*.*.gem # use the correct version number
|
15
|
-
```
|
11
|
+
For examples of how to use the SDK to create videos using code checkout the Ruby demo repo: https://github.com/shotstack/ruby-demos
|
16
12
|
|
17
|
-
|
13
|
+
## Installation
|
18
14
|
|
19
|
-
```bash
|
20
|
-
sudo gem install shotstack
|
21
15
|
```
|
16
|
+
bundle install
|
17
|
+
```
|
18
|
+
|
19
|
+
## Documentation
|
20
|
+
|
21
|
+
- [Getting Started Guide](https://shotstack.gitbook.io/docs/guides/getting-started)
|
22
|
+
- [API Reference](https://shotstack.restlet.io/)
|
23
|
+
- [Examples](https://github.com/shotstack/ruby-demos)
|
24
|
+
- [Shotstack Website](http://shotstack.io)
|
25
|
+
|
26
|
+
###
|
@@ -19,6 +19,7 @@ module Shotstack
|
|
19
19
|
def initialize(api_client = ApiClient.default)
|
20
20
|
@api_client = api_client
|
21
21
|
end
|
22
|
+
# Get Render Status
|
22
23
|
# Get the rendering status, video url and details of a timeline by ID.
|
23
24
|
# @param id [String] The id of the timeline render task in UUID format
|
24
25
|
# @param [Hash] opts the optional parameters
|
@@ -28,6 +29,7 @@ module Shotstack
|
|
28
29
|
data
|
29
30
|
end
|
30
31
|
|
32
|
+
# Get Render Status
|
31
33
|
# Get the rendering status, video url and details of a timeline by ID.
|
32
34
|
# @param id [String] The id of the timeline render task in UUID format
|
33
35
|
# @param [Hash] opts the optional parameters
|
@@ -84,18 +86,22 @@ module Shotstack
|
|
84
86
|
return data, status_code, headers
|
85
87
|
end
|
86
88
|
|
87
|
-
# Render
|
88
|
-
#
|
89
|
+
# Render Video
|
90
|
+
# Queue and render the contents of a timeline as a video file.
|
91
|
+
# @param edit [Edit] The video edit specified using JSON.
|
89
92
|
# @param [Hash] opts the optional parameters
|
93
|
+
# @option opts [String] :x_api_queue_id The id of a dedicated queue (enterprise customers only).
|
90
94
|
# @return [QueuedResponse]
|
91
95
|
def post_render(edit, opts = {})
|
92
96
|
data, _status_code, _headers = post_render_with_http_info(edit, opts)
|
93
97
|
data
|
94
98
|
end
|
95
99
|
|
96
|
-
# Render
|
97
|
-
#
|
100
|
+
# Render Video
|
101
|
+
# Queue and render the contents of a timeline as a video file.
|
102
|
+
# @param edit [Edit] The video edit specified using JSON.
|
98
103
|
# @param [Hash] opts the optional parameters
|
104
|
+
# @option opts [String] :x_api_queue_id The id of a dedicated queue (enterprise customers only).
|
99
105
|
# @return [Array<(QueuedResponse, Integer, Hash)>] QueuedResponse data, response status code and response headers
|
100
106
|
def post_render_with_http_info(edit, opts = {})
|
101
107
|
if @api_client.config.debugging
|
@@ -117,6 +123,7 @@ module Shotstack
|
|
117
123
|
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
118
124
|
# HTTP header 'Content-Type'
|
119
125
|
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
126
|
+
header_params[:'x-api-queue-id'] = opts[:'x_api_queue_id'] if !opts[:'x_api_queue_id'].nil?
|
120
127
|
|
121
128
|
# form parameters
|
122
129
|
form_params = opts[:form_params] || {}
|
@@ -16,7 +16,7 @@ require_relative 'asset'
|
|
16
16
|
module Shotstack
|
17
17
|
# The AudioAsset is used to add sound effects and audio at specific intervals on the timeline. The src must be a publicly accessible URL to an audio resource such as an mp3 file.
|
18
18
|
class AudioAsset < Asset
|
19
|
-
# The type of asset - set to
|
19
|
+
# The type of asset - set to `audio` for audio assets.
|
20
20
|
attr_accessor :type
|
21
21
|
|
22
22
|
# The audio source URL. The URL must be publicly accessible or include credentials.
|
@@ -85,6 +85,8 @@ module Shotstack
|
|
85
85
|
|
86
86
|
if attributes.key?(:'volume')
|
87
87
|
self.volume = attributes[:'volume']
|
88
|
+
else
|
89
|
+
self.volume = 1
|
88
90
|
end
|
89
91
|
end
|
90
92
|
|
@@ -30,17 +30,17 @@ module Shotstack
|
|
30
30
|
# Scale the asset to a fraction of the viewport size - i.e. setting the scale to 0.5 will scale asset to half the size of the viewport. This is useful for picture-in-picture video and scaling images such as logos and watermarks.
|
31
31
|
attr_accessor :scale
|
32
32
|
|
33
|
-
# Place the asset in one of nine predefined positions of the viewport. This is most effective for when the asset is scaled and you want to position the element to a specific position.
|
33
|
+
# Place the asset in one of nine predefined positions of the viewport. This is most effective for when the asset is scaled and you want to position the element to a specific position. <ul> <li>`top` - top (center)</li> <li>`topRight` - top right</li> <li>`right` - right (center)</li> <li>`bottomRight` - bottom right</li> <li>`bottom` - bottom (center)</li> <li>`bottomLeft` - bottom left</li> <li>`left` - left (center)</li> <li>`topLeft` - top left</li> <li>`center` - center</li> </ul>
|
34
34
|
attr_accessor :position
|
35
35
|
|
36
36
|
attr_accessor :offset
|
37
37
|
|
38
38
|
attr_accessor :transition
|
39
39
|
|
40
|
-
# A motion effect to apply to the Clip.
|
40
|
+
# A motion effect to apply to the Clip. <ul> <li>`zoomIn` - slow zoom in</li> <li>`zoomOut` - slow zoom out</li> <li>`slideLeft` - slow slide (pan) left</li> <li>`slideRight` - slow slide (pan) right</li> <li>`slideUp` - slow slide (pan) up</li> <li>`slideDown` - slow slide (pan) down</li> </ul>
|
41
41
|
attr_accessor :effect
|
42
42
|
|
43
|
-
# A filter effect to apply to the Clip.
|
43
|
+
# A filter effect to apply to the Clip. <ul> <li>`blur` - blurs the image or video</li> <li>`boost` - boost contrast and saturation</li> <li>`contrast` - increase contrast</li> <li>`darken` - darken the scene</li> <li>`greyscale` - remove colour</li> <li>`lighten` - lighten the scene</li> <li>`muted` - reduce saturation and contrast</li> <li>`invert` - invert colors</li> </ul>
|
44
44
|
attr_accessor :filter
|
45
45
|
|
46
46
|
# Sets the opacity of the Clip where 1 is opaque and 0 is transparent.
|
@@ -169,6 +169,8 @@ module Shotstack
|
|
169
169
|
|
170
170
|
if attributes.key?(:'opacity')
|
171
171
|
self.opacity = attributes[:'opacity']
|
172
|
+
else
|
173
|
+
self.opacity = 1
|
172
174
|
end
|
173
175
|
end
|
174
176
|
|
@@ -203,7 +205,7 @@ module Shotstack
|
|
203
205
|
return false unless position_validator.valid?(@position)
|
204
206
|
effect_validator = EnumAttributeValidator.new('String', ["zoomIn", "zoomOut", "slideLeft", "slideRight", "slideUp", "slideDown"])
|
205
207
|
return false unless effect_validator.valid?(@effect)
|
206
|
-
filter_validator = EnumAttributeValidator.new('String', ["boost", "contrast", "darken", "greyscale", "lighten", "muted", "negative"])
|
208
|
+
filter_validator = EnumAttributeValidator.new('String', ["blur", "boost", "contrast", "darken", "greyscale", "lighten", "muted", "negative"])
|
207
209
|
return false unless filter_validator.valid?(@filter)
|
208
210
|
true
|
209
211
|
end
|
@@ -241,7 +243,7 @@ module Shotstack
|
|
241
243
|
# Custom attribute writer method checking allowed values (enum).
|
242
244
|
# @param [Object] filter Object to be assigned
|
243
245
|
def filter=(filter)
|
244
|
-
validator = EnumAttributeValidator.new('String', ["boost", "contrast", "darken", "greyscale", "lighten", "muted", "negative"])
|
246
|
+
validator = EnumAttributeValidator.new('String', ["blur", "boost", "contrast", "darken", "greyscale", "lighten", "muted", "negative"])
|
245
247
|
unless validator.valid?(filter)
|
246
248
|
fail ArgumentError, "invalid value for \"filter\", must be one of #{validator.allowable_values}."
|
247
249
|
end
|
@@ -16,7 +16,7 @@ require_relative 'asset'
|
|
16
16
|
module Shotstack
|
17
17
|
# The HtmlAsset clip type lets you create text based layout and formatting using HTML and CSS. You can also set the height and width of a bounding box for the HTML content to sit within. Text and elements will wrap within the bounding box.
|
18
18
|
class HtmlAsset < Asset
|
19
|
-
# The type of asset - set to
|
19
|
+
# The type of asset - set to `html` for HTML.
|
20
20
|
attr_accessor :type
|
21
21
|
|
22
22
|
# The HTML text string.
|
@@ -34,7 +34,7 @@ module Shotstack
|
|
34
34
|
# Apply a background color behind the HTML bounding box using. Set the text color using hexadecimal color notation. Transparency is supported by setting the first two characters of the hex string (opposite to HTML), i.e. #80ffffff will be white with 50% transparency.
|
35
35
|
attr_accessor :background
|
36
36
|
|
37
|
-
# Place the HTML in one of nine predefined positions within the HTML area.
|
37
|
+
# Place the HTML in one of nine predefined positions within the HTML area. <ul> <li>`top` - top (center)</li> <li>`topRight` - top right</li> <li>`right` - right (center)</li> <li>`bottomRight` - bottom right</li> <li>`bottom` - bottom (center)</li> <li>`bottomLeft` - bottom left</li> <li>`left` - left (center)</li> <li>`topLeft` - top left</li> <li>`center` - center</li> </ul>
|
38
38
|
attr_accessor :position
|
39
39
|
|
40
40
|
class EnumAttributeValidator
|
@@ -19,7 +19,7 @@ module Shotstack
|
|
19
19
|
# The type of asset - set to <b>image</b> for images.
|
20
20
|
attr_accessor :type
|
21
21
|
|
22
|
-
# The image source URL. The URL must be publicly accessible or include credentials.
|
22
|
+
# The image source URL. The URL must be publicly accessible or include credentials.
|
23
23
|
attr_accessor :src
|
24
24
|
|
25
25
|
# Attribute mapping from ruby-style variable name to JSON key.
|
@@ -15,7 +15,7 @@ require 'date'
|
|
15
15
|
module Shotstack
|
16
16
|
# The video output format.
|
17
17
|
class Output
|
18
|
-
# `mp4
|
18
|
+
# `mp4` video or animated `gif`
|
19
19
|
attr_accessor :format
|
20
20
|
|
21
21
|
# The output resolution of the video. <ul> <li>`preview` - 512px x 288px @ 15fps</li> <li>`mobile` - 640px x 360px @ 25fps</li> <li>`sd` - 1024px x 576px @ 25fps</li> <li>`hd` - 1280px x 720px @ 25fps</li> <li>`1080` - 1920px x 1080px @ 25fps</li> </ul>
|
@@ -142,7 +142,7 @@ module Shotstack
|
|
142
142
|
# @return true if the model is valid
|
143
143
|
def valid?
|
144
144
|
return false if @format.nil?
|
145
|
-
format_validator = EnumAttributeValidator.new('String', ["mp4", "
|
145
|
+
format_validator = EnumAttributeValidator.new('String', ["mp4", "gif"])
|
146
146
|
return false unless format_validator.valid?(@format)
|
147
147
|
return false if @resolution.nil?
|
148
148
|
resolution_validator = EnumAttributeValidator.new('String', ["preview", "mobile", "sd", "hd", "1080"])
|
@@ -157,7 +157,7 @@ module Shotstack
|
|
157
157
|
# Custom attribute writer method checking allowed values (enum).
|
158
158
|
# @param [Object] format Object to be assigned
|
159
159
|
def format=(format)
|
160
|
-
validator = EnumAttributeValidator.new('String', ["mp4", "
|
160
|
+
validator = EnumAttributeValidator.new('String', ["mp4", "gif"])
|
161
161
|
unless validator.valid?(format)
|
162
162
|
fail ArgumentError, "invalid value for \"format\", must be one of #{validator.allowable_values}."
|
163
163
|
end
|
@@ -14,10 +14,10 @@ require 'date'
|
|
14
14
|
|
15
15
|
module Shotstack
|
16
16
|
class QueuedResponseData
|
17
|
-
# Success response message
|
17
|
+
# Success response message or error details.
|
18
18
|
attr_accessor :message
|
19
19
|
|
20
|
-
# The id of the render task in UUID format
|
20
|
+
# The id of the render task in UUID format.
|
21
21
|
attr_accessor :id
|
22
22
|
|
23
23
|
# Attribute mapping from ruby-style variable name to JSON key.
|
@@ -14,24 +14,42 @@ require 'date'
|
|
14
14
|
|
15
15
|
module Shotstack
|
16
16
|
class RenderResponseData
|
17
|
-
# The
|
18
|
-
attr_accessor :status
|
19
|
-
|
20
|
-
# The id of the render task in UUID format
|
17
|
+
# The id of the render task in UUID format.
|
21
18
|
attr_accessor :id
|
22
19
|
|
23
|
-
# The owner id of the render task
|
20
|
+
# The owner id of the render task.
|
24
21
|
attr_accessor :owner
|
25
22
|
|
23
|
+
# The customer subscription plan.
|
24
|
+
attr_accessor :plan
|
25
|
+
|
26
|
+
# The status of the render task. <ul> <li>`queued` - render is queued waiting to be rendered</li> <li>`fetching` - assets are being fetched</li> <li>`rendering` - the video is being rendered</li> <li>`saving` - the final video is being saved to storage</li> <li>`done` - the video is ready to be downloaded</li> <li>`failed` - there was an error rendering the video</li> </ul>
|
27
|
+
attr_accessor :status
|
28
|
+
|
29
|
+
# An error message, only displayed if an error occurred.
|
30
|
+
attr_accessor :error
|
31
|
+
|
32
|
+
# The output video length in seconds.
|
33
|
+
attr_accessor :duration
|
34
|
+
|
35
|
+
# The time taken to render the video in milliseconds.
|
36
|
+
attr_accessor :render_time
|
37
|
+
|
26
38
|
# The URL of the final video. This will only be available if status is done.
|
27
39
|
attr_accessor :url
|
28
40
|
|
41
|
+
# The URL of the poster image if requested. This will only be available if status is done.
|
42
|
+
attr_accessor :poster
|
43
|
+
|
44
|
+
# The URL of the thumbnail image if requested. This will only be available if status is done.
|
45
|
+
attr_accessor :thumbnail
|
46
|
+
|
29
47
|
attr_accessor :data
|
30
48
|
|
31
|
-
# The time the render task was initially queued
|
49
|
+
# The time the render task was initially queued.
|
32
50
|
attr_accessor :created
|
33
51
|
|
34
|
-
# The time the render status was last updated
|
52
|
+
# The time the render status was last updated.
|
35
53
|
attr_accessor :updated
|
36
54
|
|
37
55
|
class EnumAttributeValidator
|
@@ -59,10 +77,16 @@ module Shotstack
|
|
59
77
|
# Attribute mapping from ruby-style variable name to JSON key.
|
60
78
|
def self.attribute_map
|
61
79
|
{
|
62
|
-
:'status' => :'status',
|
63
80
|
:'id' => :'id',
|
64
81
|
:'owner' => :'owner',
|
82
|
+
:'plan' => :'plan',
|
83
|
+
:'status' => :'status',
|
84
|
+
:'error' => :'error',
|
85
|
+
:'duration' => :'duration',
|
86
|
+
:'render_time' => :'renderTime',
|
65
87
|
:'url' => :'url',
|
88
|
+
:'poster' => :'poster',
|
89
|
+
:'thumbnail' => :'thumbnail',
|
66
90
|
:'data' => :'data',
|
67
91
|
:'created' => :'created',
|
68
92
|
:'updated' => :'updated'
|
@@ -72,10 +96,16 @@ module Shotstack
|
|
72
96
|
# Attribute type mapping.
|
73
97
|
def self.openapi_types
|
74
98
|
{
|
75
|
-
:'status' => :'String',
|
76
99
|
:'id' => :'String',
|
77
100
|
:'owner' => :'String',
|
101
|
+
:'plan' => :'String',
|
102
|
+
:'status' => :'String',
|
103
|
+
:'error' => :'String',
|
104
|
+
:'duration' => :'Float',
|
105
|
+
:'render_time' => :'Float',
|
78
106
|
:'url' => :'String',
|
107
|
+
:'poster' => :'String',
|
108
|
+
:'thumbnail' => :'String',
|
79
109
|
:'data' => :'Edit',
|
80
110
|
:'created' => :'String',
|
81
111
|
:'updated' => :'String'
|
@@ -103,10 +133,6 @@ module Shotstack
|
|
103
133
|
h[k.to_sym] = v
|
104
134
|
}
|
105
135
|
|
106
|
-
if attributes.key?(:'status')
|
107
|
-
self.status = attributes[:'status']
|
108
|
-
end
|
109
|
-
|
110
136
|
if attributes.key?(:'id')
|
111
137
|
self.id = attributes[:'id']
|
112
138
|
end
|
@@ -115,10 +141,38 @@ module Shotstack
|
|
115
141
|
self.owner = attributes[:'owner']
|
116
142
|
end
|
117
143
|
|
144
|
+
if attributes.key?(:'plan')
|
145
|
+
self.plan = attributes[:'plan']
|
146
|
+
end
|
147
|
+
|
148
|
+
if attributes.key?(:'status')
|
149
|
+
self.status = attributes[:'status']
|
150
|
+
end
|
151
|
+
|
152
|
+
if attributes.key?(:'error')
|
153
|
+
self.error = attributes[:'error']
|
154
|
+
end
|
155
|
+
|
156
|
+
if attributes.key?(:'duration')
|
157
|
+
self.duration = attributes[:'duration']
|
158
|
+
end
|
159
|
+
|
160
|
+
if attributes.key?(:'render_time')
|
161
|
+
self.render_time = attributes[:'render_time']
|
162
|
+
end
|
163
|
+
|
118
164
|
if attributes.key?(:'url')
|
119
165
|
self.url = attributes[:'url']
|
120
166
|
end
|
121
167
|
|
168
|
+
if attributes.key?(:'poster')
|
169
|
+
self.poster = attributes[:'poster']
|
170
|
+
end
|
171
|
+
|
172
|
+
if attributes.key?(:'thumbnail')
|
173
|
+
self.thumbnail = attributes[:'thumbnail']
|
174
|
+
end
|
175
|
+
|
122
176
|
if attributes.key?(:'data')
|
123
177
|
self.data = attributes[:'data']
|
124
178
|
end
|
@@ -136,10 +190,6 @@ module Shotstack
|
|
136
190
|
# @return Array for valid properties with the reasons
|
137
191
|
def list_invalid_properties
|
138
192
|
invalid_properties = Array.new
|
139
|
-
if @status.nil?
|
140
|
-
invalid_properties.push('invalid value for "status", status cannot be nil.')
|
141
|
-
end
|
142
|
-
|
143
193
|
if @id.nil?
|
144
194
|
invalid_properties.push('invalid value for "id", id cannot be nil.')
|
145
195
|
end
|
@@ -148,6 +198,10 @@ module Shotstack
|
|
148
198
|
invalid_properties.push('invalid value for "owner", owner cannot be nil.')
|
149
199
|
end
|
150
200
|
|
201
|
+
if @status.nil?
|
202
|
+
invalid_properties.push('invalid value for "status", status cannot be nil.')
|
203
|
+
end
|
204
|
+
|
151
205
|
if @data.nil?
|
152
206
|
invalid_properties.push('invalid value for "data", data cannot be nil.')
|
153
207
|
end
|
@@ -166,11 +220,11 @@ module Shotstack
|
|
166
220
|
# Check to see if the all the properties in the model are valid
|
167
221
|
# @return true if the model is valid
|
168
222
|
def valid?
|
223
|
+
return false if @id.nil?
|
224
|
+
return false if @owner.nil?
|
169
225
|
return false if @status.nil?
|
170
226
|
status_validator = EnumAttributeValidator.new('String', ["queued", "fetching", "rendering", "saving", "done", "failed"])
|
171
227
|
return false unless status_validator.valid?(@status)
|
172
|
-
return false if @id.nil?
|
173
|
-
return false if @owner.nil?
|
174
228
|
return false if @data.nil?
|
175
229
|
return false if @created.nil?
|
176
230
|
return false if @updated.nil?
|
@@ -192,10 +246,16 @@ module Shotstack
|
|
192
246
|
def ==(o)
|
193
247
|
return true if self.equal?(o)
|
194
248
|
self.class == o.class &&
|
195
|
-
status == o.status &&
|
196
249
|
id == o.id &&
|
197
250
|
owner == o.owner &&
|
251
|
+
plan == o.plan &&
|
252
|
+
status == o.status &&
|
253
|
+
error == o.error &&
|
254
|
+
duration == o.duration &&
|
255
|
+
render_time == o.render_time &&
|
198
256
|
url == o.url &&
|
257
|
+
poster == o.poster &&
|
258
|
+
thumbnail == o.thumbnail &&
|
199
259
|
data == o.data &&
|
200
260
|
created == o.created &&
|
201
261
|
updated == o.updated
|
@@ -210,7 +270,7 @@ module Shotstack
|
|
210
270
|
# Calculates hash code according to all attributes.
|
211
271
|
# @return [Integer] Hash code
|
212
272
|
def hash
|
213
|
-
[status,
|
273
|
+
[id, owner, plan, status, error, duration, render_time, url, poster, thumbnail, data, created, updated].hash
|
214
274
|
end
|
215
275
|
|
216
276
|
# Builds the object from hash
|
@@ -18,7 +18,7 @@ module Shotstack
|
|
18
18
|
# The URL of the mp3 audio file. The URL must be publicly accessible or include credentials.
|
19
19
|
attr_accessor :src
|
20
20
|
|
21
|
-
# The effect to apply to the audio file
|
21
|
+
# The effect to apply to the audio file <ul> <li>`fadeIn` - fade volume in only</li> <li>`fadeOut` - fade volume out only</li> <li>`fadeInFadeOut` - fade volume in and out</li> </ul>
|
22
22
|
attr_accessor :effect
|
23
23
|
|
24
24
|
# Set the volume for the soundtrack between 0 and 1 where 0 is muted and 1 is full volume (defaults to 1).
|
@@ -95,6 +95,8 @@ module Shotstack
|
|
95
95
|
|
96
96
|
if attributes.key?(:'volume')
|
97
97
|
self.volume = attributes[:'volume']
|
98
|
+
else
|
99
|
+
self.volume = 1
|
98
100
|
end
|
99
101
|
end
|
100
102
|
|
@@ -16,25 +16,25 @@ require_relative 'asset'
|
|
16
16
|
module Shotstack
|
17
17
|
# The TitleAsset clip type lets you create video titles from a text string and apply styling and positioning.
|
18
18
|
class TitleAsset < Asset
|
19
|
-
# The type of asset - set to
|
19
|
+
# The type of asset - set to `title` for titles.
|
20
20
|
attr_accessor :type
|
21
21
|
|
22
22
|
# The title text string - i.e. \"My Title\".
|
23
23
|
attr_accessor :text
|
24
24
|
|
25
|
-
# Uses a preset to apply font properties and styling to the title.
|
25
|
+
# Uses a preset to apply font properties and styling to the title. <ul> <li>`minimal`</li> <li>`blockbuster`</li> <li>`vogue`</li> <li>`sketchy`</li> <li>`skinny`</li> <li>`chunk`</li> <li>`chunkLight`</li> <li>`marker`</li> <li>`future`</li> <li>`subtitle`</li> </ul>
|
26
26
|
attr_accessor :style
|
27
27
|
|
28
28
|
# Set the text color using hexadecimal color notation. Transparency is supported by setting the first two characters of the hex string (opposite to HTML), i.e. #80ffffff will be white with 50% transparency.
|
29
29
|
attr_accessor :color
|
30
30
|
|
31
|
-
# Set the relative size of the text using predefined sizes from xx-small to xx-large.
|
31
|
+
# Set the relative size of the text using predefined sizes from xx-small to xx-large. <ul> <li>`xx-small`</li> <li>`x-small`</li> <li>`small`</li> <li>`medium`</li> <li>`large`</li> <li>`x-large`</li> <li>`xx-large`</li> </ul>
|
32
32
|
attr_accessor :size
|
33
33
|
|
34
|
-
# Apply a background color behind the text. Set the text color using hexadecimal color notation. Transparency is supported by setting the first two characters of the hex string (opposite to HTML), i.e. #80ffffff will be white with 50% transparency.
|
34
|
+
# Apply a background color behind the text. Set the text color using hexadecimal color notation. Transparency is supported by setting the first two characters of the hex string (opposite to HTML), i.e. #80ffffff will be white with 50% transparency. Omit to use transparent background.
|
35
35
|
attr_accessor :background
|
36
36
|
|
37
|
-
# Place the title in one of nine predefined positions of the viewport.
|
37
|
+
# Place the title in one of nine predefined positions of the viewport. <ul> <li>`top` - top (center)</li> <li>`topRight` - top right</li> <li>`right` - right (center)</li> <li>`bottomRight` - bottom right</li> <li>`bottom` - bottom (center)</li> <li>`bottomLeft` - bottom left</li> <li>`left` - left (center)</li> <li>`topLeft` - top left</li> <li>`center` - center</li> </ul>
|
38
38
|
attr_accessor :position
|
39
39
|
|
40
40
|
attr_accessor :offset
|
@@ -15,10 +15,10 @@ require 'date'
|
|
15
15
|
module Shotstack
|
16
16
|
# In and out transitions for a clip - i.e. fade in and fade out
|
17
17
|
class Transition
|
18
|
-
# The transition in
|
18
|
+
# The transition in. Available transitions are: <ul> <li>`fade` - fade in</li> <li>`reveal` - reveal from left to right</li> <li>`wipeLeft` - fade across screen to the left</li> <li>`wipeRight` - fade across screen to the right</li> <li>`slideLeft` - move slightly left and fade in</li> <li>`slideRight` - move slightly right and fade in</li> <li>`slideUp` - move slightly up and fade in</li> <li>`slideDown` - move slightly down and fade in</li> <li>`carouselLeft` - slide in from right to left</li> <li>`carouselRight` - slide in from left to right</li> <li>`carouselUp` - slide in from bottom to top</li> <li>`carouselDown` - slide in from top to bottom</li> <li>`zoom` - fast zoom in</li> </ul>
|
19
19
|
attr_accessor :_in
|
20
20
|
|
21
|
-
# The transition out
|
21
|
+
# The transition out. Available transitions are: <ul> <li>`fade` - fade out</li> <li>`reveal` - reveal from right to left</li> <li>`wipeLeft` - fade across screen to the left</li> <li>`wipeRight` - fade across screen to the right</li> <li>`slideLeft` - move slightly left and fade out</li> <li>`slideRight` - move slightly right and fade out</li> <li>`slideUp` - move slightly up and fade out</li> <li>`slideDown` - move slightly down and fade out</li> <li>`carouselLeft` - slide out from right to left</li> <li>`carouselRight` - slide out from left to right</li> <li>`carouselUp` - slide out from bottom to top</li> <li>`carouselDown` - slide out from top to bottom</li> <li>`zoom` - fast zoom out</li> </ul>
|
22
22
|
attr_accessor :out
|
23
23
|
|
24
24
|
class EnumAttributeValidator
|
@@ -99,9 +99,9 @@ module Shotstack
|
|
99
99
|
# Check to see if the all the properties in the model are valid
|
100
100
|
# @return true if the model is valid
|
101
101
|
def valid?
|
102
|
-
_in_validator = EnumAttributeValidator.new('String', ["fade", "reveal", "wipeLeft", "wipeRight"])
|
102
|
+
_in_validator = EnumAttributeValidator.new('String', ["fade", "reveal", "wipeLeft", "wipeRight", "slideLeft", "slideRight", "slideUp", "slideDown", "carouselLeft", "carouselRight", "carouselUp", "carouselDown", "zoom"])
|
103
103
|
return false unless _in_validator.valid?(@_in)
|
104
|
-
out_validator = EnumAttributeValidator.new('String', ["fade", "reveal", "wipeLeft", "wipeRight"])
|
104
|
+
out_validator = EnumAttributeValidator.new('String', ["fade", "reveal", "wipeLeft", "wipeRight", "slideLeft", "slideRight", "slideUp", "slideDown", "carouselLeft", "carouselRight", "carouselUp", "carouselDown", "zoom"])
|
105
105
|
return false unless out_validator.valid?(@out)
|
106
106
|
true
|
107
107
|
end
|
@@ -109,7 +109,7 @@ module Shotstack
|
|
109
109
|
# Custom attribute writer method checking allowed values (enum).
|
110
110
|
# @param [Object] _in Object to be assigned
|
111
111
|
def _in=(_in)
|
112
|
-
validator = EnumAttributeValidator.new('String', ["fade", "reveal", "wipeLeft", "wipeRight"])
|
112
|
+
validator = EnumAttributeValidator.new('String', ["fade", "reveal", "wipeLeft", "wipeRight", "slideLeft", "slideRight", "slideUp", "slideDown", "carouselLeft", "carouselRight", "carouselUp", "carouselDown", "zoom"])
|
113
113
|
unless validator.valid?(_in)
|
114
114
|
fail ArgumentError, "invalid value for \"_in\", must be one of #{validator.allowable_values}."
|
115
115
|
end
|
@@ -119,7 +119,7 @@ module Shotstack
|
|
119
119
|
# Custom attribute writer method checking allowed values (enum).
|
120
120
|
# @param [Object] out Object to be assigned
|
121
121
|
def out=(out)
|
122
|
-
validator = EnumAttributeValidator.new('String', ["fade", "reveal", "wipeLeft", "wipeRight"])
|
122
|
+
validator = EnumAttributeValidator.new('String', ["fade", "reveal", "wipeLeft", "wipeRight", "slideLeft", "slideRight", "slideUp", "slideDown", "carouselLeft", "carouselRight", "carouselUp", "carouselDown", "zoom"])
|
123
123
|
unless validator.valid?(out)
|
124
124
|
fail ArgumentError, "invalid value for \"out\", must be one of #{validator.allowable_values}."
|
125
125
|
end
|
@@ -16,7 +16,7 @@ require_relative 'asset'
|
|
16
16
|
module Shotstack
|
17
17
|
# The VideoAsset is used to create video sequences from video files. The src must be a publicly accessible URL to a video resource such as an mp4 file.
|
18
18
|
class VideoAsset < Asset
|
19
|
-
# The type of asset - set to
|
19
|
+
# The type of asset - set to `video` for videos.
|
20
20
|
attr_accessor :type
|
21
21
|
|
22
22
|
# The video source URL. The URL must be publicly accessible or include credentials.
|
data/lib/shotstack/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shotstack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenAPI-Generator
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: typhoeus
|