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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 630d71197a7fcf7095fcb931f3abc7f7850c6885529182f95e628ce656328547
4
- data.tar.gz: 48f37a1cfcc2a1a9e84301bfb33f0456fd66b1ea05222ceb2667f5bb234cda13
3
+ metadata.gz: e65122631465baaaddd8d938753ab7d473d9000bbe7aa5e653ba770e8a676cde
4
+ data.tar.gz: 0ea31a10137215a5796cd12e649dee3baf763c25bd76c2c0cb674b55e391a128
5
5
  SHA512:
6
- metadata.gz: 2193600b0a619cd7915399d71cbc9ef709bea0ab06f5c35ebbb0d9b740c30eaf3ec45e5ec96053579ed184faa14e4f36113a66ea7cd28af8a038ae160db8c742
7
- data.tar.gz: 3431976bfe70f5410c6e04b06b2ee6fcf09cae4fa45986eed5488b0155e7f14cf977431b0751b0dcdaef939edd38964410ba4156525a4f66f41929182afdfda0
6
+ metadata.gz: d371b4e438bf4070ba153f146bcaf8944b7c437f1b16786c46e08621c7764e35265d817ac758df28bb998b6b6644fbd742da5e62b5d413c3e034ef1074a1ef4a
7
+ data.tar.gz: 6fe37a3983f612f59dba64a4a7b9b51c061d2704079a51275765a0fa57d78a947f173153510fde72e8249b12cbb1cb3cb5d8e665e990252c78ee051fa108ae79
@@ -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.between?(6, 60)
85
+ return if duration + 1e-9 >= 10
86
86
 
87
- raise Core::ValidationError, "replacement duration must be between 6 and 60 seconds"
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.3.4
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.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.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.17
96
+ rubygems_version: 4.0.10
96
97
  specification_version: 4
97
98
  summary: Suno API Ruby SDK for RunAPI
98
99
  test_files: []