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, "min_items" => 2, "max_items" => 2 }, "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, "min_items" => 2, "max_items" => 2 }, "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, "min_items" => 2, "max_items" => 2 }, "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, "min_items" => 2, "max_items" => 2 }, "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, "min_items" => 2, "max_items" => 2 }, "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, "min_items" => 2, "max_items" => 2 }, "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 }, "stem_name" => { "enum" => ["Lead Vocal", "Drum Kit", "Kick", "Snare", "Risers", "Bass", "Backing Vocals", "Piano", "Electric Guitar", "Percussion", "String Section", "Synth", "Acoustic Guitar", "Sound Effects", "Synth Pad", "Synth Bass", "Guitar", "Brass Section", "Organ", "Electronic Drum Kit", "Lead Electric Guitar", "Synth Keys", "Rhythm Electric Guitar", "Electric Piano", "Upright Bass", "Keyboards", "Distorted Electric Guitar", "Synth Strings", "Synth Lead", "Woodwinds", "Rhythm Acoustic Guitar", "Flute", "Harp", "Tambourine", "Trumpet", "Arpeggiator", "Accordion", "Fiddle", "Pedal Steel Guitar", "Synth Voice", "Violin", "Digital Piano", "Synth Brass", "Mandolin", "Choir", "Banjo", "Bells", "Clarinet", "Tenor Saxophone", "Trombone", "Shaker", "French Horn", "Glockenspiel", "Electric Bass", "Cello", "Timpani", "Harmonica", "Marimba", "Vibraphone", "Lap Steel Guitar", "Saxophone", "Orchestra", "Horns", "Cymbals", "Hand Clap", "Oboe", "Celesta", "Congas", "Drone", "Alto Saxophone", "Double Bass", "Ukulele", "Harpsichord", "Baritone Saxophone", "Xylophone", "Tuba", "Bass Guitar", "Whistle", "Lead Guitar", "Rhodes", "808", "Bongos", "Bassoon", "Cowbell", "Viola", "Sitar", "Steel Drums", "Piccolo", "Theremin", "Bagpipes", "Hi-Hat", "Music Box", "Melodica", "Tabla", "Koto", "Djembe", "Taiko", "Didgeridoo"] }, "task_id" => { "required" => true }, "type" => { "enum" => ["separate_vocal", "split_stem", "split_stem_advanced"] } } }, "rules" => [{ "when" => { "type" => "split_stem_advanced" }, "required" => ["stem_name"] }] }, "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