runapi-fish-audio 0.1.0 → 0.1.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 +4 -4
- data/README.md +2 -0
- data/lib/runapi/fish_audio/resources/text_to_speech.rb +20 -0
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cfb631d0368ab26bf4b041c94a3f17a67c6371472cf66a330c7285ab6f295eb9
|
|
4
|
+
data.tar.gz: 2a7a4ae65cf5967789821216c08bee02e5ee4490b68c98671f0e6b5b70b04a14
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a513c8ae400fd2f7cb6e636f67f88312e567847755e8d058f3919c7abeafadc9b7a3b67737f595fe658ad1c199a9fbb9d19949e7ea812a92370a850863ac67f6
|
|
7
|
+
data.tar.gz: 2d757ba2e2daccec6dcad85e810b25583d44382694246b20e11d3a29a3a2dc114881656e5f1280872c4ab7ca9b00874053cbc7eac09087f3b8bd4318afc3b7bf
|
data/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Install `runapi-fish-audio`, create `RunApi::FishAudio::Client`, and call `client.text_to_speech.run(model: "s1", text: "Hello")`.
|
|
4
4
|
|
|
5
|
+
Pass optional `references` entries with base64-encoded raw audio bytes and exact transcripts for request-scoped voice matching.
|
|
6
|
+
|
|
5
7
|
Model details and pricing: https://runapi.ai/models/fish-audio
|
|
6
8
|
|
|
7
9
|
Licensed under the Apache License, Version 2.0.
|
|
@@ -17,8 +17,28 @@ module RunApi
|
|
|
17
17
|
def run(options: nil, **params)
|
|
18
18
|
params = compact_params(params)
|
|
19
19
|
validate_contract!(CONTRACT["text-to-speech"], params)
|
|
20
|
+
validate_references!(params[:references])
|
|
20
21
|
request(:post, ENDPOINT, body: params, options: options)
|
|
21
22
|
end
|
|
23
|
+
|
|
24
|
+
private
|
|
25
|
+
|
|
26
|
+
def validate_references!(references)
|
|
27
|
+
return if references.nil?
|
|
28
|
+
raise Core::ValidationError, "references must be an array" unless references.is_a?(Array)
|
|
29
|
+
|
|
30
|
+
references.each_with_index do |reference, index|
|
|
31
|
+
raise Core::ValidationError, "references[#{index}] must be an object" unless reference.respond_to?(:key?)
|
|
32
|
+
|
|
33
|
+
%i[audio text].each do |field|
|
|
34
|
+
value = reference[field] || reference[field.to_s]
|
|
35
|
+
if value.nil? || (value.is_a?(String) && value.strip.empty?)
|
|
36
|
+
raise Core::ValidationError, "references[#{index}].#{field} is required"
|
|
37
|
+
end
|
|
38
|
+
raise Core::ValidationError, "references[#{index}].#{field} must be a string" unless value.is_a?(String)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
22
42
|
end
|
|
23
43
|
end
|
|
24
44
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: runapi-fish-audio
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- RunAPI
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - "~>"
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 0.2.
|
|
18
|
+
version: 0.2.14
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - "~>"
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 0.2.
|
|
25
|
+
version: 0.2.14
|
|
26
26
|
description: 'Install `runapi-fish-audio`, create `RunApi::FishAudio::Client`, and
|
|
27
27
|
call `client.text_to_speech.run(model: "s1", text: "Hello")`.'
|
|
28
28
|
email:
|