Class: RunApi::Wan::Resources::SpeechToVideo
- Inherits:
-
Object
- Object
- RunApi::Wan::Resources::SpeechToVideo
- Includes:
- Core::ResourceHelpers
- Defined in:
- lib/runapi/wan/resources/speech_to_video.rb
Overview
Generates lip-synced talking-head videos from a portrait image and driving speech audio. Both source_image_url and source_audio_url are required.
Constant Summary collapse
- ENDPOINT =
"/api/v1/wan/speech_to_video"- RESPONSE_CLASS =
Types::VideoTaskResponse
- COMPLETED_RESPONSE_CLASS =
Types::CompletedVideoTaskResponse
Instance Method Summary collapse
-
#create(**params) ⇒ RunApi::Wan::Types::VideoTaskResponse
Create a speech-to-video generation task.
-
#get(id) ⇒ RunApi::Wan::Types::VideoTaskResponse
Get speech-to-video status by task ID.
-
#initialize(http) ⇒ SpeechToVideo
constructor
A new instance of SpeechToVideo.
-
#run(**params) ⇒ RunApi::Wan::Types::CompletedVideoTaskResponse
Generate a lip-synced video and wait until complete.
Constructor Details
#initialize(http) ⇒ SpeechToVideo
Returns a new instance of SpeechToVideo.
15 16 17 |
# File 'lib/runapi/wan/resources/speech_to_video.rb', line 15 def initialize(http) @http = http end |
Instance Method Details
#create(**params) ⇒ RunApi::Wan::Types::VideoTaskResponse
Create a speech-to-video generation task.
32 33 34 35 36 |
# File 'lib/runapi/wan/resources/speech_to_video.rb', line 32 def create(**params) params = compact_params(params) validate_params!(params) request(:post, ENDPOINT, body: params) end |
#get(id) ⇒ RunApi::Wan::Types::VideoTaskResponse
Get speech-to-video status by task ID.
42 43 44 |
# File 'lib/runapi/wan/resources/speech_to_video.rb', line 42 def get(id) request(:get, "#{ENDPOINT}/#{id}") end |
#run(**params) ⇒ RunApi::Wan::Types::CompletedVideoTaskResponse
Generate a lip-synced video and wait until complete.
23 24 25 26 |
# File 'lib/runapi/wan/resources/speech_to_video.rb', line 23 def run(**params) task = create(**params) poll_until_complete { get(task.id) } end |