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,49 @@
|
|
|
1
|
+
# videogen
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Videogen
|
|
7
|
+
# Lifecycle status of an assistant chat message. `pending` and `running` are
|
|
8
|
+
# in-progress; `succeeded`, `failed`, and `cancelled` are terminal.
|
|
9
|
+
class AssistantMessageStatus
|
|
10
|
+
ASSISTANT_MESSAGE_STATUS = [
|
|
11
|
+
# TODO: Write general description for PENDING
|
|
12
|
+
PENDING = 'pending'.freeze,
|
|
13
|
+
|
|
14
|
+
# TODO: Write general description for RUNNING
|
|
15
|
+
RUNNING = 'running'.freeze,
|
|
16
|
+
|
|
17
|
+
# TODO: Write general description for SUCCEEDED
|
|
18
|
+
SUCCEEDED = 'succeeded'.freeze,
|
|
19
|
+
|
|
20
|
+
# TODO: Write general description for FAILED
|
|
21
|
+
FAILED = 'failed'.freeze,
|
|
22
|
+
|
|
23
|
+
# TODO: Write general description for CANCELLED
|
|
24
|
+
CANCELLED = 'cancelled'.freeze
|
|
25
|
+
].freeze
|
|
26
|
+
|
|
27
|
+
def self.validate(value)
|
|
28
|
+
return false if value.nil?
|
|
29
|
+
|
|
30
|
+
ASSISTANT_MESSAGE_STATUS.include?(value)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def self.from_value(value, default_value = PENDING)
|
|
34
|
+
return default_value if value.nil?
|
|
35
|
+
|
|
36
|
+
str = value.to_s.strip
|
|
37
|
+
|
|
38
|
+
case str.downcase
|
|
39
|
+
when 'pending' then PENDING
|
|
40
|
+
when 'running' then RUNNING
|
|
41
|
+
when 'succeeded' then SUCCEEDED
|
|
42
|
+
when 'failed' then FAILED
|
|
43
|
+
when 'cancelled' then CANCELLED
|
|
44
|
+
else
|
|
45
|
+
default_value
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# videogen
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Videogen
|
|
7
|
+
# A starting-point workflow the assistant suggests for the conversation. Act
|
|
8
|
+
# on it with `POST /v1/assistants/{assistantId}/actions/{actionId}` to select
|
|
9
|
+
# the workflow and continue.
|
|
10
|
+
class AssistantWorkflowSuggestion < BaseModel
|
|
11
|
+
SKIP = Object.new
|
|
12
|
+
private_constant :SKIP
|
|
13
|
+
|
|
14
|
+
# Opaque id to pass to the act-on-action endpoint to select this workflow.
|
|
15
|
+
# @return [String]
|
|
16
|
+
attr_accessor :action_id
|
|
17
|
+
|
|
18
|
+
# Identifier of the suggested workflow.
|
|
19
|
+
# @return [WorkflowType1]
|
|
20
|
+
attr_accessor :workflow_type
|
|
21
|
+
|
|
22
|
+
# Short human-readable name of the suggested workflow.
|
|
23
|
+
# @return [String]
|
|
24
|
+
attr_accessor :title
|
|
25
|
+
|
|
26
|
+
# One-line explanation of what this workflow will do.
|
|
27
|
+
# @return [String]
|
|
28
|
+
attr_accessor :description
|
|
29
|
+
|
|
30
|
+
# A mapping from model property names to API property names.
|
|
31
|
+
def self.names
|
|
32
|
+
@_hash = {} if @_hash.nil?
|
|
33
|
+
@_hash['action_id'] = 'actionId'
|
|
34
|
+
@_hash['workflow_type'] = 'workflowType'
|
|
35
|
+
@_hash['title'] = 'title'
|
|
36
|
+
@_hash['description'] = 'description'
|
|
37
|
+
@_hash
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# An array for optional fields
|
|
41
|
+
def self.optionals
|
|
42
|
+
[]
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# An array for nullable fields
|
|
46
|
+
def self.nullables
|
|
47
|
+
[]
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def initialize(action_id:, workflow_type:, title:, description:,
|
|
51
|
+
additional_properties: nil)
|
|
52
|
+
# Add additional model properties to the instance
|
|
53
|
+
additional_properties = {} if additional_properties.nil?
|
|
54
|
+
|
|
55
|
+
@action_id = action_id
|
|
56
|
+
@workflow_type = workflow_type
|
|
57
|
+
@title = title
|
|
58
|
+
@description = description
|
|
59
|
+
@additional_properties = additional_properties
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# Creates an instance of the object from a hash.
|
|
63
|
+
def self.from_hash(hash)
|
|
64
|
+
return nil unless hash
|
|
65
|
+
|
|
66
|
+
# Extract variables from the hash.
|
|
67
|
+
action_id = hash.key?('actionId') ? hash['actionId'] : nil
|
|
68
|
+
workflow_type = hash.key?('workflowType') ? hash['workflowType'] : nil
|
|
69
|
+
title = hash.key?('title') ? hash['title'] : nil
|
|
70
|
+
description = hash.key?('description') ? hash['description'] : nil
|
|
71
|
+
|
|
72
|
+
# Create a new hash for additional properties, removing known properties.
|
|
73
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
74
|
+
|
|
75
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
76
|
+
new_hash, proc { |value| value }
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
# Create object from extracted values.
|
|
80
|
+
AssistantWorkflowSuggestion.new(action_id: action_id,
|
|
81
|
+
workflow_type: workflow_type,
|
|
82
|
+
title: title,
|
|
83
|
+
description: description,
|
|
84
|
+
additional_properties: additional_properties)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# Validates an instance of the object from a given value.
|
|
88
|
+
# @param [AssistantWorkflowSuggestion | Hash] The value against the validation is performed.
|
|
89
|
+
def self.validate(value)
|
|
90
|
+
if value.instance_of? self
|
|
91
|
+
return (
|
|
92
|
+
APIHelper.valid_type?(value.action_id,
|
|
93
|
+
->(val) { val.instance_of? String }) and
|
|
94
|
+
APIHelper.valid_type?(value.workflow_type,
|
|
95
|
+
->(val) { WorkflowType1.validate(val) }) and
|
|
96
|
+
APIHelper.valid_type?(value.title,
|
|
97
|
+
->(val) { val.instance_of? String }) and
|
|
98
|
+
APIHelper.valid_type?(value.description,
|
|
99
|
+
->(val) { val.instance_of? String })
|
|
100
|
+
)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
return false unless value.instance_of? Hash
|
|
104
|
+
|
|
105
|
+
(
|
|
106
|
+
APIHelper.valid_type?(value['actionId'],
|
|
107
|
+
->(val) { val.instance_of? String }) and
|
|
108
|
+
APIHelper.valid_type?(value['workflowType'],
|
|
109
|
+
->(val) { WorkflowType1.validate(val) }) and
|
|
110
|
+
APIHelper.valid_type?(value['title'],
|
|
111
|
+
->(val) { val.instance_of? String }) and
|
|
112
|
+
APIHelper.valid_type?(value['description'],
|
|
113
|
+
->(val) { val.instance_of? String })
|
|
114
|
+
)
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Provides a human-readable string representation of the object.
|
|
118
|
+
def to_s
|
|
119
|
+
class_name = self.class.name.split('::').last
|
|
120
|
+
"<#{class_name} action_id: #{@action_id}, workflow_type: #{@workflow_type}, title:"\
|
|
121
|
+
" #{@title}, description: #{@description}, additional_properties:"\
|
|
122
|
+
" #{@additional_properties}>"
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
126
|
+
def inspect
|
|
127
|
+
class_name = self.class.name.split('::').last
|
|
128
|
+
"<#{class_name} action_id: #{@action_id.inspect}, workflow_type: #{@workflow_type.inspect},"\
|
|
129
|
+
" title: #{@title.inspect}, description: #{@description.inspect}, additional_properties:"\
|
|
130
|
+
" #{@additional_properties}>"
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
end
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# videogen
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Videogen
|
|
7
|
+
# Base model.
|
|
8
|
+
# rubocop:disable all
|
|
9
|
+
class BaseModel < CoreLibrary::BaseModel
|
|
10
|
+
# Returns a Hash representation of the current object.
|
|
11
|
+
def to_hash
|
|
12
|
+
# validating the model being serialized
|
|
13
|
+
self.class.validate(self) if self.class.respond_to?(:validate)
|
|
14
|
+
|
|
15
|
+
hash = {}
|
|
16
|
+
instance_variables.each do |name|
|
|
17
|
+
value = instance_variable_get(name)
|
|
18
|
+
name = name[1..]
|
|
19
|
+
if name == 'additional_properties'
|
|
20
|
+
additional_properties = process_additional_properties(value, self.class.names)
|
|
21
|
+
hash.merge!(additional_properties)
|
|
22
|
+
else
|
|
23
|
+
key = self.class.names.key?(name) ? self.class.names[name] : name
|
|
24
|
+
optional_fields = self.class.optionals
|
|
25
|
+
nullable_fields = self.class.nullables
|
|
26
|
+
if value.nil?
|
|
27
|
+
next unless nullable_fields.include?(name)
|
|
28
|
+
|
|
29
|
+
if !optional_fields.include?(name) && !nullable_fields.include?(name)
|
|
30
|
+
raise ArgumentError,
|
|
31
|
+
"`#{name}` cannot be nil in `#{self.class}`. Please specify a valid value."
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
hash[key] = nil
|
|
36
|
+
unless value.nil?
|
|
37
|
+
if respond_to?("to_custom_#{name}")
|
|
38
|
+
if (value.instance_of? Array) || (value.instance_of? Hash)
|
|
39
|
+
params = [hash, key]
|
|
40
|
+
hash[key] = send("to_custom_#{name}", *params)
|
|
41
|
+
else
|
|
42
|
+
hash[key] = send("to_custom_#{name}")
|
|
43
|
+
end
|
|
44
|
+
elsif respond_to?("to_union_type_#{name}")
|
|
45
|
+
hash[key] = send("to_union_type_#{name}")
|
|
46
|
+
elsif value.instance_of? Array
|
|
47
|
+
hash[key] = value.map { |v| v.is_a?(BaseModel) ? v.to_hash : v }
|
|
48
|
+
elsif value.instance_of? Hash
|
|
49
|
+
hash[key] = {}
|
|
50
|
+
value.each do |k, v|
|
|
51
|
+
hash[key][k] = v.is_a?(BaseModel) ? v.to_hash : v
|
|
52
|
+
end
|
|
53
|
+
else
|
|
54
|
+
hash[key] = value.is_a?(BaseModel) ? value.to_hash : value
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
hash
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# Processes additional properties, ensuring no conflicts with existing properties.
|
|
63
|
+
def process_additional_properties(additional_properties, existing_prop_names)
|
|
64
|
+
hash = {}
|
|
65
|
+
additional_properties.each do |name, value|
|
|
66
|
+
check_for_conflict(name, existing_prop_names)
|
|
67
|
+
|
|
68
|
+
hash[name] = if value.is_a?(Array)
|
|
69
|
+
process_array(value)
|
|
70
|
+
elsif value.is_a?(Hash)
|
|
71
|
+
process_hash(value)
|
|
72
|
+
else
|
|
73
|
+
process_basic_value(value)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
hash
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# Checks if an additional property conflicts with a model's existing property.
|
|
80
|
+
def check_for_conflict(name, existing_prop_names)
|
|
81
|
+
return unless existing_prop_names.key?(name)
|
|
82
|
+
|
|
83
|
+
raise ArgumentError, "An additional property key, '#{name}' conflicts with one of the model's properties"
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# Processes an array of values, recursively calling `to_hash` on BaseModel objects.
|
|
87
|
+
def process_array(value)
|
|
88
|
+
value.map { |v| v.is_a?(BaseModel) ? v.to_hash : v }
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# Processes a hash of values, recursively calling `to_hash` on BaseModel objects.
|
|
92
|
+
def process_hash(value)
|
|
93
|
+
value.transform_values do |v|
|
|
94
|
+
v.is_a?(BaseModel) ? v.to_hash : v
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# Processes a basic value (non-array, non-hash).
|
|
99
|
+
def process_basic_value(value)
|
|
100
|
+
value.is_a?(BaseModel) ? value.to_hash : value
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# Returns a JSON representation of the curent object.
|
|
104
|
+
def to_json(options = {})
|
|
105
|
+
hash = to_hash
|
|
106
|
+
hash.to_json(options)
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
# rubocop:enable all
|
|
110
|
+
end
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# videogen
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Videogen
|
|
7
|
+
# Controls how content-policy rejections are handled during generation.
|
|
8
|
+
class ContentPolicyConfig < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Maximum number of automatic prompt rewrites to attempt after a
|
|
13
|
+
# content-policy rejection before failing. Must be an integer between 0 and
|
|
14
|
+
# 4. 0 (the default) fails on the first rejection and returns the moderation
|
|
15
|
+
# error so you can revise the prompt yourself. Higher values let the request
|
|
16
|
+
# automatically rephrase and retry the prompt.
|
|
17
|
+
# @return [Integer]
|
|
18
|
+
attr_accessor :max_prompt_rewrites
|
|
19
|
+
|
|
20
|
+
# A mapping from model property names to API property names.
|
|
21
|
+
def self.names
|
|
22
|
+
@_hash = {} if @_hash.nil?
|
|
23
|
+
@_hash['max_prompt_rewrites'] = 'maxPromptRewrites'
|
|
24
|
+
@_hash
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# An array for optional fields
|
|
28
|
+
def self.optionals
|
|
29
|
+
%w[
|
|
30
|
+
max_prompt_rewrites
|
|
31
|
+
]
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# An array for nullable fields
|
|
35
|
+
def self.nullables
|
|
36
|
+
[]
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def initialize(max_prompt_rewrites: 0, additional_properties: nil)
|
|
40
|
+
# Add additional model properties to the instance
|
|
41
|
+
additional_properties = {} if additional_properties.nil?
|
|
42
|
+
|
|
43
|
+
@max_prompt_rewrites = max_prompt_rewrites unless max_prompt_rewrites == SKIP
|
|
44
|
+
@additional_properties = additional_properties
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Creates an instance of the object from a hash.
|
|
48
|
+
def self.from_hash(hash)
|
|
49
|
+
return nil unless hash
|
|
50
|
+
|
|
51
|
+
# Extract variables from the hash.
|
|
52
|
+
max_prompt_rewrites = hash['maxPromptRewrites'] ||= 0
|
|
53
|
+
|
|
54
|
+
# Create a new hash for additional properties, removing known properties.
|
|
55
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
56
|
+
|
|
57
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
58
|
+
new_hash, proc { |value| value }
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
# Create object from extracted values.
|
|
62
|
+
ContentPolicyConfig.new(max_prompt_rewrites: max_prompt_rewrites,
|
|
63
|
+
additional_properties: additional_properties)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Provides a human-readable string representation of the object.
|
|
67
|
+
def to_s
|
|
68
|
+
class_name = self.class.name.split('::').last
|
|
69
|
+
"<#{class_name} max_prompt_rewrites: #{@max_prompt_rewrites}, additional_properties:"\
|
|
70
|
+
" #{@additional_properties}>"
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
74
|
+
def inspect
|
|
75
|
+
class_name = self.class.name.split('::').last
|
|
76
|
+
"<#{class_name} max_prompt_rewrites: #{@max_prompt_rewrites.inspect},"\
|
|
77
|
+
" additional_properties: #{@additional_properties}>"
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# videogen
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Videogen
|
|
7
|
+
# CreateEntityRequest Model.
|
|
8
|
+
class CreateEntityRequest < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# ACTOR features a consistent character; PRODUCT features a consistent
|
|
13
|
+
# product or object; VISUAL_STYLE guides the look of generated images;
|
|
14
|
+
# SLIDESHOW_THEME is a shared slide design system (fonts, colors, layout)
|
|
15
|
+
# applied to every slide of a slideshow-to-video deck.
|
|
16
|
+
# @return [EntityEntityType]
|
|
17
|
+
attr_accessor :entity_type
|
|
18
|
+
|
|
19
|
+
# Display name.
|
|
20
|
+
# @return [String]
|
|
21
|
+
attr_accessor :name
|
|
22
|
+
|
|
23
|
+
# Optional description.
|
|
24
|
+
# @return [String]
|
|
25
|
+
attr_accessor :description
|
|
26
|
+
|
|
27
|
+
# A mapping from model property names to API property names.
|
|
28
|
+
def self.names
|
|
29
|
+
@_hash = {} if @_hash.nil?
|
|
30
|
+
@_hash['entity_type'] = 'entityType'
|
|
31
|
+
@_hash['name'] = 'name'
|
|
32
|
+
@_hash['description'] = 'description'
|
|
33
|
+
@_hash
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# An array for optional fields
|
|
37
|
+
def self.optionals
|
|
38
|
+
%w[
|
|
39
|
+
description
|
|
40
|
+
]
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# An array for nullable fields
|
|
44
|
+
def self.nullables
|
|
45
|
+
[]
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def initialize(entity_type:, name:, description: SKIP,
|
|
49
|
+
additional_properties: nil)
|
|
50
|
+
# Add additional model properties to the instance
|
|
51
|
+
additional_properties = {} if additional_properties.nil?
|
|
52
|
+
|
|
53
|
+
@entity_type = entity_type
|
|
54
|
+
@name = name
|
|
55
|
+
@description = description unless description == SKIP
|
|
56
|
+
@additional_properties = additional_properties
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Creates an instance of the object from a hash.
|
|
60
|
+
def self.from_hash(hash)
|
|
61
|
+
return nil unless hash
|
|
62
|
+
|
|
63
|
+
# Extract variables from the hash.
|
|
64
|
+
entity_type = hash.key?('entityType') ? hash['entityType'] : nil
|
|
65
|
+
name = hash.key?('name') ? hash['name'] : nil
|
|
66
|
+
description = hash.key?('description') ? hash['description'] : SKIP
|
|
67
|
+
|
|
68
|
+
# Create a new hash for additional properties, removing known properties.
|
|
69
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
70
|
+
|
|
71
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
72
|
+
new_hash, proc { |value| value }
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
# Create object from extracted values.
|
|
76
|
+
CreateEntityRequest.new(entity_type: entity_type,
|
|
77
|
+
name: name,
|
|
78
|
+
description: description,
|
|
79
|
+
additional_properties: additional_properties)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Provides a human-readable string representation of the object.
|
|
83
|
+
def to_s
|
|
84
|
+
class_name = self.class.name.split('::').last
|
|
85
|
+
"<#{class_name} entity_type: #{@entity_type}, name: #{@name}, description: #{@description},"\
|
|
86
|
+
" additional_properties: #{@additional_properties}>"
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
90
|
+
def inspect
|
|
91
|
+
class_name = self.class.name.split('::').last
|
|
92
|
+
"<#{class_name} entity_type: #{@entity_type.inspect}, name: #{@name.inspect}, description:"\
|
|
93
|
+
" #{@description.inspect}, additional_properties: #{@additional_properties}>"
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# videogen
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Videogen
|
|
7
|
+
# ACTOR features a consistent character; PRODUCT features a consistent product
|
|
8
|
+
# or object; VISUAL_STYLE guides the look of generated images; SLIDESHOW_THEME
|
|
9
|
+
# is a shared slide design system (fonts, colors, layout) applied to every
|
|
10
|
+
# slide of a slideshow-to-video deck.
|
|
11
|
+
class CreateEntityRequestEntityType
|
|
12
|
+
CREATE_ENTITY_REQUEST_ENTITY_TYPE = [
|
|
13
|
+
# TODO: Write general description for ACTOR
|
|
14
|
+
ACTOR = 'ACTOR'.freeze,
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for PRODUCT
|
|
17
|
+
PRODUCT = 'PRODUCT'.freeze,
|
|
18
|
+
|
|
19
|
+
# TODO: Write general description for VISUAL_STYLE
|
|
20
|
+
VISUAL_STYLE = 'VISUAL_STYLE'.freeze,
|
|
21
|
+
|
|
22
|
+
# TODO: Write general description for SLIDESHOW_THEME
|
|
23
|
+
SLIDESHOW_THEME = 'SLIDESHOW_THEME'.freeze
|
|
24
|
+
].freeze
|
|
25
|
+
|
|
26
|
+
def self.validate(value)
|
|
27
|
+
return false if value.nil?
|
|
28
|
+
|
|
29
|
+
CREATE_ENTITY_REQUEST_ENTITY_TYPE.include?(value)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def self.from_value(value, default_value = ACTOR)
|
|
33
|
+
return default_value if value.nil?
|
|
34
|
+
|
|
35
|
+
str = value.to_s.strip
|
|
36
|
+
|
|
37
|
+
case str.downcase
|
|
38
|
+
when 'actor' then ACTOR
|
|
39
|
+
when 'product' then PRODUCT
|
|
40
|
+
when 'visual_style' then VISUAL_STYLE
|
|
41
|
+
when 'slideshow_theme' then SLIDESHOW_THEME
|
|
42
|
+
else
|
|
43
|
+
default_value
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# videogen
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Videogen
|
|
7
|
+
# CreateFileUploadRequest Model.
|
|
8
|
+
class CreateFileUploadRequest < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# The type of file to upload. Optional; when omitted, the type is inferred
|
|
13
|
+
# after upload processing completes.
|
|
14
|
+
# @return [FileType2]
|
|
15
|
+
attr_accessor :type
|
|
16
|
+
|
|
17
|
+
# Display name for the uploaded file.
|
|
18
|
+
# @return [String]
|
|
19
|
+
attr_accessor :display_name
|
|
20
|
+
|
|
21
|
+
# When true, the file is temporary. Temporary files are guaranteed to be
|
|
22
|
+
# available for 24 hours, after which they may be archived at any time.
|
|
23
|
+
# Temporary files are not analyzed (no description, transcript, or embedding
|
|
24
|
+
# will be generated), so they will not appear in search results. Defaults to
|
|
25
|
+
# false.
|
|
26
|
+
# @return [TrueClass | FalseClass]
|
|
27
|
+
attr_accessor :is_temporary
|
|
28
|
+
|
|
29
|
+
# When true, the file is hidden from the VideoGen Media page by default. It
|
|
30
|
+
# remains accessible through the API. Defaults to false.
|
|
31
|
+
# @return [TrueClass | FalseClass]
|
|
32
|
+
attr_accessor :hide_from_ui
|
|
33
|
+
|
|
34
|
+
# Optional pre-computed transcript for an audio or video upload, as timed
|
|
35
|
+
# `words`. When provided, transcription is skipped and caption timing
|
|
36
|
+
# matches your transcript. Ignored for non-audio/video files.
|
|
37
|
+
# @return [Transcript]
|
|
38
|
+
attr_accessor :transcript
|
|
39
|
+
|
|
40
|
+
# A mapping from model property names to API property names.
|
|
41
|
+
def self.names
|
|
42
|
+
@_hash = {} if @_hash.nil?
|
|
43
|
+
@_hash['type'] = 'type'
|
|
44
|
+
@_hash['display_name'] = 'displayName'
|
|
45
|
+
@_hash['is_temporary'] = 'isTemporary'
|
|
46
|
+
@_hash['hide_from_ui'] = 'hideFromUi'
|
|
47
|
+
@_hash['transcript'] = 'transcript'
|
|
48
|
+
@_hash
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# An array for optional fields
|
|
52
|
+
def self.optionals
|
|
53
|
+
%w[
|
|
54
|
+
type
|
|
55
|
+
is_temporary
|
|
56
|
+
hide_from_ui
|
|
57
|
+
transcript
|
|
58
|
+
]
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# An array for nullable fields
|
|
62
|
+
def self.nullables
|
|
63
|
+
%w[
|
|
64
|
+
transcript
|
|
65
|
+
]
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def initialize(display_name:, type: SKIP, is_temporary: false,
|
|
69
|
+
hide_from_ui: false, transcript: SKIP,
|
|
70
|
+
additional_properties: nil)
|
|
71
|
+
# Add additional model properties to the instance
|
|
72
|
+
additional_properties = {} if additional_properties.nil?
|
|
73
|
+
|
|
74
|
+
@type = type unless type == SKIP
|
|
75
|
+
@display_name = display_name
|
|
76
|
+
@is_temporary = is_temporary unless is_temporary == SKIP
|
|
77
|
+
@hide_from_ui = hide_from_ui unless hide_from_ui == SKIP
|
|
78
|
+
@transcript = transcript unless transcript == SKIP
|
|
79
|
+
@additional_properties = additional_properties
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Creates an instance of the object from a hash.
|
|
83
|
+
def self.from_hash(hash)
|
|
84
|
+
return nil unless hash
|
|
85
|
+
|
|
86
|
+
# Extract variables from the hash.
|
|
87
|
+
display_name = hash.key?('displayName') ? hash['displayName'] : nil
|
|
88
|
+
type = hash.key?('type') ? hash['type'] : SKIP
|
|
89
|
+
is_temporary = hash['isTemporary'] ||= false
|
|
90
|
+
hide_from_ui = hash['hideFromUi'] ||= false
|
|
91
|
+
transcript = Transcript.from_hash(hash['transcript']) if hash['transcript']
|
|
92
|
+
|
|
93
|
+
# Create a new hash for additional properties, removing known properties.
|
|
94
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
95
|
+
|
|
96
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
97
|
+
new_hash, proc { |value| value }
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
# Create object from extracted values.
|
|
101
|
+
CreateFileUploadRequest.new(display_name: display_name,
|
|
102
|
+
type: type,
|
|
103
|
+
is_temporary: is_temporary,
|
|
104
|
+
hide_from_ui: hide_from_ui,
|
|
105
|
+
transcript: transcript,
|
|
106
|
+
additional_properties: additional_properties)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# Provides a human-readable string representation of the object.
|
|
110
|
+
def to_s
|
|
111
|
+
class_name = self.class.name.split('::').last
|
|
112
|
+
"<#{class_name} type: #{@type}, display_name: #{@display_name}, is_temporary:"\
|
|
113
|
+
" #{@is_temporary}, hide_from_ui: #{@hide_from_ui}, transcript: #{@transcript},"\
|
|
114
|
+
" additional_properties: #{@additional_properties}>"
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
118
|
+
def inspect
|
|
119
|
+
class_name = self.class.name.split('::').last
|
|
120
|
+
"<#{class_name} type: #{@type.inspect}, display_name: #{@display_name.inspect},"\
|
|
121
|
+
" is_temporary: #{@is_temporary.inspect}, hide_from_ui: #{@hide_from_ui.inspect},"\
|
|
122
|
+
" transcript: #{@transcript.inspect}, additional_properties: #{@additional_properties}>"
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
end
|