vgen-apimatic-sdk 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.
- checksums.yaml +7 -0
- data/LICENSE +28 -0
- data/README.md +152 -0
- data/bin/console +15 -0
- data/lib/videogen/api_helper.rb +10 -0
- data/lib/videogen/apis/account_api.rb +31 -0
- data/lib/videogen/apis/assistant_api.rb +191 -0
- data/lib/videogen/apis/base_api.rb +67 -0
- data/lib/videogen/apis/entities_api.rb +230 -0
- data/lib/videogen/apis/files_api.rb +263 -0
- data/lib/videogen/apis/projects_api.rb +355 -0
- data/lib/videogen/apis/resources_api.rb +81 -0
- data/lib/videogen/apis/text_api.rb +39 -0
- data/lib/videogen/apis/tools_api.rb +494 -0
- data/lib/videogen/apis/webhooks_api.rb +94 -0
- data/lib/videogen/apis/workflows_api.rb +217 -0
- data/lib/videogen/client.rb +127 -0
- data/lib/videogen/configuration.rb +166 -0
- data/lib/videogen/exceptions/api_exception.rb +21 -0
- data/lib/videogen/http/api_response.rb +19 -0
- data/lib/videogen/http/auth/oauth_2.rb +53 -0
- data/lib/videogen/http/http_call_back.rb +10 -0
- data/lib/videogen/http/http_method_enum.rb +10 -0
- data/lib/videogen/http/http_request.rb +10 -0
- data/lib/videogen/http/http_response.rb +10 -0
- data/lib/videogen/http/proxy_settings.rb +22 -0
- data/lib/videogen/logging/configuration/api_logging_configuration.rb +186 -0
- data/lib/videogen/logging/sdk_logger.rb +17 -0
- data/lib/videogen/models/act_on_assistant_action_request.rb +77 -0
- data/lib/videogen/models/act_on_assistant_action_request_decision.rb +36 -0
- data/lib/videogen/models/act_on_assistant_action_response.rb +77 -0
- data/lib/videogen/models/add_entity_reference_request.rb +95 -0
- data/lib/videogen/models/api_error.rb +137 -0
- data/lib/videogen/models/aspect_ratio.rb +105 -0
- data/lib/videogen/models/aspect_ratio1.rb +82 -0
- data/lib/videogen/models/aspect_ratio2.rb +82 -0
- data/lib/videogen/models/aspect_ratio4.rb +83 -0
- data/lib/videogen/models/assistant_action.rb +148 -0
- data/lib/videogen/models/assistant_action_detail.rb +108 -0
- data/lib/videogen/models/assistant_action_detail1.rb +117 -0
- data/lib/videogen/models/assistant_action_kind.rb +52 -0
- data/lib/videogen/models/assistant_message.rb +167 -0
- data/lib/videogen/models/assistant_message1.rb +259 -0
- data/lib/videogen/models/assistant_message_attachment.rb +101 -0
- data/lib/videogen/models/assistant_message_status.rb +49 -0
- data/lib/videogen/models/assistant_workflow_suggestion.rb +133 -0
- data/lib/videogen/models/base_model.rb +110 -0
- data/lib/videogen/models/content_policy_config.rb +80 -0
- data/lib/videogen/models/create_entity_request.rb +96 -0
- data/lib/videogen/models/create_entity_request_entity_type.rb +47 -0
- data/lib/videogen/models/create_file_upload_request.rb +125 -0
- data/lib/videogen/models/create_timeline_interchange_request.rb +93 -0
- data/lib/videogen/models/create_timeline_interchange_response.rb +76 -0
- data/lib/videogen/models/create_webhook_endpoint_request.rb +94 -0
- data/lib/videogen/models/end_screen_mode.rb +43 -0
- data/lib/videogen/models/entity.rb +166 -0
- data/lib/videogen/models/entity_actor_config.rb +101 -0
- data/lib/videogen/models/entity_archive_response.rb +82 -0
- data/lib/videogen/models/entity_entity_type.rb +47 -0
- data/lib/videogen/models/entity_reference.rb +93 -0
- data/lib/videogen/models/error_requirement.rb +101 -0
- data/lib/videogen/models/executed_tool.rb +148 -0
- data/lib/videogen/models/export_delivery_destination.rb +110 -0
- data/lib/videogen/models/export_delivery_destination_type.rb +36 -0
- data/lib/videogen/models/export_project_quality.rb +44 -0
- data/lib/videogen/models/export_project_request.rb +124 -0
- data/lib/videogen/models/export_project_response.rb +76 -0
- data/lib/videogen/models/file_analysis_metadata.rb +112 -0
- data/lib/videogen/models/file_analysis_metadata1.rb +112 -0
- data/lib/videogen/models/file_analysis_metadata_analysis_loading_state.rb +48 -0
- data/lib/videogen/models/file_info.rb +386 -0
- data/lib/videogen/models/file_info1.rb +387 -0
- data/lib/videogen/models/file_info_scope.rb +54 -0
- data/lib/videogen/models/file_source.rb +134 -0
- data/lib/videogen/models/file_source_status.rb +46 -0
- data/lib/videogen/models/file_type.rb +57 -0
- data/lib/videogen/models/file_type1.rb +56 -0
- data/lib/videogen/models/file_type2.rb +57 -0
- data/lib/videogen/models/file_upload_response.rb +82 -0
- data/lib/videogen/models/generate_avatar_request.rb +149 -0
- data/lib/videogen/models/generate_image_request.rb +187 -0
- data/lib/videogen/models/generate_motion_graphic_request.rb +193 -0
- data/lib/videogen/models/generate_music_request.rb +111 -0
- data/lib/videogen/models/generate_sound_effect_request.rb +139 -0
- data/lib/videogen/models/generate_text_request.rb +120 -0
- data/lib/videogen/models/generate_text_response.rb +72 -0
- data/lib/videogen/models/generate_video_clip_request.rb +297 -0
- data/lib/videogen/models/get_assistant_response.rb +135 -0
- data/lib/videogen/models/get_files_response.rb +102 -0
- data/lib/videogen/models/image_asset_request.rb +125 -0
- data/lib/videogen/models/job_status.rb +51 -0
- data/lib/videogen/models/language.rb +83 -0
- data/lib/videogen/models/language_list_response.rb +83 -0
- data/lib/videogen/models/list_entities_response.rb +103 -0
- data/lib/videogen/models/list_project_exports_response.rb +104 -0
- data/lib/videogen/models/list_projects_response.rb +105 -0
- data/lib/videogen/models/list_remix_actions_response.rb +103 -0
- data/lib/videogen/models/me_response.rb +114 -0
- data/lib/videogen/models/model_quality.rb +51 -0
- data/lib/videogen/models/model_quality1.rb +47 -0
- data/lib/videogen/models/model_quality10.rb +46 -0
- data/lib/videogen/models/model_quality11.rb +46 -0
- data/lib/videogen/models/model_quality12.rb +45 -0
- data/lib/videogen/models/model_quality13.rb +46 -0
- data/lib/videogen/models/model_quality2.rb +46 -0
- data/lib/videogen/models/model_quality3.rb +46 -0
- data/lib/videogen/models/model_quality4.rb +48 -0
- data/lib/videogen/models/model_quality9.rb +47 -0
- data/lib/videogen/models/motion_graphic_sub_tool_mode.rb +44 -0
- data/lib/videogen/models/motion_graphic_sub_tool_mode1.rb +40 -0
- data/lib/videogen/models/motion_graphic_sub_tool_mode2.rb +41 -0
- data/lib/videogen/models/motion_graphic_sub_tool_mode3.rb +40 -0
- data/lib/videogen/models/motion_graphic_sub_tool_mode4.rb +40 -0
- data/lib/videogen/models/motion_graphic_sub_tool_modes.rb +114 -0
- data/lib/videogen/models/motion_graphic_sub_tool_modes1.rb +116 -0
- data/lib/videogen/models/project_export.rb +207 -0
- data/lib/videogen/models/project_response.rb +151 -0
- data/lib/videogen/models/project_response_status.rb +36 -0
- data/lib/videogen/models/prompt_to_video_clip_request.rb +155 -0
- data/lib/videogen/models/pronunciation_replacement.rb +82 -0
- data/lib/videogen/models/remix_action.rb +111 -0
- data/lib/videogen/models/remix_action1.rb +123 -0
- data/lib/videogen/models/remix_action10.rb +115 -0
- data/lib/videogen/models/remix_action11.rb +148 -0
- data/lib/videogen/models/remix_action12.rb +89 -0
- data/lib/videogen/models/remix_action13.rb +105 -0
- data/lib/videogen/models/remix_action14.rb +138 -0
- data/lib/videogen/models/remix_action2.rb +101 -0
- data/lib/videogen/models/remix_action3.rb +85 -0
- data/lib/videogen/models/remix_action4.rb +120 -0
- data/lib/videogen/models/remix_action5.rb +88 -0
- data/lib/videogen/models/remix_action6.rb +106 -0
- data/lib/videogen/models/remix_action7.rb +137 -0
- data/lib/videogen/models/remix_action8.rb +131 -0
- data/lib/videogen/models/remix_action9.rb +120 -0
- data/lib/videogen/models/remix_action_discriminator_mapping_set_logo_position.rb +53 -0
- data/lib/videogen/models/remix_action_run.rb +150 -0
- data/lib/videogen/models/remix_action_type.rb +88 -0
- data/lib/videogen/models/remix_project_request.rb +105 -0
- data/lib/videogen/models/remix_project_response.rb +101 -0
- data/lib/videogen/models/remix_transition_style.rb +58 -0
- data/lib/videogen/models/remove_entity_reference_request.rb +73 -0
- data/lib/videogen/models/scene_description_range.rb +121 -0
- data/lib/videogen/models/script_to_video_request.rb +309 -0
- data/lib/videogen/models/search_files_request.rb +96 -0
- data/lib/videogen/models/search_files_response.rb +82 -0
- data/lib/videogen/models/search_files_result.rb +85 -0
- data/lib/videogen/models/send_assistant_message_request.rb +73 -0
- data/lib/videogen/models/send_assistant_message_response.rb +76 -0
- data/lib/videogen/models/slideshow_to_video_request.rb +276 -0
- data/lib/videogen/models/start_assistant_chat_request.rb +88 -0
- data/lib/videogen/models/start_assistant_chat_response.rb +105 -0
- data/lib/videogen/models/start_tool_execution_response.rb +76 -0
- data/lib/videogen/models/start_workflow_run_response.rb +141 -0
- data/lib/videogen/models/text_to_speech_request.rb +191 -0
- data/lib/videogen/models/timeline_interchange.rb +210 -0
- data/lib/videogen/models/timeline_interchange_format.rb +47 -0
- data/lib/videogen/models/timeline_interchange_media_delivery.rb +39 -0
- data/lib/videogen/models/tool_execution_list_response.rb +104 -0
- data/lib/videogen/models/tool_success_result.rb +152 -0
- data/lib/videogen/models/transcript.rb +97 -0
- data/lib/videogen/models/transcript_word.rb +93 -0
- data/lib/videogen/models/tts_voice.rb +162 -0
- data/lib/videogen/models/tts_voice_display_gender.rb +40 -0
- data/lib/videogen/models/tts_voice_list_response.rb +103 -0
- data/lib/videogen/models/update_entity_request.rb +88 -0
- data/lib/videogen/models/v1_entities_get_parameters_entity_type.rb +44 -0
- data/lib/videogen/models/video_asset_request.rb +125 -0
- data/lib/videogen/models/visual_pacing.rb +41 -0
- data/lib/videogen/models/voiceover_to_video_request.rb +297 -0
- data/lib/videogen/models/watermark_mode.rb +43 -0
- data/lib/videogen/models/webhook_endpoint.rb +137 -0
- data/lib/videogen/models/webhook_endpoint_list_response.rb +103 -0
- data/lib/videogen/models/webhook_event_name.rb +100 -0
- data/lib/videogen/models/workflow_caption_background_style.rb +133 -0
- data/lib/videogen/models/workflow_caption_background_style_type.rb +41 -0
- data/lib/videogen/models/workflow_caption_style.rb +220 -0
- data/lib/videogen/models/workflow_caption_style_font_weight.rb +64 -0
- data/lib/videogen/models/workflow_caption_style_text_justification.rb +40 -0
- data/lib/videogen/models/workflow_caption_style_vertical_alignment.rb +40 -0
- data/lib/videogen/models/workflow_rgb_color.rb +116 -0
- data/lib/videogen/models/workflow_run.rb +150 -0
- data/lib/videogen/models/workflow_run_list_response.rb +103 -0
- data/lib/videogen/models/workflow_type.rb +52 -0
- data/lib/videogen/models/workflow_type1.rb +52 -0
- data/lib/videogen/models/workflow_visual_style.rb +136 -0
- data/lib/videogen/models/workflow_visual_style_type.rb +38 -0
- data/lib/videogen/utilities/date_time_helper.rb +11 -0
- data/lib/videogen/utilities/file_wrapper.rb +28 -0
- data/lib/videogen/utilities/union_type_lookup.rb +188 -0
- data/lib/videogen.rb +213 -0
- metadata +275 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# videogen
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Videogen
|
|
7
|
+
# SearchFilesResult Model.
|
|
8
|
+
class SearchFilesResult < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Cosine similarity between the query embedding and the file description
|
|
13
|
+
# embedding. Ranges from 0 (no match) to 1 (identical). Values above 0.7
|
|
14
|
+
# typically indicate strong relevance.
|
|
15
|
+
# @return [Float]
|
|
16
|
+
attr_accessor :similarity
|
|
17
|
+
|
|
18
|
+
# Metadata for a generated file. Obtain ids from tool results or `GET
|
|
19
|
+
# /v1/files`.
|
|
20
|
+
# @return [FileInfo]
|
|
21
|
+
attr_accessor :file
|
|
22
|
+
|
|
23
|
+
# A mapping from model property names to API property names.
|
|
24
|
+
def self.names
|
|
25
|
+
@_hash = {} if @_hash.nil?
|
|
26
|
+
@_hash['similarity'] = 'similarity'
|
|
27
|
+
@_hash['file'] = 'file'
|
|
28
|
+
@_hash
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# An array for optional fields
|
|
32
|
+
def self.optionals
|
|
33
|
+
[]
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# An array for nullable fields
|
|
37
|
+
def self.nullables
|
|
38
|
+
[]
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def initialize(similarity:, file:, additional_properties: nil)
|
|
42
|
+
# Add additional model properties to the instance
|
|
43
|
+
additional_properties = {} if additional_properties.nil?
|
|
44
|
+
|
|
45
|
+
@similarity = similarity
|
|
46
|
+
@file = file
|
|
47
|
+
@additional_properties = additional_properties
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Creates an instance of the object from a hash.
|
|
51
|
+
def self.from_hash(hash)
|
|
52
|
+
return nil unless hash
|
|
53
|
+
|
|
54
|
+
# Extract variables from the hash.
|
|
55
|
+
similarity = hash.key?('similarity') ? hash['similarity'] : nil
|
|
56
|
+
file = FileInfo.from_hash(hash['file']) if hash['file']
|
|
57
|
+
|
|
58
|
+
# Create a new hash for additional properties, removing known properties.
|
|
59
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
60
|
+
|
|
61
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
62
|
+
new_hash, proc { |value| value }
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
# Create object from extracted values.
|
|
66
|
+
SearchFilesResult.new(similarity: similarity,
|
|
67
|
+
file: file,
|
|
68
|
+
additional_properties: additional_properties)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# Provides a human-readable string representation of the object.
|
|
72
|
+
def to_s
|
|
73
|
+
class_name = self.class.name.split('::').last
|
|
74
|
+
"<#{class_name} similarity: #{@similarity}, file: #{@file}, additional_properties:"\
|
|
75
|
+
" #{@additional_properties}>"
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
79
|
+
def inspect
|
|
80
|
+
class_name = self.class.name.split('::').last
|
|
81
|
+
"<#{class_name} similarity: #{@similarity.inspect}, file: #{@file.inspect},"\
|
|
82
|
+
" additional_properties: #{@additional_properties}>"
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# videogen
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Videogen
|
|
7
|
+
# SendAssistantMessageRequest Model.
|
|
8
|
+
class SendAssistantMessageRequest < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# The message to send to the assistant in this project chat.
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :message
|
|
15
|
+
|
|
16
|
+
# A mapping from model property names to API property names.
|
|
17
|
+
def self.names
|
|
18
|
+
@_hash = {} if @_hash.nil?
|
|
19
|
+
@_hash['message'] = 'message'
|
|
20
|
+
@_hash
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# An array for optional fields
|
|
24
|
+
def self.optionals
|
|
25
|
+
[]
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# An array for nullable fields
|
|
29
|
+
def self.nullables
|
|
30
|
+
[]
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def initialize(message:, additional_properties: nil)
|
|
34
|
+
# Add additional model properties to the instance
|
|
35
|
+
additional_properties = {} if additional_properties.nil?
|
|
36
|
+
|
|
37
|
+
@message = message
|
|
38
|
+
@additional_properties = additional_properties
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Creates an instance of the object from a hash.
|
|
42
|
+
def self.from_hash(hash)
|
|
43
|
+
return nil unless hash
|
|
44
|
+
|
|
45
|
+
# Extract variables from the hash.
|
|
46
|
+
message = hash.key?('message') ? hash['message'] : nil
|
|
47
|
+
|
|
48
|
+
# Create a new hash for additional properties, removing known properties.
|
|
49
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
50
|
+
|
|
51
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
52
|
+
new_hash, proc { |value| value }
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
# Create object from extracted values.
|
|
56
|
+
SendAssistantMessageRequest.new(message: message,
|
|
57
|
+
additional_properties: additional_properties)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Provides a human-readable string representation of the object.
|
|
61
|
+
def to_s
|
|
62
|
+
class_name = self.class.name.split('::').last
|
|
63
|
+
"<#{class_name} message: #{@message}, additional_properties: #{@additional_properties}>"
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
67
|
+
def inspect
|
|
68
|
+
class_name = self.class.name.split('::').last
|
|
69
|
+
"<#{class_name} message: #{@message.inspect}, additional_properties:"\
|
|
70
|
+
" #{@additional_properties}>"
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# videogen
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Videogen
|
|
7
|
+
# Returned when a `POST /v1/assistants/{assistantId}/messages` call is
|
|
8
|
+
# accepted. Use `messageId` to poll the pending assistant reply.
|
|
9
|
+
class SendAssistantMessageResponse < BaseModel
|
|
10
|
+
SKIP = Object.new
|
|
11
|
+
private_constant :SKIP
|
|
12
|
+
|
|
13
|
+
# Opaque assistant message id for the pending assistant reply (e.g.
|
|
14
|
+
# `vg_mesg_...`). Poll `GET /v1/assistant-messages/{messageId}`.
|
|
15
|
+
# @return [String]
|
|
16
|
+
attr_accessor :message_id
|
|
17
|
+
|
|
18
|
+
# A mapping from model property names to API property names.
|
|
19
|
+
def self.names
|
|
20
|
+
@_hash = {} if @_hash.nil?
|
|
21
|
+
@_hash['message_id'] = 'messageId'
|
|
22
|
+
@_hash
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# An array for optional fields
|
|
26
|
+
def self.optionals
|
|
27
|
+
[]
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# An array for nullable fields
|
|
31
|
+
def self.nullables
|
|
32
|
+
[]
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def initialize(message_id:, additional_properties: nil)
|
|
36
|
+
# Add additional model properties to the instance
|
|
37
|
+
additional_properties = {} if additional_properties.nil?
|
|
38
|
+
|
|
39
|
+
@message_id = message_id
|
|
40
|
+
@additional_properties = additional_properties
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Creates an instance of the object from a hash.
|
|
44
|
+
def self.from_hash(hash)
|
|
45
|
+
return nil unless hash
|
|
46
|
+
|
|
47
|
+
# Extract variables from the hash.
|
|
48
|
+
message_id = hash.key?('messageId') ? hash['messageId'] : nil
|
|
49
|
+
|
|
50
|
+
# Create a new hash for additional properties, removing known properties.
|
|
51
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
52
|
+
|
|
53
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
54
|
+
new_hash, proc { |value| value }
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
# Create object from extracted values.
|
|
58
|
+
SendAssistantMessageResponse.new(message_id: message_id,
|
|
59
|
+
additional_properties: additional_properties)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# Provides a human-readable string representation of the object.
|
|
63
|
+
def to_s
|
|
64
|
+
class_name = self.class.name.split('::').last
|
|
65
|
+
"<#{class_name} message_id: #{@message_id}, additional_properties:"\
|
|
66
|
+
" #{@additional_properties}>"
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
70
|
+
def inspect
|
|
71
|
+
class_name = self.class.name.split('::').last
|
|
72
|
+
"<#{class_name} message_id: #{@message_id.inspect}, additional_properties:"\
|
|
73
|
+
" #{@additional_properties}>"
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
# videogen
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Videogen
|
|
7
|
+
# SlideshowToVideoRequest Model.
|
|
8
|
+
class SlideshowToVideoRequest < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Opaque file id of an uploaded PDF or PowerPoint file (e.g. `vg_file_...`).
|
|
13
|
+
# Upload the file first via `POST /v1/files/upload`.
|
|
14
|
+
# @return [String]
|
|
15
|
+
attr_accessor :file_id
|
|
16
|
+
|
|
17
|
+
# Optional per-slide narration, in slide order, applied by index: each slide
|
|
18
|
+
# uses its matching entry, and an empty string makes that slide silent. If
|
|
19
|
+
# you provide fewer entries than slides, the remaining slides are silent;
|
|
20
|
+
# extra entries are ignored. Omit this field entirely to narrate each slide
|
|
21
|
+
# from its speaker notes in the uploaded file. To guarantee no narration on
|
|
22
|
+
# any slide, pass an empty array.
|
|
23
|
+
# @return [Array[String]]
|
|
24
|
+
attr_accessor :slide_scripts
|
|
25
|
+
|
|
26
|
+
# Aspect ratio as a width:height pair (e.g. 16 and 9 for 16:9). Not pixel
|
|
27
|
+
# dimensions.
|
|
28
|
+
# @return [AspectRatio]
|
|
29
|
+
attr_accessor :aspect_ratio
|
|
30
|
+
|
|
31
|
+
# Output language as a BCP-47 code (e.g. `en`, `es`, `fr`). Defaults to
|
|
32
|
+
# English.
|
|
33
|
+
# @return [String]
|
|
34
|
+
attr_accessor :language
|
|
35
|
+
|
|
36
|
+
# Catalog `displayName` (e.g. `Matilda`) or voice id from `GET
|
|
37
|
+
# /v1/resources/tts-voices` (e.g. `vg_voic_...`). A default voice is used
|
|
38
|
+
# when omitted. Any voice may be used here, including voices where
|
|
39
|
+
# `supportsDirectToolExecution` is false.
|
|
40
|
+
# @return [String]
|
|
41
|
+
attr_accessor :voice_id
|
|
42
|
+
|
|
43
|
+
# Speech rate multiplier, between 0.5 (half speed) and 2 (double speed).
|
|
44
|
+
# Defaults to the voice's default speed.
|
|
45
|
+
# @return [Float]
|
|
46
|
+
attr_accessor :voice_speed
|
|
47
|
+
|
|
48
|
+
# Recommended. Optional id of a built-in stock actor or an ACTOR entity
|
|
49
|
+
# (e.g. `vg_enti_...`) with an image reference. When set, narration is
|
|
50
|
+
# delivered by that actor avatar. Omit or pass `null` for voiceover without
|
|
51
|
+
# an avatar.
|
|
52
|
+
# @return [String]
|
|
53
|
+
attr_accessor :actor_entity_id
|
|
54
|
+
|
|
55
|
+
# Avatar generation quality tier. Applies when `actorEntityId` is provided.
|
|
56
|
+
# Optional; when omitted, your account's Default AI quality for avatars is
|
|
57
|
+
# used.
|
|
58
|
+
# @return [ModelQuality3]
|
|
59
|
+
attr_accessor :avatar_quality
|
|
60
|
+
|
|
61
|
+
# Optional id of a SLIDESHOW_THEME entity (e.g. `vg_enti_...`) whose
|
|
62
|
+
# reference board defines the shared slide design system (fonts, colors,
|
|
63
|
+
# layout) applied to generated or edited slides. Create one via `POST
|
|
64
|
+
# /v1/entities` with `entityType` SLIDESHOW_THEME and attach a reference
|
|
65
|
+
# image or a PDF / PowerPoint. Omit when converting an uploaded deck's
|
|
66
|
+
# original pages into a video; VideoGen derives a theme from those pages in
|
|
67
|
+
# the background so later edits can match the original slides.
|
|
68
|
+
# @return [String]
|
|
69
|
+
attr_accessor :slideshow_theme_entity_id
|
|
70
|
+
|
|
71
|
+
# Caption styling. Omit to use the default style with captions shown. Pass
|
|
72
|
+
# an object to override individual style fields (any omitted field uses the
|
|
73
|
+
# default). Pass `null` to hide captions entirely.
|
|
74
|
+
# @return [WorkflowCaptionStyle]
|
|
75
|
+
attr_accessor :caption_style
|
|
76
|
+
|
|
77
|
+
# Optional file id of an uploaded logo image to overlay on the video (e.g.
|
|
78
|
+
# `vg_file_...`). Upload the image first via `POST /v1/files/upload`. Only
|
|
79
|
+
# image files are accepted.
|
|
80
|
+
# @return [String]
|
|
81
|
+
attr_accessor :logo_file_id
|
|
82
|
+
|
|
83
|
+
# Optional edits applied to the project after the video is built, in order.
|
|
84
|
+
# Each action runs asynchronously; the response returns one remix action id
|
|
85
|
+
# per action. Captions and a logo are set with the `captionStyle` and
|
|
86
|
+
# `logoFileId` request fields above; recommended remix actions here are
|
|
87
|
+
# `CONVERT_IMAGES_TO_VIDEOS` to animate still images into clips, and
|
|
88
|
+
# `ADD_TRANSITIONS` to stamp transitions between sections and assets. See
|
|
89
|
+
# the [Remix actions](/remix-actions) guide.
|
|
90
|
+
# @return [Array[Object]]
|
|
91
|
+
attr_accessor :remix_actions
|
|
92
|
+
|
|
93
|
+
# When true, the video's generated OUTPUT files (AI images, video clips,
|
|
94
|
+
# voiceover audio, avatars) are created as temporary: guaranteed available
|
|
95
|
+
# for 24 hours, after which they may be archived and later deleted. This
|
|
96
|
+
# also covers files produced by post-build remix actions (e.g. generated
|
|
97
|
+
# background music, image-to-video conversions). Use this when your
|
|
98
|
+
# integration downloads or re-hosts the results itself and does not need
|
|
99
|
+
# VideoGen to retain them. The project and its metadata are unaffected.
|
|
100
|
+
# Defaults to false.
|
|
101
|
+
# @return [TrueClass | FalseClass]
|
|
102
|
+
attr_accessor :is_output_temporary
|
|
103
|
+
|
|
104
|
+
# When true, generated files are hidden from the VideoGen Media page by
|
|
105
|
+
# default. They remain accessible through the API. Defaults to false.
|
|
106
|
+
# @return [TrueClass | FalseClass]
|
|
107
|
+
attr_accessor :hide_from_ui
|
|
108
|
+
|
|
109
|
+
# A mapping from model property names to API property names.
|
|
110
|
+
def self.names
|
|
111
|
+
@_hash = {} if @_hash.nil?
|
|
112
|
+
@_hash['file_id'] = 'fileId'
|
|
113
|
+
@_hash['slide_scripts'] = 'slideScripts'
|
|
114
|
+
@_hash['aspect_ratio'] = 'aspectRatio'
|
|
115
|
+
@_hash['language'] = 'language'
|
|
116
|
+
@_hash['voice_id'] = 'voiceId'
|
|
117
|
+
@_hash['voice_speed'] = 'voiceSpeed'
|
|
118
|
+
@_hash['actor_entity_id'] = 'actorEntityId'
|
|
119
|
+
@_hash['avatar_quality'] = 'avatarQuality'
|
|
120
|
+
@_hash['slideshow_theme_entity_id'] = 'slideshowThemeEntityId'
|
|
121
|
+
@_hash['caption_style'] = 'captionStyle'
|
|
122
|
+
@_hash['logo_file_id'] = 'logoFileId'
|
|
123
|
+
@_hash['remix_actions'] = 'remixActions'
|
|
124
|
+
@_hash['is_output_temporary'] = 'isOutputTemporary'
|
|
125
|
+
@_hash['hide_from_ui'] = 'hideFromUi'
|
|
126
|
+
@_hash
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
# An array for optional fields
|
|
130
|
+
def self.optionals
|
|
131
|
+
%w[
|
|
132
|
+
slide_scripts
|
|
133
|
+
aspect_ratio
|
|
134
|
+
language
|
|
135
|
+
voice_id
|
|
136
|
+
voice_speed
|
|
137
|
+
actor_entity_id
|
|
138
|
+
avatar_quality
|
|
139
|
+
slideshow_theme_entity_id
|
|
140
|
+
caption_style
|
|
141
|
+
logo_file_id
|
|
142
|
+
remix_actions
|
|
143
|
+
is_output_temporary
|
|
144
|
+
hide_from_ui
|
|
145
|
+
]
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
# An array for nullable fields
|
|
149
|
+
def self.nullables
|
|
150
|
+
%w[
|
|
151
|
+
voice_id
|
|
152
|
+
actor_entity_id
|
|
153
|
+
caption_style
|
|
154
|
+
logo_file_id
|
|
155
|
+
]
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
def initialize(file_id:, slide_scripts: SKIP, aspect_ratio: SKIP,
|
|
159
|
+
language: SKIP, voice_id: SKIP, voice_speed: SKIP,
|
|
160
|
+
actor_entity_id: SKIP, avatar_quality: SKIP,
|
|
161
|
+
slideshow_theme_entity_id: SKIP, caption_style: SKIP,
|
|
162
|
+
logo_file_id: SKIP, remix_actions: SKIP,
|
|
163
|
+
is_output_temporary: false, hide_from_ui: false,
|
|
164
|
+
additional_properties: nil)
|
|
165
|
+
# Add additional model properties to the instance
|
|
166
|
+
additional_properties = {} if additional_properties.nil?
|
|
167
|
+
|
|
168
|
+
@file_id = file_id
|
|
169
|
+
@slide_scripts = slide_scripts unless slide_scripts == SKIP
|
|
170
|
+
@aspect_ratio = aspect_ratio unless aspect_ratio == SKIP
|
|
171
|
+
@language = language unless language == SKIP
|
|
172
|
+
@voice_id = voice_id unless voice_id == SKIP
|
|
173
|
+
@voice_speed = voice_speed unless voice_speed == SKIP
|
|
174
|
+
@actor_entity_id = actor_entity_id unless actor_entity_id == SKIP
|
|
175
|
+
@avatar_quality = avatar_quality unless avatar_quality == SKIP
|
|
176
|
+
unless slideshow_theme_entity_id == SKIP
|
|
177
|
+
@slideshow_theme_entity_id =
|
|
178
|
+
slideshow_theme_entity_id
|
|
179
|
+
end
|
|
180
|
+
@caption_style = caption_style unless caption_style == SKIP
|
|
181
|
+
@logo_file_id = logo_file_id unless logo_file_id == SKIP
|
|
182
|
+
@remix_actions = remix_actions unless remix_actions == SKIP
|
|
183
|
+
@is_output_temporary = is_output_temporary unless is_output_temporary == SKIP
|
|
184
|
+
@hide_from_ui = hide_from_ui unless hide_from_ui == SKIP
|
|
185
|
+
@additional_properties = additional_properties
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
# Creates an instance of the object from a hash.
|
|
189
|
+
def self.from_hash(hash)
|
|
190
|
+
return nil unless hash
|
|
191
|
+
|
|
192
|
+
# Extract variables from the hash.
|
|
193
|
+
file_id = hash.key?('fileId') ? hash['fileId'] : nil
|
|
194
|
+
slide_scripts = hash.key?('slideScripts') ? hash['slideScripts'] : SKIP
|
|
195
|
+
aspect_ratio = AspectRatio.from_hash(hash['aspectRatio']) if hash['aspectRatio']
|
|
196
|
+
language = hash.key?('language') ? hash['language'] : SKIP
|
|
197
|
+
voice_id = hash.key?('voiceId') ? hash['voiceId'] : SKIP
|
|
198
|
+
voice_speed = hash.key?('voiceSpeed') ? hash['voiceSpeed'] : SKIP
|
|
199
|
+
actor_entity_id =
|
|
200
|
+
hash.key?('actorEntityId') ? hash['actorEntityId'] : SKIP
|
|
201
|
+
avatar_quality = hash.key?('avatarQuality') ? hash['avatarQuality'] : SKIP
|
|
202
|
+
slideshow_theme_entity_id =
|
|
203
|
+
hash.key?('slideshowThemeEntityId') ? hash['slideshowThemeEntityId'] : SKIP
|
|
204
|
+
caption_style = WorkflowCaptionStyle.from_hash(hash['captionStyle']) if hash['captionStyle']
|
|
205
|
+
logo_file_id = hash.key?('logoFileId') ? hash['logoFileId'] : SKIP
|
|
206
|
+
remix_actions = hash.key?('remixActions') ? APIHelper.deserialize_union_type(
|
|
207
|
+
UnionTypeLookUp.get(:RemixAction15), hash['remixActions']
|
|
208
|
+
) : SKIP
|
|
209
|
+
is_output_temporary = hash['isOutputTemporary'] ||= false
|
|
210
|
+
hide_from_ui = hash['hideFromUi'] ||= false
|
|
211
|
+
|
|
212
|
+
# Create a new hash for additional properties, removing known properties.
|
|
213
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
214
|
+
|
|
215
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
216
|
+
new_hash, proc { |value| value }
|
|
217
|
+
)
|
|
218
|
+
|
|
219
|
+
# Create object from extracted values.
|
|
220
|
+
SlideshowToVideoRequest.new(file_id: file_id,
|
|
221
|
+
slide_scripts: slide_scripts,
|
|
222
|
+
aspect_ratio: aspect_ratio,
|
|
223
|
+
language: language,
|
|
224
|
+
voice_id: voice_id,
|
|
225
|
+
voice_speed: voice_speed,
|
|
226
|
+
actor_entity_id: actor_entity_id,
|
|
227
|
+
avatar_quality: avatar_quality,
|
|
228
|
+
slideshow_theme_entity_id: slideshow_theme_entity_id,
|
|
229
|
+
caption_style: caption_style,
|
|
230
|
+
logo_file_id: logo_file_id,
|
|
231
|
+
remix_actions: remix_actions,
|
|
232
|
+
is_output_temporary: is_output_temporary,
|
|
233
|
+
hide_from_ui: hide_from_ui,
|
|
234
|
+
additional_properties: additional_properties)
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
# Validates an instance of the object from a given value.
|
|
238
|
+
# @param [SlideshowToVideoRequest | Hash] The value against the validation is performed.
|
|
239
|
+
def self.validate(value)
|
|
240
|
+
if value.instance_of? self
|
|
241
|
+
return APIHelper.valid_type?(value.file_id,
|
|
242
|
+
->(val) { val.instance_of? String })
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
return false unless value.instance_of? Hash
|
|
246
|
+
|
|
247
|
+
APIHelper.valid_type?(value['fileId'],
|
|
248
|
+
->(val) { val.instance_of? String })
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
# Provides a human-readable string representation of the object.
|
|
252
|
+
def to_s
|
|
253
|
+
class_name = self.class.name.split('::').last
|
|
254
|
+
"<#{class_name} file_id: #{@file_id}, slide_scripts: #{@slide_scripts}, aspect_ratio:"\
|
|
255
|
+
" #{@aspect_ratio}, language: #{@language}, voice_id: #{@voice_id}, voice_speed:"\
|
|
256
|
+
" #{@voice_speed}, actor_entity_id: #{@actor_entity_id}, avatar_quality: #{@avatar_quality},"\
|
|
257
|
+
" slideshow_theme_entity_id: #{@slideshow_theme_entity_id}, caption_style:"\
|
|
258
|
+
" #{@caption_style}, logo_file_id: #{@logo_file_id}, remix_actions: #{@remix_actions},"\
|
|
259
|
+
" is_output_temporary: #{@is_output_temporary}, hide_from_ui: #{@hide_from_ui},"\
|
|
260
|
+
" additional_properties: #{@additional_properties}>"
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
264
|
+
def inspect
|
|
265
|
+
class_name = self.class.name.split('::').last
|
|
266
|
+
"<#{class_name} file_id: #{@file_id.inspect}, slide_scripts: #{@slide_scripts.inspect},"\
|
|
267
|
+
" aspect_ratio: #{@aspect_ratio.inspect}, language: #{@language.inspect}, voice_id:"\
|
|
268
|
+
" #{@voice_id.inspect}, voice_speed: #{@voice_speed.inspect}, actor_entity_id:"\
|
|
269
|
+
" #{@actor_entity_id.inspect}, avatar_quality: #{@avatar_quality.inspect},"\
|
|
270
|
+
" slideshow_theme_entity_id: #{@slideshow_theme_entity_id.inspect}, caption_style:"\
|
|
271
|
+
" #{@caption_style.inspect}, logo_file_id: #{@logo_file_id.inspect}, remix_actions:"\
|
|
272
|
+
" #{@remix_actions.inspect}, is_output_temporary: #{@is_output_temporary.inspect},"\
|
|
273
|
+
" hide_from_ui: #{@hide_from_ui.inspect}, additional_properties: #{@additional_properties}>"
|
|
274
|
+
end
|
|
275
|
+
end
|
|
276
|
+
end
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# videogen
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Videogen
|
|
7
|
+
# StartAssistantChatRequest Model.
|
|
8
|
+
class StartAssistantChatRequest < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# The first message to send to the assistant, exactly as a person would type
|
|
13
|
+
# it into the assistant on a new project.
|
|
14
|
+
# @return [String]
|
|
15
|
+
attr_accessor :message
|
|
16
|
+
|
|
17
|
+
# When true, the assistant picks the best workflow for the message and
|
|
18
|
+
# immediately starts generating, skipping the suggestion step. When the
|
|
19
|
+
# assistant message reaches `succeeded`, its `generation` carries the
|
|
20
|
+
# workflow run to poll.
|
|
21
|
+
# @return [TrueClass | FalseClass]
|
|
22
|
+
attr_accessor :auto_generate
|
|
23
|
+
|
|
24
|
+
# A mapping from model property names to API property names.
|
|
25
|
+
def self.names
|
|
26
|
+
@_hash = {} if @_hash.nil?
|
|
27
|
+
@_hash['message'] = 'message'
|
|
28
|
+
@_hash['auto_generate'] = 'autoGenerate'
|
|
29
|
+
@_hash
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# An array for optional fields
|
|
33
|
+
def self.optionals
|
|
34
|
+
%w[
|
|
35
|
+
auto_generate
|
|
36
|
+
]
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# An array for nullable fields
|
|
40
|
+
def self.nullables
|
|
41
|
+
[]
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def initialize(message:, auto_generate: false, additional_properties: nil)
|
|
45
|
+
# Add additional model properties to the instance
|
|
46
|
+
additional_properties = {} if additional_properties.nil?
|
|
47
|
+
|
|
48
|
+
@message = message
|
|
49
|
+
@auto_generate = auto_generate unless auto_generate == SKIP
|
|
50
|
+
@additional_properties = additional_properties
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Creates an instance of the object from a hash.
|
|
54
|
+
def self.from_hash(hash)
|
|
55
|
+
return nil unless hash
|
|
56
|
+
|
|
57
|
+
# Extract variables from the hash.
|
|
58
|
+
message = hash.key?('message') ? hash['message'] : nil
|
|
59
|
+
auto_generate = hash['autoGenerate'] ||= false
|
|
60
|
+
|
|
61
|
+
# Create a new hash for additional properties, removing known properties.
|
|
62
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
63
|
+
|
|
64
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
65
|
+
new_hash, proc { |value| value }
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
# Create object from extracted values.
|
|
69
|
+
StartAssistantChatRequest.new(message: message,
|
|
70
|
+
auto_generate: auto_generate,
|
|
71
|
+
additional_properties: additional_properties)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# Provides a human-readable string representation of the object.
|
|
75
|
+
def to_s
|
|
76
|
+
class_name = self.class.name.split('::').last
|
|
77
|
+
"<#{class_name} message: #{@message}, auto_generate: #{@auto_generate},"\
|
|
78
|
+
" additional_properties: #{@additional_properties}>"
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
82
|
+
def inspect
|
|
83
|
+
class_name = self.class.name.split('::').last
|
|
84
|
+
"<#{class_name} message: #{@message.inspect}, auto_generate: #{@auto_generate.inspect},"\
|
|
85
|
+
" additional_properties: #{@additional_properties}>"
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|