runapi-suno 0.3.4 → 0.4.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/lib/runapi/suno/client.rb +2 -1
- data/lib/runapi/suno/contract_gen.rb +55 -0
- data/lib/runapi/suno/resources/inspire_music.rb +13 -0
- data/lib/runapi/suno/validators.rb +4 -4
- data/lib/runapi/suno.rb +1 -0
- metadata +5 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e65122631465baaaddd8d938753ab7d473d9000bbe7aa5e653ba770e8a676cde
|
|
4
|
+
data.tar.gz: 0ea31a10137215a5796cd12e649dee3baf763c25bd76c2c0cb674b55e391a128
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d371b4e438bf4070ba153f146bcaf8944b7c437f1b16786c46e08621c7764e35265d817ac758df28bb998b6b6644fbd742da5e62b5d413c3e034ef1074a1ef4a
|
|
7
|
+
data.tar.gz: 6fe37a3983f612f59dba64a4a7b9b51c061d2704079a51275765a0fa57d78a947f173153510fde72e8249b12cbb1cb3cb5d8e665e990252c78ee051fa108ae79
|
data/lib/runapi/suno/client.rb
CHANGED
|
@@ -16,7 +16,7 @@ module RunApi
|
|
|
16
16
|
attr_reader :text_to_music
|
|
17
17
|
# @return [Resources::ExtendMusic] continues an existing track from a specified timestamp
|
|
18
18
|
attr_reader :extend_music
|
|
19
|
-
attr_reader :stitch_audio, :remaster_audio, :add_samples
|
|
19
|
+
attr_reader :stitch_audio, :remaster_audio, :add_samples, :inspire_music
|
|
20
20
|
# @return [Resources::GenerateArtwork] creates cover artwork for an existing music task
|
|
21
21
|
attr_reader :generate_artwork
|
|
22
22
|
# @return [Resources::CoverAudio] re-records vocals over an uploaded audio file with a new style or voice
|
|
@@ -66,6 +66,7 @@ module RunApi
|
|
|
66
66
|
@stitch_audio = Resources::StitchAudio.new(http)
|
|
67
67
|
@remaster_audio = Resources::RemasterAudio.new(http)
|
|
68
68
|
@add_samples = Resources::AddSamples.new(http)
|
|
69
|
+
@inspire_music = Resources::InspireMusic.new(http)
|
|
69
70
|
@generate_artwork = Resources::GenerateArtwork.new(http)
|
|
70
71
|
@cover_audio = Resources::CoverAudio.new(http)
|
|
71
72
|
@add_instrumental = Resources::AddInstrumental.new(http)
|
|
@@ -699,6 +699,61 @@ module RunApi
|
|
|
699
699
|
}
|
|
700
700
|
}
|
|
701
701
|
},
|
|
702
|
+
"inspire-music" => {
|
|
703
|
+
"models" => ["suno-v4", "suno-v4.5", "suno-v4.5-plus", "suno-v5", "suno-v5.5"],
|
|
704
|
+
"fields_by_model" => {
|
|
705
|
+
"suno-v4" => {
|
|
706
|
+
"audio_urls" => {
|
|
707
|
+
"required" => true,
|
|
708
|
+
"min_items" => 1,
|
|
709
|
+
"max_items" => 4
|
|
710
|
+
},
|
|
711
|
+
"model" => {
|
|
712
|
+
"required" => true
|
|
713
|
+
}
|
|
714
|
+
},
|
|
715
|
+
"suno-v4.5" => {
|
|
716
|
+
"audio_urls" => {
|
|
717
|
+
"required" => true,
|
|
718
|
+
"min_items" => 1,
|
|
719
|
+
"max_items" => 4
|
|
720
|
+
},
|
|
721
|
+
"model" => {
|
|
722
|
+
"required" => true
|
|
723
|
+
}
|
|
724
|
+
},
|
|
725
|
+
"suno-v4.5-plus" => {
|
|
726
|
+
"audio_urls" => {
|
|
727
|
+
"required" => true,
|
|
728
|
+
"min_items" => 1,
|
|
729
|
+
"max_items" => 4
|
|
730
|
+
},
|
|
731
|
+
"model" => {
|
|
732
|
+
"required" => true
|
|
733
|
+
}
|
|
734
|
+
},
|
|
735
|
+
"suno-v5" => {
|
|
736
|
+
"audio_urls" => {
|
|
737
|
+
"required" => true,
|
|
738
|
+
"min_items" => 1,
|
|
739
|
+
"max_items" => 4
|
|
740
|
+
},
|
|
741
|
+
"model" => {
|
|
742
|
+
"required" => true
|
|
743
|
+
}
|
|
744
|
+
},
|
|
745
|
+
"suno-v5.5" => {
|
|
746
|
+
"audio_urls" => {
|
|
747
|
+
"required" => true,
|
|
748
|
+
"min_items" => 1,
|
|
749
|
+
"max_items" => 4
|
|
750
|
+
},
|
|
751
|
+
"model" => {
|
|
752
|
+
"required" => true
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
},
|
|
702
757
|
"regenerate-validation-phrase" => {
|
|
703
758
|
"models" => [],
|
|
704
759
|
"fields_by_model" => {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RunApi
|
|
4
|
+
module Suno
|
|
5
|
+
module Resources
|
|
6
|
+
class InspireMusic < AudioAction
|
|
7
|
+
ENDPOINT = "/api/v1/suno/inspire_music"
|
|
8
|
+
ACTION = "inspire-music"
|
|
9
|
+
def create(options: nil, **params) = super
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -82,9 +82,9 @@ module RunApi
|
|
|
82
82
|
end
|
|
83
83
|
|
|
84
84
|
duration = end_time - start_time
|
|
85
|
-
return if duration
|
|
85
|
+
return if duration + 1e-9 >= 10
|
|
86
86
|
|
|
87
|
-
raise Core::ValidationError, "replacement duration must be
|
|
87
|
+
raise Core::ValidationError, "replacement duration must be at least 10 seconds"
|
|
88
88
|
end
|
|
89
89
|
|
|
90
90
|
def validate_create_mashup!(params, resource)
|
|
@@ -169,9 +169,9 @@ module RunApi
|
|
|
169
169
|
|
|
170
170
|
def replace_section_time!(params, resource, key)
|
|
171
171
|
value = param(resource, params, key)
|
|
172
|
-
return value.to_f if value.is_a?(Numeric)
|
|
172
|
+
return value.to_f if value.is_a?(Numeric) && value.finite?
|
|
173
173
|
|
|
174
|
-
raise Core::ValidationError, "#{key} must be a number"
|
|
174
|
+
raise Core::ValidationError, "#{key} must be a finite number"
|
|
175
175
|
end
|
|
176
176
|
|
|
177
177
|
def require_all!(resource, params, *keys)
|
data/lib/runapi/suno.rb
CHANGED
|
@@ -10,6 +10,7 @@ require_relative "suno/resources/audio_action"
|
|
|
10
10
|
require_relative "suno/resources/stitch_audio"
|
|
11
11
|
require_relative "suno/resources/remaster_audio"
|
|
12
12
|
require_relative "suno/resources/add_samples"
|
|
13
|
+
require_relative "suno/resources/inspire_music"
|
|
13
14
|
require_relative "suno/resources/generate_artwork"
|
|
14
15
|
require_relative "suno/resources/cover_audio"
|
|
15
16
|
require_relative "suno/resources/add_instrumental"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: runapi-suno
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.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.3.
|
|
18
|
+
version: 0.3.5
|
|
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.3.
|
|
25
|
+
version: 0.3.5
|
|
26
26
|
description: The Suno Ruby SDK is the language-specific package for Suno on RunAPI.
|
|
27
27
|
Use this package for song generation, lyrics, vocals, extension, and audio transformation
|
|
28
28
|
workflows when your application needs request bodies, task status lookup, and consistent
|
|
@@ -57,6 +57,7 @@ files:
|
|
|
57
57
|
- lib/runapi/suno/resources/generate_persona.rb
|
|
58
58
|
- lib/runapi/suno/resources/generate_voice.rb
|
|
59
59
|
- lib/runapi/suno/resources/get_timestamped_lyrics.rb
|
|
60
|
+
- lib/runapi/suno/resources/inspire_music.rb
|
|
60
61
|
- lib/runapi/suno/resources/regenerate_validation_phrase.rb
|
|
61
62
|
- lib/runapi/suno/resources/remaster_audio.rb
|
|
62
63
|
- lib/runapi/suno/resources/replace_section.rb
|
|
@@ -92,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
92
93
|
- !ruby/object:Gem::Version
|
|
93
94
|
version: '0'
|
|
94
95
|
requirements: []
|
|
95
|
-
rubygems_version: 4.0.
|
|
96
|
+
rubygems_version: 4.0.10
|
|
96
97
|
specification_version: 4
|
|
97
98
|
summary: Suno API Ruby SDK for RunAPI
|
|
98
99
|
test_files: []
|