Module: RunApi::Suno
- Defined in:
- lib/runapi/suno.rb,
lib/runapi/suno/types.rb,
lib/runapi/suno/client.rb,
lib/runapi/suno/validators.rb,
lib/runapi/suno/contract_gen.rb,
lib/runapi/suno/resources/add_vocals.rb,
lib/runapi/suno/resources/boost_style.rb,
lib/runapi/suno/resources/check_voice.rb,
lib/runapi/suno/resources/cover_audio.rb,
lib/runapi/suno/resources/extend_music.rb,
lib/runapi/suno/resources/convert_audio.rb,
lib/runapi/suno/resources/create_mashup.rb,
lib/runapi/suno/resources/generate_midi.rb,
lib/runapi/suno/resources/text_to_music.rb,
lib/runapi/suno/resources/text_to_sound.rb,
lib/runapi/suno/resources/generate_voice.rb,
lib/runapi/suno/resources/generate_lyrics.rb,
lib/runapi/suno/resources/replace_section.rb,
lib/runapi/suno/resources/visualize_music.rb,
lib/runapi/suno/resources/add_instrumental.rb,
lib/runapi/suno/resources/generate_artwork.rb,
lib/runapi/suno/resources/generate_persona.rb,
lib/runapi/suno/resources/separate_audio_stems.rb,
lib/runapi/suno/resources/get_timestamped_lyrics.rb,
lib/runapi/suno/resources/voice_to_validation_phrase.rb,
lib/runapi/suno/resources/regenerate_validation_phrase.rb
Defined Under Namespace
Modules: Resources, Types, Validators Classes: Client
Constant Summary collapse
- AuthenticationError =
RunApi::Core::AuthenticationError
- RateLimitError =
RunApi::Core::RateLimitError
- InsufficientCreditsError =
RunApi::Core::InsufficientCreditsError
- ValidationError =
RunApi::Core::ValidationError
- NotFoundError =
RunApi::Core::NotFoundError
- TaskFailedError =
RunApi::Core::TaskFailedError
- TaskTimeoutError =
RunApi::Core::TaskTimeoutError
- CONTRACT =
{ "add-instrumental" => { "models" => ["suno-v4.5-plus", "suno-v5", "suno-v5.5"], "fields_by_model" => { "suno-v4.5-plus" => { "model" => { "required" => true }, "upload_url" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] } }, "suno-v5" => { "model" => { "required" => true }, "upload_url" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] } }, "suno-v5.5" => { "model" => { "required" => true }, "upload_url" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] } } } }, "add-vocals" => { "models" => ["suno-v4.5-plus", "suno-v5"], "fields_by_model" => { "suno-v4.5-plus" => { "lyrics" => { "required" => true }, "model" => { "required" => true }, "upload_url" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] } }, "suno-v5" => { "lyrics" => { "required" => true }, "model" => { "required" => true }, "upload_url" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] } } } }, "boost-style" => { "models" => [], "fields_by_model" => { "_" => {} } }, "check-voice" => { "models" => [], "fields_by_model" => { "_" => { "task_id" => { "required" => true } } } }, "convert-audio" => { "models" => [], "fields_by_model" => { "_" => {} } }, "cover-audio" => { "models" => ["suno-v4", "suno-v4.5", "suno-v4.5-all", "suno-v4.5-plus", "suno-v5", "suno-v5.5"], "fields_by_model" => { "suno-v4" => { "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "upload_url" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } }, "suno-v4.5" => { "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "upload_url" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } }, "suno-v4.5-all" => { "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "upload_url" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } }, "suno-v4.5-plus" => { "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "upload_url" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } }, "suno-v5" => { "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "upload_url" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } }, "suno-v5.5" => { "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "upload_url" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } } }, "rules" => [{ "when" => { "vocal_mode" => "auto_lyrics" }, "required" => ["prompt"], "forbidden" => ["lyrics", "style", "title"] }, { "when" => { "vocal_mode" => "exact_lyrics" }, "required" => ["lyrics", "style", "title"], "forbidden" => ["prompt"] }, { "when" => { "vocal_mode" => "instrumental" }, "required" => ["style", "title"], "forbidden" => ["prompt", "lyrics"] }] }, "create-mashup" => { "models" => ["suno-v4", "suno-v4.5", "suno-v4.5-all", "suno-v4.5-plus", "suno-v5", "suno-v5.5"], "fields_by_model" => { "suno-v4" => { "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "upload_url_list" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } }, "suno-v4.5" => { "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "upload_url_list" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } }, "suno-v4.5-all" => { "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "upload_url_list" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } }, "suno-v4.5-plus" => { "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "upload_url_list" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } }, "suno-v5" => { "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "upload_url_list" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } }, "suno-v5.5" => { "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "upload_url_list" => { "required" => true }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } } }, "rules" => [{ "when" => { "vocal_mode" => "auto_lyrics" }, "required" => ["prompt"], "forbidden" => ["lyrics", "style", "title"] }, { "when" => { "vocal_mode" => "exact_lyrics" }, "required" => ["lyrics", "style", "title"], "forbidden" => ["prompt"] }, { "when" => { "vocal_mode" => "instrumental" }, "required" => ["style", "title"], "forbidden" => ["prompt", "lyrics"] }] }, "extend-music" => { "models" => ["suno-v4", "suno-v4.5", "suno-v4.5-all", "suno-v4.5-plus", "suno-v5", "suno-v5.5"], "fields_by_model" => { "suno-v4" => { "model" => { "required" => true }, "parameter_mode" => { "enum" => ["source", "custom"] }, "persona_type" => { "enum" => ["style", "voice"] }, "vocal_gender" => { "enum" => ["male", "female"] } }, "suno-v4.5" => { "model" => { "required" => true }, "parameter_mode" => { "enum" => ["source", "custom"] }, "persona_type" => { "enum" => ["style", "voice"] }, "vocal_gender" => { "enum" => ["male", "female"] } }, "suno-v4.5-all" => { "model" => { "required" => true }, "parameter_mode" => { "enum" => ["source", "custom"] }, "persona_type" => { "enum" => ["style", "voice"] }, "vocal_gender" => { "enum" => ["male", "female"] } }, "suno-v4.5-plus" => { "model" => { "required" => true }, "parameter_mode" => { "enum" => ["source", "custom"] }, "persona_type" => { "enum" => ["style", "voice"] }, "vocal_gender" => { "enum" => ["male", "female"] } }, "suno-v5" => { "model" => { "required" => true }, "parameter_mode" => { "enum" => ["source", "custom"] }, "persona_type" => { "enum" => ["style", "voice"] }, "vocal_gender" => { "enum" => ["male", "female"] } }, "suno-v5.5" => { "model" => { "required" => true }, "parameter_mode" => { "enum" => ["source", "custom"] }, "persona_type" => { "enum" => ["style", "voice"] }, "vocal_gender" => { "enum" => ["male", "female"] } } } }, "generate-artwork" => { "models" => [], "fields_by_model" => { "_" => { "task_id" => { "required" => true } } } }, "generate-lyrics" => { "models" => [], "fields_by_model" => { "_" => {} } }, "generate-midi" => { "models" => [], "fields_by_model" => { "_" => {} } }, "generate-persona" => { "models" => [], "fields_by_model" => { "_" => {} } }, "generate-voice" => { "models" => [], "fields_by_model" => { "_" => { "singer_skill_level" => { "enum" => ["beginner", "intermediate", "advanced", "professional"] }, "task_id" => { "required" => true }, "verify_url" => { "required" => true } } } }, "get-timestamped-lyrics" => { "models" => [], "fields_by_model" => { "_" => {} } }, "regenerate-validation-phrase" => { "models" => [], "fields_by_model" => { "_" => { "task_id" => { "required" => true } } } }, "replace-section" => { "models" => [], "fields_by_model" => { "_" => { "full_lyrics" => { "required" => true }, "infill_end_time" => { "required" => true }, "infill_start_time" => { "required" => true }, "lyrics" => { "required" => true }, "model" => { "enum" => ["suno-v4", "suno-v4.5", "suno-v4.5-all", "suno-v4.5-plus", "suno-v5", "suno-v5.5"] }, "tags" => { "required" => true }, "title" => { "required" => true } } } }, "separate-audio-stems" => { "models" => [], "fields_by_model" => { "_" => { "audio_id" => { "required" => true }, "task_id" => { "required" => true } } } }, "text-to-music" => { "models" => ["suno-v4", "suno-v4.5", "suno-v4.5-all", "suno-v4.5-plus", "suno-v5", "suno-v5.5"], "fields_by_model" => { "suno-v4" => { "duration_seconds" => { "type" => "integer" }, "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } }, "suno-v4.5" => { "duration_seconds" => { "type" => "integer" }, "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } }, "suno-v4.5-all" => { "duration_seconds" => { "type" => "integer" }, "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } }, "suno-v4.5-plus" => { "duration_seconds" => { "type" => "integer" }, "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } }, "suno-v5" => { "duration_seconds" => { "type" => "integer" }, "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } }, "suno-v5.5" => { "duration_seconds" => { "type" => "integer" }, "model" => { "required" => true }, "persona_type" => { "enum" => ["style", "voice"] }, "vocal_gender" => { "enum" => ["male", "female"] }, "vocal_mode" => { "enum" => ["auto_lyrics", "exact_lyrics", "instrumental"], "required" => true } } }, "rules" => [{ "when" => { "vocal_mode" => "auto_lyrics" }, "required" => ["prompt"], "forbidden" => ["lyrics", "style", "title"] }, { "when" => { "vocal_mode" => "exact_lyrics" }, "required" => ["lyrics", "style", "title"], "forbidden" => ["prompt"] }, { "when" => { "vocal_mode" => "instrumental" }, "required" => ["style", "title"], "forbidden" => ["prompt", "lyrics"] }] }, "text-to-sound" => { "models" => ["suno-v5", "suno-v5.5"], "fields_by_model" => { "suno-v5" => { "model" => { "required" => true }, "prompt" => { "required" => true }, "sound_key" => { "enum" => ["Cm", "C#m", "Dm", "D#m", "Em", "Fm", "F#m", "Gm", "G#m", "Am", "A#m", "Bm", "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"] }, "sound_tempo" => { "type" => "integer" } }, "suno-v5.5" => { "model" => { "required" => true }, "prompt" => { "required" => true }, "sound_key" => { "enum" => ["Cm", "C#m", "Dm", "D#m", "Em", "Fm", "F#m", "Gm", "G#m", "Am", "A#m", "Bm", "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"] }, "sound_tempo" => { "type" => "integer" } } } }, "visualize-music" => { "models" => [], "fields_by_model" => { "_" => {} } }, "voice-to-validation-phrase" => { "models" => [], "fields_by_model" => { "_" => { "language" => { "enum" => ["en", "zh", "es", "fr", "pt", "de", "ja", "ko", "hi", "ru"] }, "vocal_end_seconds" => { "required" => true, "type" => "integer" }, "vocal_start_seconds" => { "required" => true, "type" => "integer" } } } } }.freeze