Class: ElevenlabsClient::Dubs
- Inherits:
-
Object
- Object
- ElevenlabsClient::Dubs
- Defined in:
- lib/elevenlabs_client/endpoints/dubs.rb
Instance Method Summary collapse
-
#create(file_io:, filename:, target_languages:, name: nil, **options) ⇒ Hash
POST /v1/dubbing (multipart) Creates a new dubbing job Documentation: https://elevenlabs.io/docs/api-reference/dubbing/create.
-
#create_segment(dubbing_id:, speaker_id:, start_time:, end_time:, text: nil, translations: nil) ⇒ Hash
POST /v1/dubbing/resource/dubbing_id/speaker/speaker_id/segment Creates a new segment in dubbing resource Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/create-segment.
-
#delete(dubbing_id) ⇒ Hash
DELETE /v1/dubbing/id Deletes a dubbing project Documentation: https://elevenlabs.io/docs/api-reference/dubbing/delete.
-
#delete_segment(dubbing_id, segment_id) ⇒ Hash
DELETE /v1/dubbing/resource/dubbing_id/segment/segment_id Deletes a single segment from the dubbing Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/delete-segment.
-
#dub_segment(dubbing_id, segments, languages = nil) ⇒ Hash
POST /v1/dubbing/resource/dubbing_id/dub Regenerates dubs for specified segments/languages Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/dub-segment.
-
#get(dubbing_id) ⇒ Hash
GET /v1/dubbing/id Retrieves dubbing job details Documentation: https://elevenlabs.io/docs/api-reference/dubbing/get.
-
#get_dubbed_audio(dubbing_id, language_code) ⇒ String
(also: #dubbed_audio)
GET /v1/dubbing/dubbing_id/audio/language_code Returns dub as a streamed MP3 or MP4 file Documentation: https://elevenlabs.io/docs/api-reference/dubbing/audio/get.
-
#get_dubbed_transcript(dubbing_id, language_code, **options) ⇒ String
(also: #dubbed_transcript)
GET /v1/dubbing/dubbing_id/transcript/language_code Returns transcript for the dub as an SRT or WEBVTT file Documentation: https://elevenlabs.io/docs/api-reference/dubbing/transcript/get-transcript-for-dub.
-
#get_resource(dubbing_id) ⇒ Hash
GET /v1/dubbing/resource/dubbing_id Gets dubbing resource with detailed information including segments, speakers, etc.
-
#get_similar_voices(dubbing_id, speaker_id) ⇒ Hash
GET /v1/dubbing/resource/dubbing_id/speaker/speaker_id/similar-voices Gets similar voices for a speaker Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/get-similar-voices.
-
#initialize(client) ⇒ Dubs
constructor
A new instance of Dubs.
-
#list(params = {}) ⇒ Hash
GET /v1/dubbing Lists dubbing jobs Documentation: https://elevenlabs.io/docs/api-reference/dubbing.
-
#render_project(dubbing_id:, language:, render_type:, normalize_volume: nil) ⇒ Hash
POST /v1/dubbing/resource/dubbing_id/render/language Renders the output media for a language Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/render-project.
-
#resources(dubbing_id) ⇒ Hash
GET /v1/dubbing/id/resources Retrieves dubbing resources for editing (if dubbing_studio: true was used) Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/get-resource.
-
#transcribe_segment(dubbing_id, segments) ⇒ Hash
POST /v1/dubbing/resource/dubbing_id/transcribe Regenerates transcriptions for specified segments Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/transcribe-segment.
-
#translate_segment(dubbing_id, segments, languages = nil) ⇒ Hash
POST /v1/dubbing/resource/dubbing_id/translate Regenerates translations for specified segments/languages Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/translate-segment.
-
#update_segment(dubbing_id:, segment_id:, language:, start_time: nil, end_time: nil, text: nil) ⇒ Hash
PATCH /v1/dubbing/resource/dubbing_id/segment/segment_id/language Updates a single segment with new text and/or start/end times Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/update-segment.
-
#update_speaker(dubbing_id:, speaker_id:, voice_id: nil, languages: nil) ⇒ Hash
PATCH /v1/dubbing/resource/dubbing_id/speaker/speaker_id Updates speaker metadata such as voice Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/update-speaker.
Constructor Details
#initialize(client) ⇒ Dubs
Returns a new instance of Dubs.
5 6 7 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 5 def initialize(client) @client = client end |
Instance Method Details
#create(file_io:, filename:, target_languages:, name: nil, **options) ⇒ Hash
POST /v1/dubbing (multipart) Creates a new dubbing job Documentation: https://elevenlabs.io/docs/api-reference/dubbing/create
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 19 def create(file_io:, filename:, target_languages:, name: nil, **) payload = { file: @client.file_part(file_io, filename), mode: "automatic", name: name, target_lang: target_languages.first, num_speakers: 1 }.compact.merge() @client.post_multipart("/v1/dubbing", payload) end |
#create_segment(dubbing_id:, speaker_id:, start_time:, end_time:, text: nil, translations: nil) ⇒ Hash
POST /v1/dubbing/resource/dubbing_id/speaker/speaker_id/segment Creates a new segment in dubbing resource Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/create-segment
92 93 94 95 96 97 98 99 100 101 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 92 def create_segment(dubbing_id:, speaker_id:, start_time:, end_time:, text: nil, translations: nil) payload = { start_time: start_time, end_time: end_time, text: text, translations: translations }.compact @client.post("/v1/dubbing/resource/#{dubbing_id}/speaker/#{speaker_id}/segment", payload) end |
#delete(dubbing_id) ⇒ Hash
DELETE /v1/dubbing/id Deletes a dubbing project Documentation: https://elevenlabs.io/docs/api-reference/dubbing/delete
67 68 69 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 67 def delete(dubbing_id) @client.delete("/v1/dubbing/#{dubbing_id}") end |
#delete_segment(dubbing_id, segment_id) ⇒ Hash
DELETE /v1/dubbing/resource/dubbing_id/segment/segment_id Deletes a single segment from the dubbing Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/delete-segment
110 111 112 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 110 def delete_segment(dubbing_id, segment_id) @client.delete("/v1/dubbing/resource/#{dubbing_id}/segment/#{segment_id}") end |
#dub_segment(dubbing_id, segments, languages = nil) ⇒ Hash
POST /v1/dubbing/resource/dubbing_id/dub Regenerates dubs for specified segments/languages Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/dub-segment
172 173 174 175 176 177 178 179 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 172 def dub_segment(dubbing_id, segments, languages = nil) payload = { segments: segments, languages: languages }.compact @client.post("/v1/dubbing/resource/#{dubbing_id}/dub", payload) end |
#get(dubbing_id) ⇒ Hash
GET /v1/dubbing/id Retrieves dubbing job details Documentation: https://elevenlabs.io/docs/api-reference/dubbing/get
37 38 39 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 37 def get(dubbing_id) @client.get("/v1/dubbing/#{dubbing_id}") end |
#get_dubbed_audio(dubbing_id, language_code) ⇒ String Also known as: dubbed_audio
GET /v1/dubbing/dubbing_id/audio/language_code Returns dub as a streamed MP3 or MP4 file Documentation: https://elevenlabs.io/docs/api-reference/dubbing/audio/get
235 236 237 238 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 235 def get_dubbed_audio(dubbing_id, language_code) endpoint = "/v1/dubbing/#{dubbing_id}/audio/#{language_code}" @client.get(endpoint) end |
#get_dubbed_transcript(dubbing_id, language_code, **options) ⇒ String Also known as: dubbed_transcript
GET /v1/dubbing/dubbing_id/transcript/language_code Returns transcript for the dub as an SRT or WEBVTT file Documentation: https://elevenlabs.io/docs/api-reference/dubbing/transcript/get-transcript-for-dub
249 250 251 252 253 254 255 256 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 249 def get_dubbed_transcript(dubbing_id, language_code, **) endpoint = "/v1/dubbing/#{dubbing_id}/transcript/#{language_code}" params = {} params[:format_type] = [:format_type] if [:format_type] @client.get(endpoint, params) end |
#get_resource(dubbing_id) ⇒ Hash
GET /v1/dubbing/resource/dubbing_id Gets dubbing resource with detailed information including segments, speakers, etc. Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/get-resource
77 78 79 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 77 def get_resource(dubbing_id) @client.get("/v1/dubbing/resource/#{dubbing_id}") end |
#get_similar_voices(dubbing_id, speaker_id) ⇒ Hash
GET /v1/dubbing/resource/dubbing_id/speaker/speaker_id/similar-voices Gets similar voices for a speaker Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/get-similar-voices
224 225 226 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 224 def get_similar_voices(dubbing_id, speaker_id) @client.get("/v1/dubbing/resource/#{dubbing_id}/speaker/#{speaker_id}/similar-voices") end |
#list(params = {}) ⇒ Hash
GET /v1/dubbing Lists dubbing jobs Documentation: https://elevenlabs.io/docs/api-reference/dubbing
47 48 49 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 47 def list(params = {}) @client.get("/v1/dubbing", params) end |
#render_project(dubbing_id:, language:, render_type:, normalize_volume: nil) ⇒ Hash
POST /v1/dubbing/resource/dubbing_id/render/language Renders the output media for a language Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/render-project
190 191 192 193 194 195 196 197 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 190 def render_project(dubbing_id:, language:, render_type:, normalize_volume: nil) payload = { render_type: render_type, normalize_volume: normalize_volume }.compact @client.post("/v1/dubbing/resource/#{dubbing_id}/render/#{language}", payload) end |
#resources(dubbing_id) ⇒ Hash
GET /v1/dubbing/id/resources Retrieves dubbing resources for editing (if dubbing_studio: true was used) Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/get-resource
57 58 59 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 57 def resources(dubbing_id) @client.get("/v1/dubbing/#{dubbing_id}/resources") end |
#transcribe_segment(dubbing_id, segments) ⇒ Hash
POST /v1/dubbing/resource/dubbing_id/transcribe Regenerates transcriptions for specified segments Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/transcribe-segment
142 143 144 145 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 142 def transcribe_segment(dubbing_id, segments) payload = { segments: segments } @client.post("/v1/dubbing/resource/#{dubbing_id}/transcribe", payload) end |
#translate_segment(dubbing_id, segments, languages = nil) ⇒ Hash
POST /v1/dubbing/resource/dubbing_id/translate Regenerates translations for specified segments/languages Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/translate-segment
155 156 157 158 159 160 161 162 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 155 def translate_segment(dubbing_id, segments, languages = nil) payload = { segments: segments, languages: languages }.compact @client.post("/v1/dubbing/resource/#{dubbing_id}/translate", payload) end |
#update_segment(dubbing_id:, segment_id:, language:, start_time: nil, end_time: nil, text: nil) ⇒ Hash
PATCH /v1/dubbing/resource/dubbing_id/segment/segment_id/language Updates a single segment with new text and/or start/end times Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/update-segment
125 126 127 128 129 130 131 132 133 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 125 def update_segment(dubbing_id:, segment_id:, language:, start_time: nil, end_time: nil, text: nil) payload = { start_time: start_time, end_time: end_time, text: text }.compact @client.patch("/v1/dubbing/resource/#{dubbing_id}/segment/#{segment_id}/#{language}", payload) end |
#update_speaker(dubbing_id:, speaker_id:, voice_id: nil, languages: nil) ⇒ Hash
PATCH /v1/dubbing/resource/dubbing_id/speaker/speaker_id Updates speaker metadata such as voice Documentation: https://elevenlabs.io/docs/api-reference/dubbing/resources/update-speaker
208 209 210 211 212 213 214 215 |
# File 'lib/elevenlabs_client/endpoints/dubs.rb', line 208 def update_speaker(dubbing_id:, speaker_id:, voice_id: nil, languages: nil) payload = { voice_id: voice_id, languages: languages }.compact @client.patch("/v1/dubbing/resource/#{dubbing_id}/speaker/#{speaker_id}", payload) end |