Instrumente muzică

    Generează piese muzicale complete. Toate joburile de muzică sunt asincrone: apelezi generate_music, apoi interoghezi get_status până când status este completed (sau failed).

    Pentru efecte sonore, un fundal instrumental de lungime exactă sau o coloană sonoră scrisă pe un video pe care îl ai deja, folosește generate_sound de mai jos.


    #Cum alegi: simplu vs avansat

    Instrumentul generate_music are două moduri exclusive. Agentul trebuie să aleagă unul în funcție de ce cere utilizatorul.

    ModCând îl foloseștiCum decide API-ul
    SimpluIdee rapidă într-un singur text: gen, atmosferă, instrumente. Fără titlu fix, tag-uri de stil, versuri sau gen vocal.Nu seta title sau style (lasă-le goale). Oferă un prompt nevid (max 400 caractere).
    Avansat (custom)Utilizatorul vrea titlu, stil (gen/tag-uri), gen vocal (sau random), și fie descrierea cântecului fie versuri (nu ambele), opțional negative_tags (ce să evite).Setează ambele title și style ca șiruri nevide. vocal_gender este obligatoriu (m, f sau random). Oferă exact unul dintre song_description sau lyrics când nu e instrumental (vezi mai jos).

    Reguli:

    • Dacă ambele title și style sunt nevide → mod avansat (custom). prompt este ignorat pentru conținut; folosește song_description / lyrics.
    • Dacă este setat doar title sau doar style → invalid; fie ambele, fie niciunul.
    • Dacă nici titlu, nici stil nu sunt setate → mod simplu; prompt este obligatoriu.

    Mod avansat — descriere vs versuri (cu voce):

    • Alege unul: setează song_description sau lyrics, niciodată ambele. Trimiterea ambelor este respinsă (nu se concatenează).
    • Varianta descriere: temă/atmosferă/instrucțiuni pentru model; lasă lyrics gol.
    • Varianta versuri: versuri complete de la utilizator; lasă song_description gol.

    Mod avansat — instrumental: setează instrumental: true și oferă doar song_description; nu trimite lyrics.

    Folosește get_models cu model_type=music pentru ID-uri de modele și costuri în credite.


    #Modele

    Generarea de muzică este realizată cu Suno. Valori model acceptate (simplu și avansat): V6, V6_WILD, V6_MINI (afișate în aplicație ca V6, V6 Wild și V6 Mini). Toate trei costă la fel, deci alegerea privește caracterul, nu prețul: V6 are cele mai multe detalii și vocile cele mai naturale, V6_WILD merge mai departe pentru un rezultat mai curajos, V6_MINI este varianta rapidă și ușoară.

    Dacă model lipsește, se aplică valoarea implicită V6. Toate versiunile anterioare (V4, V4_5, V4_5PLUS, V4_5ALL, V5, V5_5) au fost retrase de furnizor. O cerere care numește una dintre ele este servită de V6 la același preț, nu respinsă, deci o integrare existentă continuă să funcționeze, dar acele valori nu mai fac parte din setul acceptat.


    #generate_music

    #Parametri mod simplu

    ParametruTipObligatoriuDescriere
    promptstringDaO singură descriere a muzicii; max 400 caractere.
    instrumentalbooleanNuDacă true, doar instrumental (fără voci). Implicit: false.
    modelstringNuV6 (implicit), V6_WILD sau V6_MINI.

    Nu trimite title, style sau vocal_gender în modul simplu (lasă-le goale).

    Exemplu — simplu, cu voci:

    {
      "prompt": "Melodie pop veselă despre vară",
      "instrumental": false,
      "model": "V6"
    }
    

    Exemplu — simplu, instrumental:

    {
      "prompt": "Muzică orchestrală epică de fundal",
      "instrumental": true
    }
    

    #Parametri mod avansat

    ParametruTipObligatoriuDescriere
    titlestringDaTitlul cântecului; max 80 caractere.
    stylestringDaStil / gen / tag-uri; max 1000 caractere.
    vocal_genderstringDam, f sau random (aliasuri: male/female; random = provider alege). Pentru instrumental, tot obligatoriu în API dar nu se aplică vocii.
    song_descriptionstringXOR cu lyricsDespre ce este cântecul (temă, atmosferă). Max 5000 caractere. Omite dacă folosești lyrics.
    lyricsstringXOR cu song_descriptionVersuri complete dacă utilizatorul le-a dat. Max 5000 caractere. Omite dacă folosești song_description.
    instrumentalbooleanNuImplicit false. Dacă true, cere doar song_description.
    negative_tagsstringNuStiluri sau elemente de evitat; max 200 caractere.
    style_weightnumberNuImplicit 0.65 (ca în aplicația web).
    weirdness_constraintnumberNuImplicit 0.65.
    audio_weightnumberNuImplicit 0.65.
    modelstringNuAcelași set ca la modul simplu.

    Cerință de conținut (avansat, cu voce): exact unul dintre song_description sau lyrics trebuie să fie nevid (celălalt omis sau gol).

    Exemplu — avansat doar cu descriere:

    {
      "title": "Neon Midnight",
      "style": "synthwave, anii 80, bas de condus, nostalgic",
      "vocal_gender": "random",
      "song_description": "Un cântec despre condus prin oraș noaptea cu reflexii neon",
      "model": "V6"
    }
    

    Exemplu — avansat doar cu versuri:

    {
      "title": "Morning Light",
      "style": "folk acustic, chitară blândă, cald",
      "vocal_gender": "f",
      "lyrics": "[Strofa 1] ... [Refren] ..."
    }
    

    Răspuns: Include generation_id, status (ex. pending), adesea estimated_time_seconds. Interoghează cu get_status.


    <a id="generate_sound"></a>

    #generate_sound

    Efecte sonore și muzică, fie pornind de la o frază, fie scrise pe un clip pe care îl ai deja. Nu e pentru cântece cu voce: pentru asta există generate_music. Toate modelele de aici se facturează pe secundă, iar generările nu pot fi rambursate, așa că cere o cotație cu estimate înainte de a rula.

    Alege modelul după ce ai la dispoziție:

    ModelIntrareRezultat
    sonilo-text-to-sfxO frazăUn efect sonor descris. Între 1 și 180 de secunde, implicit 5.
    sonilo-text-to-musicO frazăO piesă instrumentală de lungimea aleasă, niciodată cu voce. Între 5 și 360 de secunde, implicit 60. Preferă-l în locul Suno când piesa trebuie să încapă într-un interval deja stabilit.
    sonilo-video-to-sfxUn videoEfecte potrivite cu imaginea, ca pistă audio separată.
    sonilo-video-to-musicUn videoO coloană sonoră scrisă pe montaj, ca pistă audio separată.
    sonilo-video-to-soundUn videoEfecte și muzică mixate împreună, ca pistă audio separată.
    sonilo-video-to-video-sfxUn videoLa fel ca sonilo-video-to-sfx, dar întoarce clipul cu sunetul inclus.
    sonilo-video-to-video-musicUn videoLa fel ca sonilo-video-to-music, întors ca clip.
    sonilo-video-to-video-soundUn videoLa fel ca sonilo-video-to-sound, întors ca clip.

    Alege un id -video-to-video-* când utilizatorul vrea înapoi un clip finit și id-urile doar audio când va mixa singur sunetul într-un editor.

    Parametri:

    ParametruTipObligatoriuDescriere
    modelstringDaUnul dintre id-urile de mai sus.
    promptstringNuEste mutat în câmpul pe care îl citește modelul. Cele două modele *-sound refuză un prompt singur; acolo folosește music_prompt și sfx_prompt. Max 2000 de caractere.
    music_promptstringNuAtmosfera și instrumentația pentru partea muzicală.
    sfx_promptstringNuPe ce să se concentreze efectele.
    video_urlstringModelele videoURL HTTPS al clipului, cel mult 360 de secunde. Pentru un fișier local, apelează get_upload_url(model_id="<id-ul modelului>"), lasă utilizatorul să încarce fișierul, apoi get_upload_session(token).
    duration_secondsnumberNuModelele text: lungimea rezultatului. Modelele video: lungimea clipului, necesară doar dacă nu e deja cunoscută dintr-o încărcare sau dintr-o generare proprie.
    preserve_speechbooleanNuModelele video. Păstrează în rezultat vorbirea care există deja în clip. Implicit false.
    duckingbooleanNuModelele video, cu preserve_speech pornit. Coboară sunetul nou cât timp vorbește cineva. Implicit true.

    O rulare video fără niciun prompt este validă și adesea dă rezultate mai bune: modelul scrie pe ce vede.

    Facturare: pe secundă de clip la modelele video (nu de rezultat) și pe secundă de rezultat la modelele text. Fiecare produs are o durată minimă facturabilă: 10 secunde la tot ce scrie muzică (inclusiv ambele id-uri *-sound) și 3 secunde la id-urile doar cu efecte, deci o coloană sonoră de 6 secunde se facturează ca 10. estimate(model=..., reference_video_seconds=<secundele clipului>) aplică minimul pentru tine.

    Răspuns: {generation_id, status: "pending"}. Interoghează get_status până la completed sau failed. Furnizorul nu trimite callback, așa că interogarea este cea care încheie rularea; dacă te oprești mai devreme, creditele rămân rezervate.


    #get_status

    Verifică starea unei generări muzicale și obține URL-urile când este gata.

    Parametri:

    ParametruTipObligatoriuDescriere
    generation_idstringDaID returnat de generate_music.

    Răspuns: Include status, progress, iar la final un tablou songs. Fiecare piesă are de obicei id, title, audio_url, stream_url, cover_image_url, duration, lyrics, style.

    Vezi Limitări pentru rate limits și credite.