curl --request POST \ --url https://api.mountsea.ai/suno/v2/generate \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "task": "create", "model": "chirp-v6", "title": "Summer Vibes", "tags": "Pop, Happy, Upbeat", "prompt": "[Verse]\nSunshine on my face today\nDriving down the coast away\n\n[Chorus]\nSummer vibes, feeling free\nThis is where I want to be", "make_instrumental": false}'
Generate, extend, cover, mashup and more — the unified music generation endpoint
POST
/
suno
/
v2
/
generate
curl --request POST \ --url https://api.mountsea.ai/suno/v2/generate \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "task": "create", "model": "chirp-v6", "title": "Summer Vibes", "tags": "Pop, Happy, Upbeat", "prompt": "[Verse]\nSunshine on my face today\nDriving down the coast away\n\n[Chorus]\nSummer vibes, feeling free\nThis is where I want to be", "make_instrumental": false}'
The /generate endpoint supports 17 different task types. Each task has its own page under Generate tasks: required fields and a copy-ready example. Generate Schema is the same data as JSON (GET /suno/v2/generate/schema?task=xxx).
All tasks require the task and model fields. Use GET /suno/v2/generate/schema?task=xxx to get the full parameter details for any specific task type. For task=create, schema examples include custom / simple_idea / simple_audio_refs. Simple can also take attached_lyrics, image_urls (1–5 jpeg or png), and one video_url (mp4). For replace: replaceSection / replaceSimple.
Pages: Simple replace, Replace section.Prefer replace_simple when you only have a clip and a time range. The task is stored and billed as replace_section — /status shows task=replace_section. Use replace_section when you need to set infill_context_range yourself.The server:
Snaps range to a 40ms grid.
Widens a selection shorter than 4s around its center, clamped to the song. Max selection 120s. A song shorter than 4s returns HTTP 400.
Builds context about ±15s. A client infill_context_range is ignored.
Picks lyrics in this order: continued_aligned_prompt → replace original_infill_lyrics with infill_lyrics in the original lyrics → original clip lyrics → 400 if none exist.
Treats infill_type as deprecated. smart / classic / fixed all run as infill. Omit it.
Omit title / tags to keep the original song’s title and style. Optional: negative_tags, prompt, persona, max_mode, controls, vocal_gender.
Do not send agentic_thinking or create_mode. Mode is inferred from the body.
Mode
When
What you send
Custom
Non-empty prompt (you write lyrics)
task + model + prompt
Custom (fallback)
Empty / omit prompt, and none of the six Simple fields
Stays Custom
Simple
Omit prompt (or ""), no persona, and at least one of: gpt_description_prompt / audio_refs / attached_styles / attached_lyrics / image_urls / video_url
Official Simple text box, optional reference songs, style, pinned lyrics, images, or one video
Field
Custom
Simple
prompt
Lyrics (required to enter Custom)
Omit or ""
gpt_description_prompt
Ignored if prompt has lyrics
Official Simple idea box. May be "" if you only send refs, styles, pinned lyrics, images, or a video
audio_refs
HTTP 400 if sent with prompt or persona
1–4 items. clip_id is enough
attached_styles
Ignored
Optional style paragraph; alone or with the other Simple fields
attached_lyrics
Ignored when prompt is non-empty
Full lyrics while prompt stays empty, so the request stays Simple. Lyrics alone enter Simple. Create → Pinned lyrics
image_urls
HTTP 400 if sent with prompt, persona, or any task other than create
1–5 jpeg or png URLs. Images alone enter Simple. Create → Images
video_url
HTTP 400 if sent with prompt, persona, or any task other than create
One mp4 URL. The video alone enters Simple. Create → Video
persona
Allowed
Must omit (else not Simple; audio_refs, image_urls, or video_url → 400)
audio_refs, image_urls, and video_url are Simple only. Sending any of them with lyrics (prompt) or persona returns HTTP 400. image_urls and video_url on any task other than create are also 400. A non-empty prompt ignores attached_lyrics and stays Custom.
audio_refs pick is ByModel — clips do not need to belong to the occupied pool account. Other-user official clip_ids are accepted; the result may be marked remix and commercial download may be disabled.
Full page: Speech.Speech is still task=create (same billing). Omit is_speech for a normal song. is_speech and backing_music only take effect when true, and only on create. Official captures use chirp-v6-mini.
Form
What you send
Write the script
Non-empty prompt = words to speak. tags = voice style. vocal_genderm / f. backing_music: true adds a music bed. controls.aug_creativity is Variety (4 = max)
Idea only
Omit prompt and persona. Put the idea in gpt_description_prompt. Leave backing_music unset unless you want a music bed
Key needs a space: "G maj", not Gmaj or G major. Values outside the key list return 400. "G" and "G maj" both become user_key: "G". "A min" becomes "Am". Natural notes are sent as-is. Major drops maj; minor replaces min with m. The 12 notes are C, C#, D, D#, E, F, F#, G, G#, A, A#, B — each as a natural, maj, and min.Loop + G major + BPM Auto → sound_configs{ "user_key": "G", "user_loop": true }. Add bpm: 120 to also send user_tempo: 120.
These parameters are shared across most task types:
Parameter
Type
Description
task
string
Required. The task type (see table above)
model
string
Required. New: chirp-v6 (v6 Pro), chirp-v6-mini, chirp-v6-wild. Legacy names (chirp-v55 and older) are still accepted and always auto-converted to v6 Pro. Custom: chirp-custom:<uuid>
prompt
string
Custom lyrics. On create, non-empty → Custom
gpt_description_prompt
string
Simple idea box. On create, helps enter Simple when prompt is empty. Also used by mashup
curl -X POST https://api.mountsea.ai/suno/v2/generate \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your-api-key" \ -d '{ "task": "create", "model": "chirp-v6", "prompt": "[Verse]\nSunshine on my face today\nDriving down the coast away\n\n[Chorus]\nSummer vibes, feeling free\nThis is where I want to be", "tags": "Pop, Happy, Upbeat", "title": "Summer Vibes" }'
curl -X POST https://api.mountsea.ai/suno/v2/generate \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your-api-key" \ -d '{ "task": "create", "model": "chirp-v6", "gpt_description_prompt": "Emotive bossa nova song about the silence after a fight" }'
task=inspiration requires a real playlist_id from Create Playlist. The legacy pattern playlist_id: "inspiration" with playlist_clip_ids is deprecated. See the Inspiration workflow.
Not sure which parameters to pass? Call GET /suno/v2/generate/schema?task=your_task — it returns the required fields, optional fields, not-allowed fields, and a complete request example for each task type.Try Generate Schema →
Task type. Use GET /generate/schema?task=xxx to query required fields for each task. replace_simple = replace_section where the server computes infill_context_range / mode / lyrics from clip_id + range.
Lyrics (official Custom). [Optional]
task=create + non-empty prompt → Custom (you write lyrics).
task=create + empty/omit prompt is Simple ONLY if you also send gpt_description_prompt and/or audio_refs and/or attached_styles and/or attached_lyrics (and no persona).
Empty prompt with none of those three fields stays Custom.
Do not send lyrics together with audio_refs (400).
replace_section: lyrics inside infill_context_range.
Example:
"[Verse]\nHello world, here I come...\n\n[Chorus]\nLa la la..."
Full song lyrics after replacement. [Required: replace_section] [Optional: replace_simple] Contains the complete lyrics of the entire song with the replaced section updated. replace_simple: omit to reuse the original clip lyrics (or the splice of original_infill_lyrics → infill_lyrics); returns 400 when the original lyrics cannot be found either.
Original lyrics inside the selected range. [Optional: replace_simple] When continued_aligned_prompt is omitted, the server replaces this text with infill_lyrics in the original clip lyrics.
Natural-language song idea (official Simple text box). [Optional]
task=create + empty/omit prompt + this non-empty field + no persona → Simple.
May be "" if you only send audio_refs and/or attached_styles and/or attached_lyrics.
Ignored when prompt has lyrics (Custom). Also used by mashup.
Example:
"Emotive bossa nova song about the silence after a fight"
Target range { start_s, end_s }. [Required: replace_section, replace_simple, sample] For replace_section: the section to replace (use at least 4 seconds; shorter selections usually fail and are refunded by Suno). For replace_simple: the selection to replace; the server snaps it to a 40ms grid, widens it to at least 4s around its center, and builds the context window. For sample: the time range to sample from source clip.
Infill mode. [Optional: replace_section, replace_simple] DEPRECATED: Suno no longer supports fixed_infill, so smart / classic / fixed all run as infill on every model. Still accepted for backward compatibility; you can omit it.
Infill context range (must encompass range). [Required: replace_section] [Ignored: replace_simple — computed by the server] Should extend ~30s before range.start_s and ~30s after range.end_s. If range starts within first 30s, use 0 for start_s. If range ends within last 30s of song, use song duration for end_s.
Speech tab. [Optional: create only] true = this create is spoken audio, not a song. Mapped to metadata.is_speech. Omit or false = normal song; the field is not sent. Ignored on every task except create. Billing stays task=create.
Advanced (you write the script): task=create, non-empty prompt = the words to speak, tags = voice style (pace, tone, "no whisper"), vocal_gender m|f, is_speech true, backing_music true if a music bed should sit under the voice. controls.aug_creativity is Variety (0–4, 4 = max).
Simple (idea only): task=create, omit prompt and persona, put the idea in gpt_description_prompt, set is_speech true and vocal_gender. The server sends this as the official Simple mode. Leave backing_music unset unless you want a music bed.
Speech tab → music under the voice. [Optional: create only] true maps to metadata.backing_music. Use with is_speech on the advanced script form. Omit or false = not sent. Ignored unless task=create.
Suno playlist ID. [Required: inspiration] Must be obtained via /playlist/create → /playlist/addClips before calling /generate. Add inspiration clips (1–4, same account) to the playlist first. When combined with persona (vox_playlist_condition), the playlist must exist on the same account as the persona.
Sounds tab. [Required: task=sound] model chirp-v6. Always instrumental. prompt and tags you send are overwritten.
Maps to the Sounds form: description = the Sound box; type = Advanced Type (one_shot | loop); key = Advanced Key; bpm = Advanced BPM.
Official payload: tags = description only. Loop, key, and BPM go in metadata.sound_configs:
user_loop=true — only when type is "loop".
user_key — "G" and "G maj" both become "G"; "G min" becomes "Gm". Omit key for Any.
user_tempo — only when bpm is set. Omit bpm for Auto.
Title is the description with each word capitalized, cut at 80 characters ("..." fills the last 3).
Loop + G major + BPM Auto → sound_configs { user_key: "G", user_loop: true }.
Loop + G + BPM 120 → { user_loop: true, user_key: "G", user_tempo: 120 }.
max_mode is rejected on sound.
Show child attributes
Example:
{ "description": "Fast cinematic whoosh transition, airy stereo sweep, soft bass hit at the end, clean and short, no reverb tail mush", "type": "loop", "key": "G maj" }
Official Create form → "Max Mode" (also in More Options). Mapped to metadata.is_max_mode. Uses more compute for consistency throughout the song. Costs 2x official-account credits. User billing is 2x via a platform param_cost_rule matching max_mode=true. Default omitted/false = current pricing (no change). Rejected on gen_stem_* and sound (HTTP 400).
Official Create form → More Options → "Personalize" / "My Taste". Mapped to top-level use_personalization. Uses the picked official account's taste profile. Default omitted/false. Effect is not guaranteed (pool accounts may have no taste data).
Official Simple → attach existing songs (chips above the idea box). [Optional, create Simple only]
1–4 items. Omit prompt and persona (400 otherwise). Account pick is normal ByModel.
clip_id is required; style_prompt / lyrics / duration_s are optional (clip_id alone is enough).
Clips do not need to belong to the occupied pool account. Other-user clip_ids are accepted; official may mark the result as a remix and disable commercial download.
Required array length: 1 - 4 elements
Show child attributes
Example:
[ { "clip_id": "3e7e9538-c474-45a7-8181-3da327bd654b", "style_prompt": "Post-genre, male baritone; distorted electric guitar...", "lyrics": "[Verse 1]\\nSun’s sinking in the bed of my truck\\n...", "duration_s": 212.4 } ]
Official Simple → attached style paragraph (top-level attached_styles). [Optional, create Simple only]
A written style brief, e.g. "Modern country heartbreak with 92 BPM two-step groove…". Can be sent with audio_refs, or alone. Empty/omit prompt + this field + no persona → Simple. Ignored on Custom (non-empty prompt).
Example:
"Modern country heartbreak with 92 BPM two-step groove, acoustic guitar downstrokes locking every downbeat, pedal-steel answers, and twangy Telecaster fills."
Official Simple → pinned lyrics (top-level attached_lyrics). [Optional, create Simple only]
Full lyrics the caller already wrote. prompt stays empty, so this stays Simple (upstream agentic_thinking), not Custom.
Empty/omit prompt + this field + no persona → Simple, even without gpt_description_prompt.
Can be sent with gpt_description_prompt and attached_styles. Ignored when prompt is non-empty. Omit to leave the payload unchanged.
Official Simple → + Image. [Optional, create Simple only] 1–5 jpeg or png URLs the server can download. Omit prompt and persona (400 otherwise). Also 400 on every task except create. The server uploads each URL on the account selected for this generate and sends the resulting ids as user_uploaded_image_ids. Empty/omit prompt + image_urls + no persona is Simple even without gpt_description_prompt. Omit image_urls to leave the request unchanged.
Official Simple → one reference video. [Optional, create Simple only] One mp4 URL the server can download. Omit prompt and persona (400 otherwise). Also 400 on every task except create. The server uploads it on the account selected for this generate and sends the id as user_uploaded_video_id. Empty/omit prompt + video_url + no persona is Simple even without gpt_description_prompt. Omit video_url to leave the request unchanged.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"MountSea API","colors":{"primary":"#16A34A","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/mountsea/-0ZZ4zjGNKNGMd3j/logo/light.svg?fit=max\u0026auto=format\u0026n=-0ZZ4zjGNKNGMd3j\u0026q=85\u0026s=a8eaf60937d21acd2a442694ca5edc96","dark":"https://mintcdn.com/mountsea/-0ZZ4zjGNKNGMd3j/logo/dark.svg?fit=max\u0026auto=format\u0026n=-0ZZ4zjGNKNGMd3j\u0026q=85\u0026s=b8c928c8f34885998a6d32ce0121c91c"},"favicon":"https://mintcdn.com/mountsea/-0ZZ4zjGNKNGMd3j/favicon.svg?fit=max\u0026auto=format\u0026n=-0ZZ4zjGNKNGMd3j\u0026q=85\u0026s=e5e125abb34edbd67ce834f5dc709e69","navbar":{"links":[{"href":"https://offoff.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://offoff.ai"}},"footer":{"links":[{"items":[{"label":"Terms of Service","href":"https://offoff.ai/zh/terms"},{"label":"Privacy Policy","href":"https://offoff.ai/zh/privacy"}]}]},"interaction":{"drilldown":false},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Contact Us","icon":"book-open-cover","href":"https://offoff.ai"}]},"languages":[{"language":"en","default":true,"href":"introduction"},{"language":"zh","href":"zh/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"mountsea","hasAudioNarration":false,"actualSubdomain":"mountsea","customDomains":["docs.mountsea.ai"],"gitSource":{"type":"github","owner":"dkzhoufk","repo":"api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adac469e039861d9e9580d2","collectionId":"2e052c16-19a1-442e-9cda-40e0c5e0b5e5","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adac469e039861d9e9580d2"},"entitlements":{},"buildId":"6adac469e039861d9e9580d2","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"en","tag":"API reference","count":131},{"language":"en","tag":"API","count":131},{"language":"zh","tag":"API 参考","count":131},{"language":"zh","tag":"API","count":131},{"language":"en","tag":"Suno","count":73},{"language":"zh","tag":"Suno","count":73},{"language":"en","tag":"Generate tasks","count":19},{"language":"zh","tag":"生成任务","count":19},{"language":"en","tag":"Google Gemini","count":14},{"language":"zh","tag":"Google Gemini","count":14},{"language":"en","tag":"Studio","count":12},{"language":"zh","tag":"Studio","count":12},{"language":"en","tag":"ElevenLabs","count":9},{"language":"zh","tag":"ElevenLabs","count":9},{"language":"en","tag":"Video (Veo / Omni)","count":8},{"language":"en","tag":"OpenAI","count":8},{"language":"zh","tag":"视频 (Veo / Omni)","count":8},{"language":"zh","tag":"OpenAI","count":8},{"language":"en","tag":"Chat","count":7},{"language":"zh","tag":"Chat","count":7}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/suno/generate","slug":"/api-reference/suno/generate","pageMetadata":{"title":"Generate Music","description":"Generate, extend, cover, mashup and more — the unified music generation endpoint","openapi":"POST /suno/v2/generate","href":"/api-reference/suno/generate"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Generate, extend, cover, mashup and more — the unified music generation endpoint\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Info,Step,Steps,Table,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Warning,{children:_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`/generate`}),` endpoint supports `,_jsx(_components.strong,{children:`17 different task types`}),`. Each task has its own page under `,_jsx(_components.a,{href:`/api-reference/suno/generate-tasks`,children:`Generate tasks`}),`: required fields and a copy-ready example. `,_jsx(_components.a,{href:`/api-reference/suno/generateSchema`,children:`Generate Schema`}),` is the same data as JSON (`,_jsx(_components.code,{children:`GET /suno/v2/generate/schema?task=xxx`}),`).`]})}),`\n`,_jsx(Heading,{level:`2`,id:`quick-start`,children:`Quick Start`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Check required parameters`,children:[_jsxs(_components.p,{children:[`Call `,_jsx(_components.code,{children:`GET /suno/v2/generate/schema?task=create`}),` to get the parameter schema and a request example for the `,_jsx(_components.code,{children:`create`}),` task.`]}),_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/api-reference/suno/generateSchema`,children:`Generate Schema →`})]})]}),_jsx(Step,{title:`Send generate request`,children:_jsxs(_components.p,{children:[`Call `,_jsx(_components.code,{children:`POST /suno/v2/generate`}),` with the correct parameters for your task type.`]})}),_jsx(Step,{title:`Poll task status`,children:_jsxs(_components.p,{children:[`Use the returned `,_jsx(_components.code,{children:`taskId`}),` to poll `,_jsx(_components.a,{href:`/api-reference/suno/task`,children:`Get Task Status`}),` until status is `,_jsx(_components.code,{children:`success`}),`.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`task-types-overview`,children:`Task Types Overview`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Task`}),_jsx(_components.th,{children:`Description`}),_jsx(_components.th,{children:`Key Required Fields`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateCreate`,children:_jsx(_components.code,{children:`create`})})}),_jsxs(_components.td,{children:[`New song — `,_jsx(_components.strong,{children:`Custom`}),` (you write lyrics) or `,_jsx(_components.strong,{children:`Simple`}),` (idea / refs / images)`]}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`model`}),` — see `,_jsx(_components.a,{href:`#taskcreate-custom-vs-simple`,children:`modes`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateExtend`,children:_jsx(_components.code,{children:`extend`})})}),_jsx(_components.td,{children:`Extend existing music`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`clip_id`}),`, `,_jsx(_components.code,{children:`model`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateUploadExtend`,children:_jsx(_components.code,{children:`upload_extend`})})}),_jsx(_components.td,{children:`Extend uploaded audio`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`audio_url`}),`, `,_jsx(_components.code,{children:`model`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateUploadCover`,children:_jsx(_components.code,{children:`upload_cover`})})}),_jsx(_components.td,{children:`Cover uploaded audio`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`audio_url`}),`, `,_jsx(_components.code,{children:`model`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateCover`,children:_jsx(_components.code,{children:`cover`})})}),_jsx(_components.td,{children:`Create cover of existing clip`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`clip_id`}),`, `,_jsx(_components.code,{children:`model`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateUseStylesLyrics`,children:_jsx(_components.code,{children:`use_styles_lyrics`})})}),_jsx(_components.td,{children:`Use styles from clip with new lyrics`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`clip_id`}),`, `,_jsx(_components.code,{children:`model`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateReplaceSection`,children:_jsx(_components.code,{children:`replace_section`})})}),_jsx(_components.td,{children:`Replace a section — you compute context / lyrics`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`clip_id`}),`, `,_jsx(_components.code,{children:`range`}),`, `,_jsx(_components.code,{children:`infill_context_range`}),`, `,_jsx(_components.code,{children:`continued_aligned_prompt`}),`, `,_jsx(_components.code,{children:`model`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateReplaceSimple`,children:_jsx(_components.code,{children:`replace_simple`})})}),_jsx(_components.td,{children:`Simple section replace — server computes context`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`clip_id`}),`, `,_jsx(_components.code,{children:`range`}),`, `,_jsx(_components.code,{children:`model`}),` — stored / billed as `,_jsx(_components.code,{children:`replace_section`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateAddInstrumental`,children:_jsx(_components.code,{children:`add_instrumental`})})}),_jsx(_components.td,{children:`Add instrumental to the full clip`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`clip_id`}),`, `,_jsx(_components.code,{children:`model`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateAddVocals`,children:_jsx(_components.code,{children:`add_vocals`})})}),_jsx(_components.td,{children:`Add vocals to the full clip`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`clip_id`}),`, `,_jsx(_components.code,{children:`model`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateStemTwo`,children:_jsx(_components.code,{children:`gen_stem_two`})})}),_jsx(_components.td,{children:`Generate two-track stems (vocals + instrumental)`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`clip_id`}),`, `,_jsx(_components.code,{children:`model`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateStemAll`,children:_jsx(_components.code,{children:`gen_stem_all`})})}),_jsx(_components.td,{children:`Generate 12 stems`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`clip_id`}),`, `,_jsx(_components.code,{children:`model`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateAddStems`,children:_jsx(_components.code,{children:`add_stems`})})}),_jsx(_components.td,{children:`Add stems onto a clip`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`clip_id`}),`, `,_jsx(_components.code,{children:`model`}),` — omit `,_jsx(_components.code,{children:`stem_control_tags`}),` and the server sends `,_jsx(_components.code,{children:`\"add \"`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateMashup`,children:_jsx(_components.code,{children:`mashup`})})}),_jsx(_components.td,{children:`Mashup exactly two songs`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`mashup_clip_ids`}),` (length 2), `,_jsx(_components.code,{children:`model`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateSample`,children:_jsx(_components.code,{children:`sample`})})}),_jsx(_components.td,{children:`Sample from existing clip`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`clip_id`}),`, `,_jsx(_components.code,{children:`range`}),`, `,_jsx(_components.code,{children:`model`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateInspiration`,children:_jsx(_components.code,{children:`inspiration`})})}),_jsx(_components.td,{children:`Generate from a real playlist`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`playlist_id`}),`, `,_jsx(_components.code,{children:`model`}),` — see `,_jsx(_components.a,{href:`/api-reference/suno/inspiration`,children:`Inspiration Guide`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/suno/generateSound`,children:_jsx(_components.code,{children:`sound`})})}),_jsx(_components.td,{children:`Generate sound effects`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`sound`}),`, `,_jsx(_components.code,{children:`model`})]})]})]})]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`All tasks require the `,_jsx(_components.code,{children:`task`}),` and `,_jsx(_components.code,{children:`model`}),` fields. Use `,_jsx(_components.code,{children:`GET /suno/v2/generate/schema?task=xxx`}),` to get the full parameter details for any specific task type. For `,_jsx(_components.code,{children:`task=create`}),`, schema examples include `,_jsx(_components.code,{children:`custom`}),` / `,_jsx(_components.code,{children:`simple_idea`}),` / `,_jsx(_components.code,{children:`simple_audio_refs`}),`. Simple can also take `,_jsx(_components.code,{children:`attached_lyrics`}),`, `,_jsx(_components.code,{children:`image_urls`}),` (1–5 jpeg or png), and one `,_jsx(_components.code,{children:`video_url`}),` (mp4). For replace: `,_jsx(_components.code,{children:`replaceSection`}),` / `,_jsx(_components.code,{children:`replaceSimple`}),`.`]})}),`\n`,_jsxs(Heading,{level:`2`,id:`replace_simple-vs-replace_section`,children:[_jsx(_components.code,{children:`replace_simple`}),` vs `,_jsx(_components.code,{children:`replace_section`})]}),`\n`,_jsxs(_components.p,{children:[`Pages: `,_jsx(_components.a,{href:`/api-reference/suno/generateReplaceSimple`,children:`Simple replace`}),`, `,_jsx(_components.a,{href:`/api-reference/suno/generateReplaceSection`,children:`Replace section`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Prefer `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`replace_simple`})}),` when you only have a clip and a time range. The task is stored and billed as `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`replace_section`})}),` — `,_jsx(_components.code,{children:`/status`}),` shows `,_jsx(_components.code,{children:`task=replace_section`}),`. Use `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`replace_section`})}),` when you need to set `,_jsx(_components.code,{children:`infill_context_range`}),` yourself.`]}),`\n`,_jsx(_components.p,{children:`The server:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Snaps `,_jsx(_components.code,{children:`range`}),` to a `,_jsx(_components.strong,{children:`40ms`}),` grid.`]}),`\n`,_jsxs(_components.li,{children:[`Widens a selection shorter than `,_jsx(_components.strong,{children:`4s`}),` around its center, clamped to the song. Max selection `,_jsx(_components.strong,{children:`120s`}),`. A song shorter than 4s returns `,_jsx(_components.strong,{children:`HTTP 400`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Builds context about `,_jsx(_components.strong,{children:`±15s`}),`. A client `,_jsx(_components.code,{children:`infill_context_range`}),` is `,_jsx(_components.strong,{children:`ignored`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Picks lyrics in this order: `,_jsx(_components.code,{children:`continued_aligned_prompt`}),` → replace `,_jsx(_components.code,{children:`original_infill_lyrics`}),` with `,_jsx(_components.code,{children:`infill_lyrics`}),` in the original lyrics → original clip lyrics → `,_jsx(_components.strong,{children:`400`}),` if none exist.`]}),`\n`,_jsxs(_components.li,{children:[`Treats `,_jsx(_components.code,{children:`infill_type`}),` as deprecated. `,_jsx(_components.code,{children:`smart`}),` / `,_jsx(_components.code,{children:`classic`}),` / `,_jsx(_components.code,{children:`fixed`}),` all run as infill. Omit it.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Omit `,_jsx(_components.code,{children:`title`}),` / `,_jsx(_components.code,{children:`tags`}),` to keep the original song’s title and style. Optional: `,_jsx(_components.code,{children:`negative_tags`}),`, `,_jsx(_components.code,{children:`prompt`}),`, `,_jsx(_components.code,{children:`persona`}),`, `,_jsx(_components.code,{children:`max_mode`}),`, `,_jsx(_components.code,{children:`controls`}),`, `,_jsx(_components.code,{children:`vocal_gender`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{}),_jsx(_components.th,{children:_jsx(_components.code,{children:`replace_simple`})}),_jsx(_components.th,{children:_jsx(_components.code,{children:`replace_section`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Required`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`model`}),`, `,_jsx(_components.code,{children:`clip_id`}),`, `,_jsx(_components.code,{children:`range`})]}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`model`}),`, `,_jsx(_components.code,{children:`clip_id`}),`, `,_jsx(_components.code,{children:`range`}),`, `,_jsx(_components.code,{children:`infill_context_range`}),`, `,_jsx(_components.code,{children:`continued_aligned_prompt`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Context`}),_jsx(_components.td,{children:`Computed; anything you send is ignored`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Required`}),` — must encompass `,_jsx(_components.code,{children:`range`}),` (~30s around it)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Lyrics`}),_jsx(_components.td,{children:`Optional; filled in the order above`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`continued_aligned_prompt`}),` is the full song after replacement`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`range`})}),_jsx(_components.td,{children:`At least 4s after widening; max 120s`}),_jsxs(_components.td,{children:[`Use `,_jsx(_components.strong,{children:`at least 4s`}),` (shorter usually fails and is refunded)`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`original_infill_lyrics`}),` must appear in the original lyrics when you use it to swap one line.`]}),`\n`,_jsxs(Heading,{level:`2`,id:`task=create-custom-vs-simple`,children:[_jsx(_components.code,{children:`task=create`}),`: Custom vs Simple`]}),`\n`,_jsxs(_components.p,{children:[`Do `,_jsx(_components.strong,{children:`not`}),` send `,_jsx(_components.code,{children:`agentic_thinking`}),` or `,_jsx(_components.code,{children:`create_mode`}),`. Mode is inferred from the body.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Mode`}),_jsx(_components.th,{children:`When`}),_jsx(_components.th,{children:`What you send`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Custom`})}),_jsxs(_components.td,{children:[`Non-empty `,_jsx(_components.code,{children:`prompt`}),` (you write lyrics)`]}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`task`}),` + `,_jsx(_components.code,{children:`model`}),` + `,_jsx(_components.code,{children:`prompt`})]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Custom`}),` (fallback)`]}),_jsxs(_components.td,{children:[`Empty / omit `,_jsx(_components.code,{children:`prompt`}),`, and `,_jsx(_components.strong,{children:`none`}),` of the six Simple fields`]}),_jsx(_components.td,{children:`Stays Custom`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Simple`})}),_jsxs(_components.td,{children:[`Omit `,_jsx(_components.code,{children:`prompt`}),` (or `,_jsx(_components.code,{children:`\"\"`}),`), `,_jsxs(_components.strong,{children:[`no `,_jsx(_components.code,{children:`persona`})]}),`, and `,_jsx(_components.strong,{children:`at least one`}),` of: `,_jsx(_components.code,{children:`gpt_description_prompt`}),` / `,_jsx(_components.code,{children:`audio_refs`}),` / `,_jsx(_components.code,{children:`attached_styles`}),` / `,_jsx(_components.code,{children:`attached_lyrics`}),` / `,_jsx(_components.code,{children:`image_urls`}),` / `,_jsx(_components.code,{children:`video_url`})]}),_jsx(_components.td,{children:`Official Simple text box, optional reference songs, style, pinned lyrics, images, or one video`})]})]})]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Custom`}),_jsx(_components.th,{children:`Simple`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompt`})}),_jsx(_components.td,{children:`Lyrics (required to enter Custom)`}),_jsxs(_components.td,{children:[`Omit or `,_jsx(_components.code,{children:`\"\"`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`gpt_description_prompt`})}),_jsxs(_components.td,{children:[`Ignored if `,_jsx(_components.code,{children:`prompt`}),` has lyrics`]}),_jsxs(_components.td,{children:[`Official Simple idea box. May be `,_jsx(_components.code,{children:`\"\"`}),` if you only send refs, styles, pinned lyrics, images, or a video`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`audio_refs`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`HTTP 400`}),` if sent with `,_jsx(_components.code,{children:`prompt`}),` or `,_jsx(_components.code,{children:`persona`})]}),_jsxs(_components.td,{children:[`1–4 items. `,_jsx(_components.code,{children:`clip_id`}),` is enough`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`attached_styles`})}),_jsx(_components.td,{children:`Ignored`}),_jsx(_components.td,{children:`Optional style paragraph; alone or with the other Simple fields`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`attached_lyrics`})}),_jsxs(_components.td,{children:[`Ignored when `,_jsx(_components.code,{children:`prompt`}),` is non-empty`]}),_jsxs(_components.td,{children:[`Full lyrics while `,_jsx(_components.code,{children:`prompt`}),` stays empty, so the request stays Simple. Lyrics alone enter Simple. `,_jsx(_components.a,{href:`/api-reference/suno/generateCreate#pinned-lyrics`,children:`Create → Pinned lyrics`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`image_urls`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`HTTP 400`}),` if sent with `,_jsx(_components.code,{children:`prompt`}),`, `,_jsx(_components.code,{children:`persona`}),`, or any task other than `,_jsx(_components.code,{children:`create`})]}),_jsxs(_components.td,{children:[`1–5 jpeg or png URLs. Images alone enter Simple. `,_jsx(_components.a,{href:`/api-reference/suno/generateCreate#images`,children:`Create → Images`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`video_url`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`HTTP 400`}),` if sent with `,_jsx(_components.code,{children:`prompt`}),`, `,_jsx(_components.code,{children:`persona`}),`, or any task other than `,_jsx(_components.code,{children:`create`})]}),_jsxs(_components.td,{children:[`One mp4 URL. The video alone enters Simple. `,_jsx(_components.a,{href:`/api-reference/suno/generateCreate#video`,children:`Create → Video`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`persona`})}),_jsx(_components.td,{children:`Allowed`}),_jsxs(_components.td,{children:[`Must omit (else not Simple; `,_jsx(_components.code,{children:`audio_refs`}),`, `,_jsx(_components.code,{children:`image_urls`}),`, or `,_jsx(_components.code,{children:`video_url`}),` → 400)`]})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`audio_refs`}),`, `,_jsx(_components.code,{children:`image_urls`}),`, and `,_jsx(_components.code,{children:`video_url`}),` are `,_jsx(_components.strong,{children:`Simple only`}),`. Sending any of them with lyrics (`,_jsx(_components.code,{children:`prompt`}),`) or `,_jsx(_components.code,{children:`persona`}),` returns `,_jsx(_components.strong,{children:`HTTP 400`}),`. `,_jsx(_components.code,{children:`image_urls`}),` and `,_jsx(_components.code,{children:`video_url`}),` on any task other than `,_jsx(_components.code,{children:`create`}),` are also `,_jsx(_components.strong,{children:`400`}),`. A non-empty `,_jsx(_components.code,{children:`prompt`}),` ignores `,_jsx(_components.code,{children:`attached_lyrics`}),` and stays Custom.`]})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`audio_refs`}),` pick is `,_jsx(_components.strong,{children:`ByModel`}),` — clips do `,_jsx(_components.strong,{children:`not`}),` need to belong to the occupied pool account. Other-user official `,_jsx(_components.code,{children:`clip_id`}),`s are accepted; the result may be marked remix and commercial download may be disabled.`]}),`\n`,_jsx(Heading,{level:`3`,id:`audio_refs`,children:_jsx(_components.code,{children:`audio_refs[]`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Required`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`clip_id`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`Official clip id (usually a previous `,_jsx(_components.code,{children:`clips[].id`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`style_prompt`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Style / arrangement summary (official UI always sends it)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`lyrics`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Full lyrics of the reference clip`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`duration_s`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Reference duration in seconds`})]})]})]}),`\n`,_jsxs(Heading,{level:`2`,id:`speech-task=create-+-is_speech`,children:[`Speech (`,_jsx(_components.code,{children:`task=create`}),` + `,_jsx(_components.code,{children:`is_speech`}),`)`]}),`\n`,_jsxs(_components.p,{children:[`Full page: `,_jsx(_components.a,{href:`/api-reference/suno/generateSpeech`,children:`Speech`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Speech is still `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`task=create`})}),` (same billing). Omit `,_jsx(_components.code,{children:`is_speech`}),` for a normal song. `,_jsx(_components.code,{children:`is_speech`}),` and `,_jsx(_components.code,{children:`backing_music`}),` only take effect when `,_jsx(_components.code,{children:`true`}),`, and only on `,_jsx(_components.code,{children:`create`}),`. Official captures use `,_jsx(_components.code,{children:`chirp-v6-mini`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Form`}),_jsx(_components.th,{children:`What you send`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Write the script`})}),_jsxs(_components.td,{children:[`Non-empty `,_jsx(_components.code,{children:`prompt`}),` = words to speak. `,_jsx(_components.code,{children:`tags`}),` = voice style. `,_jsx(_components.code,{children:`vocal_gender`}),` `,_jsx(_components.code,{children:`m`}),` / `,_jsx(_components.code,{children:`f`}),`. `,_jsx(_components.code,{children:`backing_music: true`}),` adds a music bed. `,_jsx(_components.code,{children:`controls.aug_creativity`}),` is Variety (`,_jsx(_components.code,{children:`4`}),` = max)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Idea only`})}),_jsxs(_components.td,{children:[`Omit `,_jsx(_components.code,{children:`prompt`}),` and `,_jsx(_components.code,{children:`persona`}),`. Put the idea in `,_jsx(_components.code,{children:`gpt_description_prompt`}),`. Leave `,_jsx(_components.code,{children:`backing_music`}),` unset unless you want a music bed`]})]})]})]}),`\n`,_jsxs(Heading,{level:`2`,id:`sounds-task=sound`,children:[`Sounds (`,_jsx(_components.code,{children:`task=sound`}),`)`]}),`\n`,_jsxs(_components.p,{children:[`Full page: `,_jsx(_components.a,{href:`/api-reference/suno/generateSound`,children:`Sounds`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Required: `,_jsx(_components.code,{children:`sound.description`}),`. Model `,_jsx(_components.code,{children:`chirp-v6`}),`. Always instrumental. `,_jsx(_components.code,{children:`prompt`}),` and `,_jsx(_components.code,{children:`tags`}),` you send are `,_jsx(_components.strong,{children:`overwritten`}),`. `,_jsx(_components.code,{children:`max_mode`}),` is `,_jsx(_components.strong,{children:`rejected`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Sounds UI`}),_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Sent upstream`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Sound box`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`sound.description`})}),_jsxs(_components.td,{children:[`Official `,_jsx(_components.code,{children:`tags`}),` (unchanged). Title = each word capitalized, cut at 80 characters with `,_jsx(_components.code,{children:`...`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Advanced → Type`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`sound.type`}),`: `,_jsx(_components.code,{children:`one_shot`}),` or `,_jsx(_components.code,{children:`loop`})]}),_jsxs(_components.td,{children:[`Only `,_jsx(_components.code,{children:`loop`}),` sets `,_jsx(_components.code,{children:`sound_configs.user_loop: true`}),`. Omit / `,_jsx(_components.code,{children:`one_shot`}),` leaves it unset`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Advanced → Key`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`sound.key`})}),_jsxs(_components.td,{children:[_jsx(_components.a,{href:`/api-reference/suno/generateSound#key`,children:`Full list`}),`. Omit = Any (`,_jsx(_components.code,{children:`user_key`}),` not sent)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Advanced → BPM`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`sound.bpm`}),` 1–300`]}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`sound_configs.user_tempo`}),`. Omit = Auto`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Key needs a space: `,_jsx(_components.code,{children:`\"G maj\"`}),`, not `,_jsx(_components.code,{children:`Gmaj`}),` or `,_jsx(_components.code,{children:`G major`}),`. Values outside the `,_jsx(_components.a,{href:`/api-reference/suno/generateSound#key`,children:`key list`}),` return `,_jsx(_components.strong,{children:`400`}),`. `,_jsx(_components.code,{children:`\"G\"`}),` and `,_jsx(_components.code,{children:`\"G maj\"`}),` both become `,_jsx(_components.code,{children:`user_key: \"G\"`}),`. `,_jsx(_components.code,{children:`\"A min\"`}),` becomes `,_jsx(_components.code,{children:`\"Am\"`}),`. Natural notes are sent as-is. Major drops `,_jsx(_components.code,{children:` maj`}),`; minor replaces `,_jsx(_components.code,{children:` min`}),` with `,_jsx(_components.code,{children:`m`}),`. The 12 notes are C, C#, D, D#, E, F, F#, G, G#, A, A#, B — each as a natural, `,_jsx(_components.code,{children:` maj`}),`, and `,_jsx(_components.code,{children:` min`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Loop + G major + BPM Auto → `,_jsx(_components.code,{children:`sound_configs`}),` `,_jsx(_components.code,{children:`{ \"user_key\": \"G\", \"user_loop\": true }`}),`. Add `,_jsx(_components.code,{children:`bpm: 120`}),` to also send `,_jsx(_components.code,{children:`user_tempo: 120`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`common-parameters`,children:`Common Parameters`}),`\n`,_jsx(_components.p,{children:`These parameters are shared across most task types:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Parameter`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`task`})}),_jsx(_components.td,{children:`string`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Required`}),`. The task type (see table above)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`model`})}),_jsx(_components.td,{children:`string`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Required`}),`. New: `,_jsx(_components.code,{children:`chirp-v6`}),` (v6 Pro), `,_jsx(_components.code,{children:`chirp-v6-mini`}),`, `,_jsx(_components.code,{children:`chirp-v6-wild`}),`. Legacy names (`,_jsx(_components.code,{children:`chirp-v55`}),` and older) are still accepted and always auto-converted to v6 Pro. Custom: `,_jsx(_components.code,{children:`chirp-custom:\u003cuuid>`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`prompt`})}),_jsx(_components.td,{children:`string`}),_jsxs(_components.td,{children:[`Custom lyrics. On `,_jsx(_components.code,{children:`create`}),`, non-empty → Custom`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`gpt_description_prompt`})}),_jsx(_components.td,{children:`string`}),_jsxs(_components.td,{children:[`Simple idea box. On `,_jsx(_components.code,{children:`create`}),`, helps enter Simple when `,_jsx(_components.code,{children:`prompt`}),` is empty. Also used by `,_jsx(_components.code,{children:`mashup`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`audio_refs`})}),_jsx(_components.td,{children:`object[]`}),_jsxs(_components.td,{children:[`Simple only. 1–4 reference songs (`,_jsx(_components.code,{children:`clip_id`}),` required)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`attached_styles`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Simple only. Written style brief`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`attached_lyrics`})}),_jsx(_components.td,{children:`string`}),_jsxs(_components.td,{children:[`Simple only. Full lyrics while `,_jsx(_components.code,{children:`prompt`}),` stays empty`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`image_urls`})}),_jsx(_components.td,{children:`string[]`}),_jsx(_components.td,{children:`Simple only. 1–5 jpeg or png URLs. The server uploads them on the account selected for this generate`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`video_url`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Simple only. One mp4 URL, at most 500MB. The server uploads it on the account selected for this generate`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tags`})}),_jsx(_components.td,{children:`string | string[]`}),_jsxs(_components.td,{children:[`Style tags (e.g., `,_jsx(_components.code,{children:`\"Pop, Happy, Upbeat\"`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`negative_tags`})}),_jsx(_components.td,{children:`string | string[]`}),_jsxs(_components.td,{children:[`Official `,_jsx(_components.strong,{children:`Exclude styles`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`title`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Song title`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`make_instrumental`})}),_jsx(_components.td,{children:`boolean`}),_jsxs(_components.td,{children:[`Generate without vocals (default: `,_jsx(_components.code,{children:`false`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`vocal_gender`})}),_jsx(_components.td,{children:`string`}),_jsxs(_components.td,{children:[`Official `,_jsx(_components.strong,{children:`Vocal Gender`}),`: `,_jsx(_components.code,{children:`\"m\"`}),` / `,_jsx(_components.code,{children:`\"f\"`}),`. Omit = no preference. Also used by Speech`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`is_speech`})}),_jsx(_components.td,{children:`boolean`}),_jsxs(_components.td,{children:[_jsxs(_components.strong,{children:[_jsx(_components.code,{children:`create`}),` only.`]}),` `,_jsx(_components.code,{children:`true`}),` = spoken audio, not a song. Omit / `,_jsx(_components.code,{children:`false`}),` = normal song (field not sent). Billing stays `,_jsx(_components.code,{children:`create`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`backing_music`})}),_jsx(_components.td,{children:`boolean`}),_jsxs(_components.td,{children:[_jsxs(_components.strong,{children:[_jsx(_components.code,{children:`create`}),` only.`]}),` Music under the voice. Use with `,_jsx(_components.code,{children:`is_speech`}),`. Omit / `,_jsx(_components.code,{children:`false`}),` = not sent`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`max_mode`})}),_jsx(_components.td,{children:`boolean`}),_jsxs(_components.td,{children:[`Official `,_jsx(_components.strong,{children:`Max Mode`}),`. `,_jsx(_components.code,{children:`true`}),` = `,_jsx(_components.strong,{children:`2×`}),` billing. Omit / `,_jsx(_components.code,{children:`false`}),` = current price. `,_jsx(_components.code,{children:`true`}),` on `,_jsx(_components.code,{children:`gen_stem_*`}),` / `,_jsx(_components.code,{children:`sound`}),` returns `,_jsx(_components.strong,{children:`HTTP 400`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`use_personalization`})}),_jsx(_components.td,{children:`boolean`}),_jsxs(_components.td,{children:[`Official `,_jsx(_components.strong,{children:`Personalize / My Taste`}),`. Effect not guaranteed. Omit / `,_jsx(_components.code,{children:`false`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`controls`})}),_jsx(_components.td,{children:`object`}),_jsx(_components.td,{children:`Official More Options sliders — see below`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`persona`})}),_jsx(_components.td,{children:`object`}),_jsxs(_components.td,{children:[`Vocal persona — see `,_jsx(_components.a,{href:`/api-reference/suno/persona-introduction`,children:`Persona overview`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`stem_control_tags`})}),_jsx(_components.td,{children:`string`}),_jsxs(_components.td,{children:[_jsxs(_components.strong,{children:[_jsx(_components.code,{children:`add_stems`}),` only.`]}),` Optional; default `,_jsx(_components.code,{children:`\"add \"`})]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Official Create form mapping (Max Mode, Variety, Duration, …): `,_jsx(_components.a,{href:`/api-reference/suno/create-options`,children:`Create Options`}),`.`]}),`\n`,_jsxs(Heading,{level:`3`,id:`persona-object`,children:[_jsx(_components.code,{children:`persona`}),` object`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`persona_id`})}),_jsx(_components.td,{children:`string`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Required.`}),` ID from Clip Persona, Clone Voice, or Init+Complete`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`artist_clip_id`})}),_jsx(_components.td,{children:`string`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Required for Clip Persona.`}),` Optional for Voice Persona (`,_jsx(_components.code,{children:`is_voice: true`}),`) — `,_jsx(_components.code,{children:`persona_id`}),` alone selects task vox`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`artist_start_s`}),` / `,_jsx(_components.code,{children:`artist_end_s`})]}),_jsx(_components.td,{children:`number`}),_jsx(_components.td,{children:`Optional vocal range on the clip (seconds). Omit = whole clip`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`persona_style`})}),_jsx(_components.td,{children:`string`}),_jsxs(_components.td,{children:[`Only `,_jsx(_components.code,{children:`\"vox\"`}),` on chirp-v50+`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`is_voice`})}),_jsx(_components.td,{children:`boolean`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`true`}),` for Voice Persona (Clone Voice or Init+Complete). Clip Persona stays `,_jsx(_components.code,{children:`false`})]})]})]})]}),`\n`,_jsxs(Heading,{level:`3`,id:`controls-object`,children:[_jsx(_components.code,{children:`controls`}),` object`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Official UI`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`style_weight`})}),_jsx(_components.td,{children:`number`}),_jsx(_components.td,{children:`Style Influence`}),_jsx(_components.td,{children:`0~1`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`weirdness_constraint`})}),_jsx(_components.td,{children:`number`}),_jsx(_components.td,{children:`Weirdness`}),_jsx(_components.td,{children:`0~1; higher = more experimental`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`aug_creativity`})}),_jsx(_components.td,{children:`number`}),_jsx(_components.td,{children:`Variety`}),_jsxs(_components.td,{children:[`Integer `,_jsx(_components.strong,{children:`0~4`}),`. `,_jsx(_components.code,{children:`2`}),` = Normal, `,_jsx(_components.code,{children:`4`}),` = max. Omit = official default`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`audio_weight`})}),_jsx(_components.td,{children:`number`}),_jsx(_components.td,{children:`(cover / extend)`}),_jsx(_components.td,{children:`Original-audio influence 0~1`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`duration`})}),_jsx(_components.td,{children:`number`}),_jsx(_components.td,{children:`Duration Custom`}),_jsxs(_components.td,{children:[`Seconds `,_jsx(_components.strong,{children:`10~360`}),`. Auto = omit. `,_jsx(_components.strong,{children:`chirp-v55 / chirp-v6+`}),`; older / `,_jsx(_components.code,{children:`chirp-custom:*`}),` ignore`]})]})]})]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`15`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"task\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"create\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"model\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"chirp-v6\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"prompt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"[Verse]`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:`\\\\n`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`Hello world...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"tags\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Pop, Happy\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"negative_tags\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Sad, Slow\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"vocal_gender\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"f\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"max_mode\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"controls\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"style_weight\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.29`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"weirdness_constraint\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0.37`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"aug_creativity\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"duration\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`110`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`examples`,children:`Examples`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Custom — write lyrics`,numberOfLines:`10`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.mountsea.ai/suno/v2/generate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer your-api-key\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"task\": \"create\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"chirp-v6\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"prompt\": \"[Verse]\\\\nSunshine on my face today\\\\nDriving down the coast away\\\\n\\\\n[Chorus]\\\\nSummer vibes, feeling free\\\\nThis is where I want to be\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tags\": \"Pop, Happy, Upbeat\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"title\": \"Summer Vibes\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Simple — idea only`,numberOfLines:`8`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.mountsea.ai/suno/v2/generate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer your-api-key\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"task\": \"create\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"chirp-v6\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"gpt_description_prompt\": \"Emotive bossa nova song about the silence after a fight\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Simple — idea + reference songs`,numberOfLines:`9`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.mountsea.ai/suno/v2/generate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer your-api-key\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"task\": \"create\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"chirp-v6\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"gpt_description_prompt\": \"Rework this as progressive rock\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"audio_refs\": [{ \"clip_id\": \"3e7e9538-c474-45a7-8181-3da327bd654b\" }]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Simple — idea + images`,numberOfLines:`9`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.mountsea.ai/suno/v2/generate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer your-api-key\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"task\": \"create\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"chirp-v6\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"gpt_description_prompt\": \"Score this as neo-soul\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"image_urls\": [\"https://example.com/cover.jpg\"]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Simple — pinned lyrics`,numberOfLines:`10`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.mountsea.ai/suno/v2/generate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer your-api-key\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"task\": \"create\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"chirp-v6\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"gpt_description_prompt\": \"圣诞节快乐\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"attached_lyrics\": \"[Chorus]\\\\n新年快乐\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"attached_styles\": \"cinematic pop ballad, 72 BPM\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Simple — reference video`,numberOfLines:`8`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.mountsea.ai/suno/v2/generate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer your-api-key\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"task\": \"create\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"chirp-v6\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"video_url\": \"https://example.com/clip.mp4\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Extend Music`,numberOfLines:`10`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.mountsea.ai/suno/v2/generate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer your-api-key\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"task\": \"extend\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"chirp-v6\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"clip_id\": \"clip_abc123\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"continue_at\": 30,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tags\": \"Pop, Happy\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Simple replace`,numberOfLines:`11`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.mountsea.ai/suno/v2/generate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer your-api-key\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"task\": \"replace_simple\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"chirp-v6\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"clip_id\": \"3e7e9538-c474-45a7-8181-3da327bd654b\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"range\": { \"start_s\": 30, \"end_s\": 45 },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"infill_lyrics\": \"New line for this part\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"original_infill_lyrics\": \"Old line for this part\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Add Stems`,numberOfLines:`9`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.mountsea.ai/suno/v2/generate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer your-api-key\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"task\": \"add_stems\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"chirp-v6\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"clip_id\": \"clip_abc123\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"stem_control_tags\": \"add \"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Speech — write the script`,numberOfLines:`13`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`13`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.mountsea.ai/suno/v2/generate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer your-api-key\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"task\": \"create\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"chirp-v6-mini\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"prompt\": \"一张照片,一首歌,一支专属 MV。\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tags\": \"温暖女声,吐字清晰,语速中等偏慢\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"vocal_gender\": \"f\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"is_speech\": true,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"backing_music\": true,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"controls\": { \"aug_creativity\": 4 }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Speech — idea only`,numberOfLines:`10`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.mountsea.ai/suno/v2/generate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer your-api-key\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"task\": \"create\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"chirp-v6-mini\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"gpt_description_prompt\": \"A fiery halftime locker-room speech\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"vocal_gender\": \"f\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"is_speech\": true`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Sounds — loop, G major, BPM Auto`,numberOfLines:`12`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.mountsea.ai/suno/v2/generate`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer your-api-key\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"task\": \"sound\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"chirp-v6\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"sound\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"description\": \"Fast cinematic whoosh transition, airy stereo sweep, soft bass hit at the end\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"type\": \"loop\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"key\": \"G maj\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`task=inspiration`})}),` requires a real `,_jsx(_components.code,{children:`playlist_id`}),` from `,_jsx(_components.a,{href:`/api-reference/suno/playlistCreate`,children:`Create Playlist`}),`. The legacy pattern `,_jsx(_components.code,{children:`playlist_id: \"inspiration\"`}),` with `,_jsx(_components.code,{children:`playlist_clip_ids`}),` is `,_jsx(_components.strong,{children:`deprecated`}),`. See the `,_jsx(_components.a,{href:`/api-reference/suno/inspiration`,children:`Inspiration workflow`}),`.`]})}),`\n`,_jsxs(Tip,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Not sure which parameters to pass?`}),` Call `,_jsx(_components.code,{children:`GET /suno/v2/generate/schema?task=your_task`}),` — it returns the required fields, optional fields, not-allowed fields, and a complete request example for each task type.`]}),_jsx(_components.p,{children:_jsx(_components.a,{href:`/api-reference/suno/generateSchema`,children:`Try Generate Schema →`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Generate Music","description":"Generate, extend, cover, mashup and more — the unified music generation endpoint","openapi":"POST /suno/v2/generate","href":"/api-reference/suno/generate"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Quick Start","slug":"quick-start","depth":2,"children":[]},{"title":"Task Types Overview","slug":"task-types-overview","depth":2,"children":[]},{"title":"replace_simple vs replace_section","slug":"replace_simple-vs-replace_section","depth":2,"children":[]},{"title":"task=create: Custom vs Simple","slug":"task=create-custom-vs-simple","depth":2,"children":[{"title":"audio_refs[]","slug":"audio_refs","depth":3,"children":[]}]},{"title":"Speech (task=create + is_speech)","slug":"speech-task=create-+-is_speech","depth":2,"children":[]},{"title":"Sounds (task=sound)","slug":"sounds-task=sound","depth":2,"children":[]},{"title":"Common Parameters","slug":"common-parameters","depth":2,"children":[{"title":"persona object","slug":"persona-object","depth":3,"children":[]},{"title":"controls object","slug":"controls-object","depth":3,"children":[]}]},{"title":"Examples","slug":"examples","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/mountsea/faec55959f7db319/scripts/build-api-navigation.js","/_mintlify/custom/mountsea/25b5626e55964dfb/scripts/fix-mountsea-openapi.js","/_mintlify/custom/mountsea/2fb86a23f9064637/scripts/gen-mountsea-pages.js"],"openApiReferenceData":{"operation":{"description":"Generate, extend, cover, mashup and more — the unified music generation endpoint","operationId":"ApiPublicController_generate","parameters":[],"requestBody":"89d153e3-fab7-4434-93e2-92e481d2ceff","responses":{"201":"17a4fc66-940c-47e3-8975-c4206b117cfd"},"summary":"generate or extend music","tags":["suno"],"security":["1a5ac0a6-9024-4865-bf32-5b6e9b7b3841"],"method":"post","type":"path","servers":["deaabed0-c872-4745-a9ca-e4adaa1df88b"],"path":"/suno/v2/generate","baseUrlOptions":["https://api.mountsea.ai"],"title":"generate or extend music","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"task":{"enum":["create","extend","upload_extend","upload_cover","cover","use_styles_lyrics","replace_section","add_instrumental","add_vocals","gen_stem_two","gen_stem_all","mashup","sample","inspiration","sound","add_stems","replace_simple"],"type":"string","description":"Task type. Use GET /generate/schema?task=xxx to query required fields for each task. replace_simple = replace_section where the server computes infill_context_range / mode / lyrics from clip_id + range.","example":"create","isRequired":true,"uniqueKey":"task","typeLabel":"enum\u003cstring>"},"model":{"type":"string","description":"Model version. New: chirp-v6 (v6 Pro), chirp-v6-mini, chirp-v6-wild. Legacy names (chirp-v55 / chirp-v50 / chirp-v45 / chirp-45+ / chirp-v45-lite / chirp-v40 / chirp-v35) are still accepted and always auto-converted to v6 Pro. Custom: chirp-custom:\u003cuuid>.","example":"chirp-v6","isRequired":true,"uniqueKey":"model","typeLabel":"string"},"make_instrumental":{"type":"boolean","default":false,"description":"Whether to make instrumental (no vocals). [Optional: all tasks]","example":false,"uniqueKey":"make_instrumental","typeLabel":"boolean"},"prompt":{"type":"string","description":"Lyrics (official Custom). [Optional]\ntask=create + non-empty prompt → Custom (you write lyrics).\ntask=create + empty/omit prompt is Simple ONLY if you also send gpt_description_prompt and/or audio_refs and/or attached_styles and/or attached_lyrics (and no persona).\nEmpty prompt with none of those three fields stays Custom.\nDo not send lyrics together with audio_refs (400).\nreplace_section: lyrics inside infill_context_range.","example":"[Verse]\nHello world, here I come...\n\n[Chorus]\nLa la la...","uniqueKey":"prompt","typeLabel":"string"},"continued_aligned_prompt":{"type":"string","description":"Full song lyrics after replacement. [Required: replace_section] [Optional: replace_simple] Contains the complete lyrics of the entire song with the replaced section updated. replace_simple: omit to reuse the original clip lyrics (or the splice of original_infill_lyrics → infill_lyrics); returns 400 when the original lyrics cannot be found either.","example":"[Verse 1]\nOriginal lyrics...\n\n[Chorus]\nNew replaced lyrics...\n\n[Verse 2]\nMore lyrics...","uniqueKey":"continued_aligned_prompt","typeLabel":"string"},"infill_lyrics":{"type":"string","description":"Lyrics for the replaced section only. [Optional: replace_section, replace_simple] The specific lyrics within the range being replaced.","example":"[Bridge]\nThis is the new bridge section\nWith updated lyrics...","uniqueKey":"infill_lyrics","typeLabel":"string"},"original_infill_lyrics":{"type":"string","description":"Original lyrics inside the selected range. [Optional: replace_simple] When continued_aligned_prompt is omitted, the server replaces this text with infill_lyrics in the original clip lyrics.","example":"Old bridge line","uniqueKey":"original_infill_lyrics","typeLabel":"string"},"gpt_description_prompt":{"type":"string","description":"Natural-language song idea (official Simple text box). [Optional]\ntask=create + empty/omit prompt + this non-empty field + no persona → Simple.\nMay be \"\" if you only send audio_refs and/or attached_styles and/or attached_lyrics.\nIgnored when prompt has lyrics (Custom). Also used by mashup.","example":"Emotive bossa nova song about the silence after a fight","uniqueKey":"gpt_description_prompt","typeLabel":"string"},"tags":{"oneOf":[{"type":"string","description":"Style tags. Supports string or array. [Optional: all tasks]","example":"Pop, Happy, Upbeat","uniqueKey":"tags.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"tags.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Style tags. Supports string or array. [Optional: all tasks]","example":["Pop","Happy","Upbeat"],"uniqueKey":"tags.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"tags","typeLabel":"string | string[]"},"negative_tags":{"oneOf":[{"type":"string","description":"Official Create form → More Options → \"Exclude styles\". Mapped to top-level negative_tags. [Optional: all tasks]","example":"Sad, Slow","uniqueKey":"negative_tags.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"negative_tags.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Official Create form → More Options → \"Exclude styles\". Mapped to top-level negative_tags. [Optional: all tasks]","example":["Sad","Slow"],"uniqueKey":"negative_tags.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"negative_tags","typeLabel":"string | string[]"},"title":{"type":"string","description":"Song title. [Optional: all tasks]","example":"Summer Vibes","uniqueKey":"title","typeLabel":"string"},"clip_id":{"type":"string","description":"Source clip ID. [Required: extend, cover, use_styles_lyrics, replace_section, replace_simple, add_instrumental, add_vocals, gen_stem_*, add_stems, sample]","example":"clip_abc123","uniqueKey":"clip_id","typeLabel":"string"},"continue_at":{"type":"number","minimum":0,"description":"Continue position in seconds. [Optional: extend, upload_extend]","example":30,"uniqueKey":"continue_at","typeLabel":"number"},"range":{"type":"object","description":"Target range { start_s, end_s }. [Required: replace_section, replace_simple, sample] For replace_section: the section to replace (use at least 4 seconds; shorter selections usually fail and are refunded by Suno). For replace_simple: the selection to replace; the server snaps it to a 40ms grid, widens it to at least 4s around its center, and builds the context window. For sample: the time range to sample from source clip.","required":["start_s","end_s"],"example":{"start_s":15.36,"end_s":53.8},"properties":{"start_s":{"type":"number","minimum":0,"description":"Start time in seconds.","example":10,"isRequired":true,"uniqueKey":"range.start_s","typeLabel":"number"},"end_s":{"type":"number","minimum":0,"description":"End time in seconds. Must be >= start_s.","example":25,"isRequired":true,"uniqueKey":"range.end_s","typeLabel":"number"}},"uniqueKey":"range","typeLabel":"object"},"infill_type":{"type":"string","enum":["smart","classic","fixed"],"description":"Infill mode. [Optional: replace_section, replace_simple] DEPRECATED: Suno no longer supports fixed_infill, so smart / classic / fixed all run as infill on every model. Still accepted for backward compatibility; you can omit it.","example":"smart","uniqueKey":"infill_type","typeLabel":"enum\u003cstring>"},"infill_context_range":{"type":"object","description":"Infill context range (must encompass range). [Required: replace_section] [Ignored: replace_simple — computed by the server] Should extend ~30s before range.start_s and ~30s after range.end_s. If range starts within first 30s, use 0 for start_s. If range ends within last 30s of song, use song duration for end_s.","required":["start_s","end_s"],"example":{"start_s":0,"end_s":69.16},"properties":{"start_s":{"type":"number","minimum":0,"description":"Start time in seconds.","example":10,"isRequired":true,"uniqueKey":"infill_context_range.start_s","typeLabel":"number"},"end_s":{"type":"number","minimum":0,"description":"End time in seconds. Must be >= start_s.","example":25,"isRequired":true,"uniqueKey":"infill_context_range.end_s","typeLabel":"number"}},"uniqueKey":"infill_context_range","typeLabel":"object"},"persona":{"type":"object","description":"Artist persona config for style mimicking. [Optional: create, cover, extend, replace_section, replace_simple]","required":["persona_id"],"example":{"persona_id":"persona_xyz789","artist_clip_id":"clip_abc123","persona_style":"vox"},"properties":{"persona_id":{"type":"string","description":"Persona/timbre ID.","example":"persona_xyz789","isRequired":true,"uniqueKey":"persona.persona_id","typeLabel":"string"},"artist_clip_id":{"type":"string","description":"Official vocal/root clip. Optional for voice personas (is_voice=true): persona_id alone selects task vox. Required together with persona_id for a regular persona. After /voices or /voicePersona/complete, copy artist_clip_id from that task result when present.","example":"clip_abc123","uniqueKey":"persona.artist_clip_id","typeLabel":"string"},"persona_style":{"type":"string","description":"Persona style. Only \"vox\" supported for chirp-v50+.","example":"vox","default":null,"enum":["vox"],"uniqueKey":"persona.persona_style","typeLabel":"enum\u003cstring>"},"is_voice":{"type":"boolean","default":false,"description":"Whether this is a voice persona (created via /voicePersona/init+complete with voice recording). Voice personas are bound to a specific account by voiceprint and MUST be used on the same account that created them. Regular personas (created via /persona) are not account-bound and can be used by any account. Default: false (regular persona).","example":false,"uniqueKey":"persona.is_voice","typeLabel":"boolean"},"artist_start_s":{"type":"number","description":"Vocal clip start in seconds. Omit to use the whole clip (sent as null). Same meaning as the old platform artist_start_s.","example":0,"uniqueKey":"persona.artist_start_s","typeLabel":"number"},"artist_end_s":{"type":"number","description":"Vocal clip end in seconds. Omit to use the whole clip (sent as null). Same meaning as the old platform artist_end_s.","example":30,"uniqueKey":"persona.artist_end_s","typeLabel":"number"}},"uniqueKey":"persona","typeLabel":"object"},"controls":{"type":"object","description":"Official Create form → More Options sliders. style_weight = Style Influence (0~1); weirdness_constraint = Weirdness (0~1); aug_creativity = Variety (0~4 int, 2=Normal, 4=max); audio_weight = reference-audio influence (cover/extend, 0~1); duration = Duration Custom in seconds (10~360, chirp-v55+). Omit unused keys.","example":{"style_weight":0.29,"weirdness_constraint":0.37,"aug_creativity":2,"duration":110},"properties":{"style_weight":{"type":"number","minimum":0,"maximum":1,"description":"Official Create form → More Options → \"Style Influence\" (0~1). Mapped to metadata.control_sliders.style_weight. How strongly style tags affect the song.","example":0.5,"uniqueKey":"controls.style_weight","typeLabel":"number"},"audio_weight":{"type":"number","minimum":0,"maximum":1,"description":"Audio weight (0~1). Controls how much original audio influences generation.","example":0.5,"uniqueKey":"controls.audio_weight","typeLabel":"number"},"weirdness_constraint":{"type":"number","minimum":0,"maximum":1,"description":"Official Create form → More Options → \"Weirdness\" (0~1). Mapped to metadata.control_sliders.weirdness_constraint. Higher = more experimental.","example":0.3,"uniqueKey":"controls.weirdness_constraint","typeLabel":"number"},"duration":{"type":"number","minimum":10,"maximum":360,"description":"Official Create form → \"Duration\" Custom (seconds, 10~360). Auto = omit this field. Grouped with More Options on suno.com; mapped to top-level generate `duration`. Supported on chirp-v55+; older models / chirp-custom:* silently ignore this field.","example":120,"uniqueKey":"controls.duration","typeLabel":"number"},"aug_creativity":{"type":"number","minimum":0,"maximum":4,"description":"Official Create form → More Options → \"Variety\" (integer 0~4). Mapped to metadata.control_sliders.aug_creativity. 2 = Normal (default on suno.com), 4 = slider pulled to maximum. Omit to leave official default.","example":2,"uniqueKey":"controls.aug_creativity","typeLabel":"number"}},"uniqueKey":"controls","typeLabel":"object"},"vocal_gender":{"type":"string","enum":["m","f"],"description":"Official Create form → More Options → \"Vocal Gender\" (Male=m, Female=f). Mapped to metadata.vocal_gender. Omit for no preference.","example":"m","uniqueKey":"vocal_gender","typeLabel":"enum\u003cstring>"},"is_speech":{"type":"boolean","description":"Speech tab. [Optional: create only] true = this create is spoken audio, not a song. Mapped to metadata.is_speech. Omit or false = normal song; the field is not sent. Ignored on every task except create. Billing stays task=create.\n\nAdvanced (you write the script): task=create, non-empty prompt = the words to speak, tags = voice style (pace, tone, \"no whisper\"), vocal_gender m|f, is_speech true, backing_music true if a music bed should sit under the voice. controls.aug_creativity is Variety (0–4, 4 = max).\n\nSimple (idea only): task=create, omit prompt and persona, put the idea in gpt_description_prompt, set is_speech true and vocal_gender. The server sends this as the official Simple mode. Leave backing_music unset unless you want a music bed.","example":true,"uniqueKey":"is_speech","typeLabel":"boolean"},"backing_music":{"type":"boolean","description":"Speech tab → music under the voice. [Optional: create only] true maps to metadata.backing_music. Use with is_speech on the advanced script form. Omit or false = not sent. Ignored unless task=create.","example":true,"uniqueKey":"backing_music","typeLabel":"boolean"},"audio_url":{"type":"string","format":"uri","description":"Audio URL for upload tasks. [Required: upload_extend, upload_cover]","example":"https://example.com/audio.mp3","uniqueKey":"audio_url","typeLabel":"string\u003curi>"},"mashup_clip_ids":{"description":"Two clip IDs for mashup [clip_a, clip_b]. [Required: mashup]","example":["clip_abc123","clip_def456"],"type":"array","items":{"type":"string","uniqueKey":"mashup_clip_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"mashup_clip_ids","typeLabel":"string[]"},"playlist_id":{"type":"string","description":"Suno playlist ID. [Required: inspiration] Must be obtained via /playlist/create → /playlist/addClips before calling /generate. Add inspiration clips (1–4, same account) to the playlist first. When combined with persona (vox_playlist_condition), the playlist must exist on the same account as the persona.","example":"119573ff-8e48-4fe6-9029-39c76c9a5597","uniqueKey":"playlist_id","typeLabel":"string"},"sound":{"type":"object","description":"Sounds tab. [Required: task=sound] model chirp-v6. Always instrumental. prompt and tags you send are overwritten.\n\nMaps to the Sounds form: description = the Sound box; type = Advanced Type (one_shot | loop); key = Advanced Key; bpm = Advanced BPM.\n\nOfficial payload: tags = description only. Loop, key, and BPM go in metadata.sound_configs:\n1. user_loop=true — only when type is \"loop\".\n2. user_key — \"G\" and \"G maj\" both become \"G\"; \"G min\" becomes \"Gm\". Omit key for Any.\n3. user_tempo — only when bpm is set. Omit bpm for Auto.\nTitle is the description with each word capitalized, cut at 80 characters (\"...\" fills the last 3).\n\nLoop + G major + BPM Auto → sound_configs { user_key: \"G\", user_loop: true }.\nLoop + G + BPM 120 → { user_loop: true, user_key: \"G\", user_tempo: 120 }.\nmax_mode is rejected on sound.","required":["description"],"example":{"description":"Fast cinematic whoosh transition, airy stereo sweep, soft bass hit at the end, clean and short, no reverb tail mush","type":"loop","key":"G maj"},"properties":{"description":{"type":"string","description":"What the sound is. Required. Sent as official tags unchanged. Also becomes the title: each word capitalized, cut at 80 characters with \"...\". Do not also send top-level tags or prompt for task=sound; the server overwrites both.","example":"Fast cinematic whoosh transition, airy stereo sweep, soft bass hit at the end, clean and short, no reverb tail mush","isRequired":true,"uniqueKey":"sound.description","typeLabel":"string"},"type":{"type":"string","enum":["one_shot","loop"],"description":"Sounds form → Advanced → Type. \"loop\" sets metadata.sound_configs.user_loop=true. \"one_shot\" (or omit) leaves it unset. Default one_shot.","example":"one_shot","uniqueKey":"sound.type","typeLabel":"enum\u003cstring>"},"key":{"type":"string","enum":["C","C maj","C min","C#","C# maj","C# min","D","D maj","D min","D#","D# maj","D# min","E","E maj","E min","F","F maj","F min","F#","F# maj","F# min","G","G maj","G min","G#","G# maj","G# min","A","A maj","A min","A#","A# maj","A# min","B","B maj","B min"],"description":"Sounds form → Advanced → Key. Omit for Any (user_key is not sent). \"G\" and \"G maj\" are both sent as user_key \"G\". \"G min\" is sent as \"Gm\". Same pattern for C C# D D# E F F# G G# A A# B. A space is required before maj/min.","example":"A min","uniqueKey":"sound.key","typeLabel":"enum\u003cstring>"},"bpm":{"type":"number","minimum":1,"maximum":300,"description":"Sounds form → Advanced → BPM (1–300). Omit for Auto (user_tempo is not sent). When set, metadata.sound_configs.user_tempo is the number, e.g. 120.","example":2,"uniqueKey":"sound.bpm","typeLabel":"number"}},"uniqueKey":"sound","typeLabel":"object"},"stem_control_tags":{"type":"string","description":"Stem control tags for add_stems. [Optional: add_stems] Default \"add \".","example":"add ","uniqueKey":"stem_control_tags","typeLabel":"string"},"max_mode":{"type":"boolean","description":"Official Create form → \"Max Mode\" (also in More Options). Mapped to metadata.is_max_mode. Uses more compute for consistency throughout the song. Costs 2x official-account credits. User billing is 2x via a platform param_cost_rule matching max_mode=true. Default omitted/false = current pricing (no change). Rejected on gen_stem_* and sound (HTTP 400).","example":false,"default":false,"uniqueKey":"max_mode","typeLabel":"boolean"},"use_personalization":{"type":"boolean","description":"Official Create form → More Options → \"Personalize\" / \"My Taste\". Mapped to top-level use_personalization. Uses the picked official account's taste profile. Default omitted/false. Effect is not guaranteed (pool accounts may have no taste data).","example":false,"default":false,"uniqueKey":"use_personalization","typeLabel":"boolean"},"audio_refs":{"minItems":1,"maxItems":4,"description":"Official Simple → attach existing songs (chips above the idea box). [Optional, create Simple only]\n1–4 items. Omit prompt and persona (400 otherwise). Account pick is normal ByModel.\nclip_id is required; style_prompt / lyrics / duration_s are optional (clip_id alone is enough).\nClips do not need to belong to the occupied pool account. Other-user clip_ids are accepted; official may mark the result as a remix and disable commercial download.","example":[{"clip_id":"3e7e9538-c474-45a7-8181-3da327bd654b","style_prompt":"Post-genre, male baritone; distorted electric guitar...","lyrics":"[Verse 1]\\nSun’s sinking in the bed of my truck\\n...","duration_s":212.4}],"type":"array","items":{"type":"object","properties":{"clip_id":{"type":"string","description":"Official clip id (required). Usually a previous generate clips[].id. Any official clip_id works — it does not have to be from this API or the occupied pool account. Other-user clips may be marked remix; commercial download can be disabled.","example":"3e7e9538-c474-45a7-8181-3da327bd654b","isRequired":true,"uniqueKey":"audio_refs.items.[INDEX].clip_id","typeLabel":"string"},"style_prompt":{"type":"string","description":"Style / arrangement summary of this clip (official library field). Optional. Official UI always sends it; clip_id alone is accepted.","example":"Post-genre, male baritone with a steady, urgent lead vocal; distorted electric guitar...","uniqueKey":"audio_refs.items.[INDEX].style_prompt","typeLabel":"string"},"lyrics":{"type":"string","description":"Full lyrics of the reference clip. Optional. Official UI always sends it.","example":"[Verse 1]\\nSun’s sinking in the bed of my truck\\n...","uniqueKey":"audio_refs.items.[INDEX].lyrics","typeLabel":"string"},"duration_s":{"type":"number","minimum":0,"description":"Reference clip duration in seconds. Optional. Official UI always sends it.","example":212.4,"uniqueKey":"audio_refs.items.[INDEX].duration_s","typeLabel":"number"}},"required":["clip_id"],"uniqueKey":"audio_refs.items.[INDEX]","typeLabel":"object"},"uniqueKey":"audio_refs","typeLabel":"object[]"},"attached_styles":{"type":"string","description":"Official Simple → attached style paragraph (top-level attached_styles). [Optional, create Simple only]\nA written style brief, e.g. \"Modern country heartbreak with 92 BPM two-step groove…\". Can be sent with audio_refs, or alone. Empty/omit prompt + this field + no persona → Simple. Ignored on Custom (non-empty prompt).","example":"Modern country heartbreak with 92 BPM two-step groove, acoustic guitar downstrokes locking every downbeat, pedal-steel answers, and twangy Telecaster fills.","uniqueKey":"attached_styles","typeLabel":"string"},"attached_lyrics":{"type":"string","description":"Official Simple → pinned lyrics (top-level attached_lyrics). [Optional, create Simple only]\nFull lyrics the caller already wrote. prompt stays empty, so this stays Simple (upstream agentic_thinking), not Custom.\nEmpty/omit prompt + this field + no persona → Simple, even without gpt_description_prompt.\nCan be sent with gpt_description_prompt and attached_styles. Ignored when prompt is non-empty. Omit to leave the payload unchanged.","example":"[Verse 1]\n旧窗花还贴在门上\n\n[Chorus]\n新年快乐,新年快乐","uniqueKey":"attached_lyrics","typeLabel":"string"},"image_urls":{"minItems":1,"maxItems":5,"description":"Official Simple → + Image. [Optional, create Simple only] 1–5 jpeg or png URLs the server can download. Omit prompt and persona (400 otherwise). Also 400 on every task except create. The server uploads each URL on the account selected for this generate and sends the resulting ids as user_uploaded_image_ids. Empty/omit prompt + image_urls + no persona is Simple even without gpt_description_prompt. Omit image_urls to leave the request unchanged.","example":["https://example.com/cover.jpg"],"type":"array","items":{"type":"string","format":"uri","uniqueKey":"image_urls.items.[INDEX]","typeLabel":"string\u003curi>"},"uniqueKey":"image_urls","typeLabel":"string\u003curi>[]"},"video_url":{"type":"string","format":"uri","description":"Official Simple → one reference video. [Optional, create Simple only] One mp4 URL the server can download. Omit prompt and persona (400 otherwise). Also 400 on every task except create. The server uploads it on the account selected for this generate and sends the id as user_uploaded_video_id. Empty/omit prompt + video_url + no persona is Simple even without gpt_description_prompt. Omit video_url to leave the request unchanged.","example":"https://example.com/clip.mp4","uniqueKey":"video_url","typeLabel":"string\u003curi>"}},"required":["task","model"],"uniqueKey":"","typeLabel":"object"},"examples":{"custom":{"title":"custom","value":{"task":"create","model":"chirp-v6","title":"Summer Vibes","tags":"Pop, Happy, Upbeat","prompt":"[Verse]\nSunshine on my face today\nDriving down the coast away\n\n[Chorus]\nSummer vibes, feeling free\nThis is where I want to be","make_instrumental":false}},"simpleIdea":{"title":"simpleIdea","description":"Omit prompt and persona. gpt_description_prompt is the official Simple text box.","value":{"task":"create","model":"chirp-v6","gpt_description_prompt":"Emotive bossa nova song about the silence after a fight"}},"simpleAudioRefs":{"title":"simpleAudioRefs","description":"clip_id alone is enough. Clips do not need to belong to the occupied pool account. Other-user clips may be remix / non-commercial download.","value":{"task":"create","model":"chirp-v6","gpt_description_prompt":"Rework this as progressive rock","audio_refs":[{"clip_id":"3e7e9538-c474-45a7-8181-3da327bd654b"}]}},"replaceSection":{"title":"replaceSection","description":"You compute everything. infill_context_range must encompass range (about 30s around it). continued_aligned_prompt = full lyrics after replacement; prompt = lyrics inside infill_context_range; infill_lyrics = new lyrics for range only. Use a range of at least 4s. Always runs as infill; infill_type is deprecated (fixed_infill is no longer supported).","value":{"task":"replace_section","model":"chirp-v6","title":"Song with New Bridge","tags":"Hip-Hop/Rap, Happy, Party","clip_id":"056436f6-86b6-4cbb-a7f7-dc7bc202ea66","range":{"start_s":15.36,"end_s":53.8},"infill_context_range":{"start_s":0,"end_s":69.16},"continued_aligned_prompt":"[Verse]\nEyes like emeralds glowing so wide\n\n[Bridge]\nGot a purr like thunder a meow so sly\n\n[Chorus]\nCat cat where you at","prompt":"[Verse]\nEyes like emeralds glowing so wide\n\n[Bridge]\nGot a purr like thunder a meow so sly\n\n[Chorus]\nCat cat where you at","infill_lyrics":"[Bridge]\nGot a purr like thunder a meow so sly"}},"replaceSimple":{"title":"replaceSimple","description":"Server computes infill_context_range and mode. Add infill_lyrics + original_infill_lyrics to change words, or continued_aligned_prompt to send the full new lyrics.","value":{"task":"replace_simple","model":"chirp-v6","clip_id":"3e7e9538-c474-45a7-8181-3da327bd654b","range":{"start_s":30,"end_s":45},"infill_lyrics":"New line for this part","original_infill_lyrics":"Old line for this part"}},"speechAdvanced":{"title":"speechAdvanced","description":"task stays create. prompt = words to speak. tags = voice style. backing_music = music under the voice. aug_creativity 4 = Variety at max. Omit is_speech for a normal song.","value":{"task":"create","model":"chirp-v6-mini","prompt":"一张照片,一首歌,一支专属 MV。\n上传你的形象,选好音乐,几分钟就能生成电影感音乐视频。","tags":"温暖女声,吐字清晰,语速中等偏慢,亲和有自信,不要耳语也不要喊叫","vocal_gender":"f","is_speech":true,"backing_music":true,"controls":{"aug_creativity":4}}},"speechSimple":{"title":"speechSimple","description":"Omit prompt and persona. gpt_description_prompt is the idea. Do not send backing_music unless you want a music bed.","value":{"task":"create","model":"chirp-v6-mini","gpt_description_prompt":"A fiery halftime locker-room speech from a coach whose team is down twenty points, building from a low growl to a full-throated roar","vocal_gender":"f","is_speech":true}},"sound":{"title":"sound","description":"Type=Loop, Key=G maj, BPM=Auto. Official tags are the description. sound_configs is { user_key: \"G\", user_loop: true }. Add bpm: 120 to set user_tempo. Omit key for Any, omit bpm for Auto, omit type for one_shot.","value":{"task":"sound","model":"chirp-v6","sound":{"description":"Fast cinematic whoosh transition, airy stereo sweep, soft bass hit at the end, clean and short, no reverb tail mush","type":"loop","key":"G maj"}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"17a4fc66-940c-47e3-8975-c4206b117cfd":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"taskId":{"type":"string","description":"task id. Use this id to query task status.","example":"15c257ff-43f7-4678-bd41-202ad6b8488b","isRequired":true,"uniqueKey":"taskId","typeLabel":"string"}},"required":["taskId"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"taskId":"15c257ff-43f7-4678-bd41-202ad6b8488b"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"1a5ac0a6-9024-4865-bf32-5b6e9b7b3841":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"deaabed0-c872-4745-a9ca-e4adaa1df88b":{"url":"https://api.mountsea.ai","description":"API Gateway"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/suno.json"},"subdomain":"mountsea","siteName":"MountSea API","title":"Generate Music - MountSea API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/suno/generate","matchLevel":0},"zh":{"href":"/zh/api-reference/suno/generate","matchLevel":1}}},"lastModified":"2026-10-23T02:20:41.668Z","originalFileLocation":"api-reference/suno/generate.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Generate, extend, cover, mashup and more — the unified music generation endpoint\">\u003cmeta data-mint-head name=\"application-name\" content=\"MountSea API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mountsea/a9wFx4x6WVG6XewJ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/mountsea/a9wFx4x6WVG6XewJ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mountsea/a9wFx4x6WVG6XewJ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mountsea/a9wFx4x6WVG6XewJ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mountsea/a9wFx4x6WVG6XewJ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mountsea/a9wFx4x6WVG6XewJ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mountsea/a9wFx4x6WVG6XewJ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mountsea/a9wFx4x6WVG6XewJ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mountsea/a9wFx4x6WVG6XewJ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Generate Music - MountSea API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Generate, extend, cover, mashup and more — the unified music generation endpoint\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MountSea API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.mountsea.ai/api-reference/suno/generate\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://mountsea.mintlify.app/_mintlify/api/og/v2?division=Suno\u0026amp;title=Generate+Music\u0026amp;description=Generate%2C+extend%2C+cover%2C+mashup+and+more+%E2%80%94+the+unified+music+generation+endpoint\u0026amp;theme=b1d561b7be26162af5434067\u0026amp;signature=66e86382203a99bfe1d5e54c84e8e6abefd896ed70a9bc617808ca319f3e28ee\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Generate Music - MountSea API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Generate, extend, cover, mashup and more — the unified music generation endpoint\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mountsea.mintlify.app/_mintlify/api/og/v2?division=Suno\u0026amp;title=Generate+Music\u0026amp;description=Generate%2C+extend%2C+cover%2C+mashup+and+more+%E2%80%94+the+unified+music+generation+endpoint\u0026amp;theme=b1d561b7be26162af5434067\u0026amp;signature=66e86382203a99bfe1d5e54c84e8e6abefd896ed70a9bc617808ca319f3e28ee\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/mountsea/a9wFx4x6WVG6XewJ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MountSea API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.mountsea.ai/api-reference/suno/generate\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/suno/generate.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.mountsea.ai/api-reference/suno/generate\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://docs.mountsea.ai/zh/api-reference/suno/generate\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.mountsea.ai/api-reference/suno/generate\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.mountsea.ai/#organization\",\"name\":\"MountSea API\",\"url\":\"https://docs.mountsea.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/mountsea/-0ZZ4zjGNKNGMd3j/logo/light.svg?fit=max\u0026auto=format\u0026n=-0ZZ4zjGNKNGMd3j\u0026q=85\u0026s=a8eaf60937d21acd2a442694ca5edc96\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.mountsea.ai#website\",\"name\":\"MountSea API\",\"url\":\"https://docs.mountsea.ai\",\"publisher\":{\"@id\":\"https://docs.mountsea.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.mountsea.ai/api-reference/suno/generate#webpage\",\"url\":\"https://docs.mountsea.ai/api-reference/suno/generate\",\"name\":\"Generate Music\",\"description\":\"Generate, extend, cover, mashup and more — the unified music generation endpoint\",\"dateModified\":\"2026-10-23T02:20:41.668Z\",\"isPartOf\":{\"@id\":\"https://docs.mountsea.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.mountsea.ai/api-reference/suno/generate#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.mountsea.ai/api-reference/suno/generate#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API\",\"item\":\"https://docs.mountsea.ai/api-reference/suno/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Suno\",\"item\":\"https://docs.mountsea.ai/api-reference/suno/introduction\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Generate Music\",\"item\":\"https://docs.mountsea.ai/api-reference/suno/generate\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.mountsea.ai/api-reference/suno/generate#apireference\",\"headline\":\"Generate Music\",\"name\":\"Generate Music\",\"description\":\"Generate, extend, cover, mashup and more — the unified music generation endpoint\",\"url\":\"https://docs.mountsea.ai/api-reference/suno/generate\",\"mainEntityOfPage\":{\"@id\":\"https://docs.mountsea.ai/api-reference/suno/generate#webpage\"},\"dateModified\":\"2026-10-23T02:20:41.668Z\",\"publisher\":{\"@id\":\"https://docs.mountsea.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.mountsea.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MountSea API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"MountSea API","nav":{"global":{"anchors":[{"anchor":"Contact Us","icon":"book-open-cover","href":"https://offoff.ai"}]},"languages":[{"language":"en","default":true,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/introduction"}]},{"tab":"API reference","groups":[{"group":"API","icon":"code","pages":[{"group":"Suno","icon":"music","expanded":false,"pages":[{"title":null,"description":null,"href":"/api-reference/suno/introduction"},{"title":"Generate Music","openapi":"POST /suno/v2/generate","href":"/api-reference/suno/generate"},{"group":"Generate tasks","icon":"list-check","expanded":false,"pages":[{"title":"Overview","description":"One page per /generate task — required fields and examples","href":"/api-reference/suno/generate-tasks"},{"title":"Create","href":"/api-reference/suno/generateCreate"},{"title":"Speech","href":"/api-reference/suno/generateSpeech"},{"title":"Extend","href":"/api-reference/suno/generateExtend"},{"title":"Upload extend","href":"/api-reference/suno/generateUploadExtend"},{"title":"Cover","href":"/api-reference/suno/generateCover"},{"title":"Upload cover","href":"/api-reference/suno/generateUploadCover"},{"title":"Use styles \u0026 lyrics","href":"/api-reference/suno/generateUseStylesLyrics"},{"title":"Replace section","href":"/api-reference/suno/generateReplaceSection"},{"title":"Simple replace","href":"/api-reference/suno/generateReplaceSimple"},{"title":"Add instrumental","href":"/api-reference/suno/generateAddInstrumental"},{"title":"Add vocals","href":"/api-reference/suno/generateAddVocals"},{"title":"Two stems","href":"/api-reference/suno/generateStemTwo"},{"title":"All stems","href":"/api-reference/suno/generateStemAll"},{"title":"Add stems","href":"/api-reference/suno/generateAddStems"},{"title":"Mashup","href":"/api-reference/suno/generateMashup"},{"title":"Sample","href":"/api-reference/suno/generateSample"},{"title":"Inspiration task","href":"/api-reference/suno/generateInspiration"},{"title":"Sounds","href":"/api-reference/suno/generateSound"}]},{"title":"Create Options","href":"/api-reference/suno/create-options"},{"title":"Generate Schema","api":"GET https://api.mountsea.ai/suno/v2/generate/schema","href":"/api-reference/suno/generateSchema"},{"title":"Get Task Status","openapi":"GET /suno/v2/status","href":"/api-reference/suno/task"},{"title":"Check Account Offline","openapi":"GET /suno/v2/checkAccountOffline","href":"/api-reference/suno/checkAccountOffline"},{"title":"Generate Image","openapi":"POST /suno/v2/image/generate","href":"/api-reference/suno/imageGenerate"},{"title":"Generate Standalone Video","openapi":"POST /suno/v2/video/standalone/generate","href":"/api-reference/suno/videoStandaloneGenerate"},{"title":"Generate Lyrics","openapi":"POST /suno/v2/lyrics","href":"/api-reference/suno/lyrics"},{"title":"Mashup Lyrics","api":"POST https://api.mountsea.ai/suno/v2/mashupLyrics","href":"/api-reference/suno/mashupLyrics"},{"title":"Lyrics Infill","openapi":"POST /suno/v2/lyricsInfill","href":"/api-reference/suno/lyricsInfill"},{"title":"Upload Audio","openapi":"POST /suno/v2/upload","href":"/api-reference/suno/upload"},{"title":"Concat Audio","openapi":"POST /suno/v2/concat","href":"/api-reference/suno/concat"},{"title":"Remaster","api":"POST https://api.mountsea.ai/suno/v2/remaster","href":"/api-reference/suno/remaster"},{"title":"Adjust Speed","api":"POST https://api.mountsea.ai/suno/v2/adjustSpeed","href":"/api-reference/suno/adjustSpeed"},{"title":"Upsample Tags","openapi":"POST /suno/v2/upsampleTags","href":"/api-reference/suno/upsampleTags"},{"group":"Inspiration","icon":"lightbulb","expanded":false,"pages":[{"title":"Overview","href":"/api-reference/suno/inspiration"},{"title":"Create Inspiration Playlist","openapi":"POST /suno/v2/playlist/create","href":"/api-reference/suno/playlistCreate"},{"title":"Add Clips to Playlist","openapi":"POST /suno/v2/playlist/addClips","href":"/api-reference/suno/playlistAddClips"}]},{"group":"Batch Upload Session","icon":"upload","expanded":false,"pages":[{"title":"Overview","href":"/api-reference/suno/uploadSession"},{"title":"Prepare Upload Session","openapi":"POST /suno/v2/audio/upload/session","href":"/api-reference/suno/uploadSessionPrepare"},{"title":"Upload Session Item","openapi":"POST /suno/v2/audio/upload/session/item","href":"/api-reference/suno/uploadSessionItem"}]},{"group":"Audio Edit","icon":"scissors","expanded":false,"pages":[{"title":"Crop Audio","openapi":"POST /suno/v2/audio/crop","href":"/api-reference/suno/audioCrop"},{"title":"Fade In / Fade Out","openapi":"POST /suno/v2/audio/fade","href":"/api-reference/suno/audioFade"},{"title":"Reverse Audio","openapi":"POST /suno/v2/audio/reverse","href":"/api-reference/suno/audioReverse"}]},{"group":"Export","icon":"download","expanded":false,"pages":[{"title":"Export MP4","openapi":"POST /suno/v2/mp4","href":"/api-reference/suno/mp4"},{"title":"Export WAV","openapi":"POST /suno/v2/wav","href":"/api-reference/suno/wav"},{"title":"Export M4A","openapi":"POST /suno/v2/m4a","href":"/api-reference/suno/m4a"},{"title":"Download MDI","openapi":"POST /suno/v2/mdi","href":"/api-reference/suno/mdi"}]},{"group":"Analysis","icon":"chart-simple","expanded":false,"pages":[{"title":"Lyrics Timeline","openapi":"POST /suno/v2/timing","href":"/api-reference/suno/timing"},{"title":"Get Downbeats","openapi":"POST /suno/v2/downbeats","href":"/api-reference/suno/downbeats"}]},{"group":"Custom Model","icon":"brain","expanded":false,"pages":[{"title":"Overview","href":"/api-reference/suno/customModel"},{"title":"Custom Model Prepare","openapi":"POST /suno/v2/customModel/prepare","href":"/api-reference/suno/customModelPrepare"},{"title":"Custom Model Upload","openapi":"POST /suno/v2/customModel/upload","href":"/api-reference/suno/customModelUpload"},{"title":"Custom Model Create","openapi":"POST /suno/v2/customModel/create","href":"/api-reference/suno/customModelCreate"}]},{"group":"Persona","icon":"microphone","expanded":false,"pages":[{"title":"Overview","href":"/api-reference/suno/persona-introduction"},{"group":"Clip Persona","icon":"user","expanded":false,"pages":[{"title":"Create Persona","api":"POST https://api.mountsea.ai/suno/v2/persona","href":"/api-reference/suno/persona"},{"title":"Get Vox Stem","api":"POST https://api.mountsea.ai/suno/v2/getVoxStem","href":"/api-reference/suno/getVoxStem"}]},{"group":"Voice Persona","icon":"clone","expanded":false,"pages":[{"title":"Clone Voice","openapi":"POST /suno/v2/voices","href":"/api-reference/suno/voices"},{"title":"Init + Complete","href":"/api-reference/suno/voicePersona"},{"title":"Voice Persona Init","openapi":"POST /suno/v2/voicePersona/init","href":"/api-reference/suno/voicePersonaInit"},{"title":"Voice Persona Complete","openapi":"POST /suno/v2/voicePersona/complete","href":"/api-reference/suno/voicePersonaComplete"}]}]},{"group":"Studio","icon":"sliders","expanded":false,"pages":[{"title":"Overview","href":"/api-reference/suno/studio"},{"title":"Studio Batch Edit","openapi":"POST /suno/v2/studio/edit","href":"/api-reference/suno/studioEdit"},{"title":"Studio Crop","openapi":"POST /suno/v2/studio/crop","href":"/api-reference/suno/studioCrop"},{"title":"Studio Remove Section","openapi":"POST /suno/v2/studio/removeSection","href":"/api-reference/suno/studioRemoveSection"},{"title":"Studio Duplicate","openapi":"POST /suno/v2/studio/duplicate","href":"/api-reference/suno/studioDuplicate"},{"title":"Studio Reverse","openapi":"POST /suno/v2/studio/reverse","href":"/api-reference/suno/studioReverse"},{"title":"Studio Fade In","openapi":"POST /suno/v2/studio/fadeIn","href":"/api-reference/suno/studioFadeIn"},{"title":"Studio Fade Out","openapi":"POST /suno/v2/studio/fadeOut","href":"/api-reference/suno/studioFadeOut"},{"title":"Studio Set Speed","openapi":"POST /suno/v2/studio/setSpeed","href":"/api-reference/suno/studioSetSpeed"},{"title":"Studio Add Section","openapi":"POST /suno/v2/studio/addSection","href":"/api-reference/suno/studioAddSection"},{"title":"Studio Add Section Commit","openapi":"POST /suno/v2/studio/addSectionCommit","href":"/api-reference/suno/studioAddSectionCommit"},{"title":"Studio Replace Section","openapi":"POST /suno/v2/studio/replace","href":"/api-reference/suno/studioReplace"}]}]},{"group":"ElevenLabs","icon":"waveform-lines","expanded":false,"pages":[{"title":null,"href":"/api-reference/eleven/introduction"},{"title":"Generate Music","openapi":"POST /eleven/music","href":"/api-reference/eleven/music"},{"title":"Create Composition Plan","openapi":"POST /eleven/plan","href":"/api-reference/eleven/plan"},{"title":"Video to Music","openapi":"POST /eleven/video-to-music","href":"/api-reference/eleven/video-to-music"},{"title":"List Voices","openapi":"GET /eleven/voices","href":"/api-reference/eleven/voices"},{"title":"Text to Dialogue","openapi":"POST /eleven/dialogue","href":"/api-reference/eleven/dialogue"},{"title":"Get Task Status","openapi":"GET /eleven/tasks","href":"/api-reference/eleven/task"},{"title":"Stem Separation","openapi":"POST /eleven/stems","href":"/api-reference/eleven/stems"},{"title":"Upload Audio","openapi":"POST /eleven/upload","href":"/api-reference/eleven/upload"}]},{"group":"Producer","icon":"headphones","expanded":false,"pages":[{"title":null,"href":"/api-reference/producer/introduction"},{"title":"Create Music","openapi":"POST /producer/audios","href":"/api-reference/producer/audios"},{"title":"Get Task Status","openapi":"GET /producer/tasks","href":"/api-reference/producer/task"},{"title":"Upload Audio","openapi":"POST /producer/upload","href":"/api-reference/producer/upload"},{"title":"Get Stems","openapi":"POST /producer/stems","href":"/api-reference/producer/stems"},{"title":"Download Audio","openapi":"POST /producer/download","href":"/api-reference/producer/download"},{"title":"Download Video","openapi":"POST /producer/download-video","href":"/api-reference/producer/download-video"}]},{"group":"Google Gemini","icon":"sparkles","expanded":false,"pages":[{"title":null,"href":"/api-reference/gemini/introduction"},{"title":"Get Task Result","openapi":"GET /gemini/task/result","href":"/api-reference/gemini/task"},{"group":"Video (Veo / Omni)","icon":"video","expanded":false,"pages":[{"title":null,"href":"/api-reference/gemini/video-introduction"},{"title":"Veo / Omni video generation","openapi":"POST /gemini/video/generate","href":"/api-reference/gemini/video"},{"title":"Upsample Video","openapi":"POST /gemini/video/upsample","href":"/api-reference/gemini/upsample"},{"title":"Expand Video Prompt","openapi":"POST /gemini/video/prompt/expand","href":"/api-reference/gemini/prompt-expand"},{"title":"Reshoot Video","openapi":"POST /gemini/video/reshoot","href":"/api-reference/gemini/reshoot"},{"title":"Extend Video","openapi":"POST /gemini/video/extend","href":"/api-reference/gemini/extend"},{"title":"Insert Object into Video","openapi":"POST /gemini/video/object/insert","href":"/api-reference/gemini/object-insert"},{"title":"Remove Object from Video","openapi":"POST /gemini/video/object/remove","href":"/api-reference/gemini/object-remove"}]},{"group":"Image (Nano Banana)","icon":"image","expanded":false,"pages":[{"title":null,"href":"/api-reference/gemini/image-introduction"},{"title":"banana image generation","openapi":"POST /gemini/image/generate","href":"/api-reference/gemini/image"}]},{"group":"Compat SDK","icon":"plug","expanded":false,"pages":[{"title":null,"href":"/api-reference/gemini/compat-introduction"},{"title":"Gemini generateContent (Compat)","openapi":"POST /gemini/v1beta/models/{modelAction}","href":"/api-reference/gemini/compat"}]}]},{"group":"XAI (Grok)","icon":"image","expanded":false,"pages":[{"title":null,"href":"/api-reference/xai/introduction"},{"title":"Generate Image","openapi":"POST /xai/images","href":"/api-reference/xai/generate-image"},{"title":"Generate Video","openapi":"POST /xai/videos","href":"/api-reference/xai/generate-video"},{"title":"Get Task Result","openapi":"GET /xai/tasks","href":"/api-reference/xai/task"}]},{"group":"OpenAI","icon":"robot","expanded":false,"pages":[{"title":null,"href":"/api-reference/openai/introduction"},{"group":"Async GPT Image","icon":"palette","expanded":false,"pages":[{"title":null,"href":"/api-reference/openai/images-introduction"},{"title":"Create Image Task (async)","openapi":"POST /openai/images","href":"/api-reference/openai/images"},{"title":"Get Task Result","openapi":"GET /openai/tasks","href":"/api-reference/openai/task"}]},{"group":"Compat SDK","icon":"plug","expanded":false,"pages":[{"title":null,"href":"/api-reference/openai/compat-introduction"},{"title":"images.generate (OpenAI Compat)","openapi":"POST /openai/v1/images/generations","href":"/api-reference/openai/compat-generate"},{"title":"images.edit (OpenAI Compat)","openapi":"POST /openai/v1/images/edits","href":"/api-reference/openai/compat-edit"},{"title":"models.list (OpenAI Compat)","openapi":"GET /openai/v1/models","href":"/api-reference/openai/compat-models"}]}]},{"group":"Chat","icon":"comments","expanded":false,"pages":[{"title":null,"href":"/api-reference/chat/introduction"},{"title":"Chat Completions","openapi":"POST /chat/chat/completions","href":"/api-reference/chat/completions"},{"title":"Responses API","openapi":"POST /chat/v1/responses","href":"/api-reference/chat/responses"},{"title":"Claude Messages API","openapi":"POST /chat/claude/v1/messages","href":"/api-reference/chat/claude"},{"title":"List Models","openapi":"GET /chat/models","href":"/api-reference/chat/models"},{"title":"Get Model","openapi":"GET /chat/models/{model}","href":"/api-reference/chat/model"},{"title":"Gemini API","icon":"google","href":"/api-reference/chat/gemini"}]},{"group":"Usage \u0026 Credits","icon":"coins","expanded":false,"pages":[{"title":null,"href":"/api-reference/usage/introduction"},{"title":"Query Credits Balance","openapi":"GET /api-user/credits","href":"/api-reference/usage/credits"},{"title":"List Services","openapi":"GET /api-user/services","href":"/api-reference/usage/services"},{"title":"Search API Usage Logs","openapi":"POST /api-user/usage/search","href":"/api-reference/usage/usage-search"},{"title":"Search Credits Change History","openapi":"POST /api-user/points/search","href":"/api-reference/usage/points-search"}]},{"group":"Sora2 (Unavailable)","icon":"film","expanded":false,"pages":[{"title":null,"href":"/api-reference/sora/introduction"},{"title":"sora video generation","openapi":"POST /sora/video/generate","href":"/api-reference/sora/video"},{"title":"sora create role","openapi":"POST /sora/role/create","href":"/api-reference/sora/createRole"},{"title":"get sora task result","openapi":"GET /sora/task/result","href":"/api-reference/sora/task"}]}]}]}]},{"language":"zh","pages":[{"title":"zh","href":"/zh/api-reference/suno/generate"}]}]},"title":"Generate Music - MountSea API","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DmVyH30O.js","utils-BHQqGGOd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CD-E4BIt.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp5Lq9Ds.js","snippetPresets-C4xAVCFP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CgXVLxUC.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BF8I5oUf.js","shallow-Byd0lWnC.js","getApiPlaygroundDisplay-BGOZG1OK.js","CodeSnippet-CpvQL0CY.js","CodeSnippets-B8wkBKXa.js","Page-CBCH2P7b.js","getPastedJson-Ry3scI3Y.js","icon-D7a9HcdD.js","MethodPill-CJ8pmHhz.js","DuplicateIcon-rh1HJF0t.js","createIcon-DvGznqYs.js","DynamicMarkdown-Cc6AuSHS.js","SectionHeading-B4A0S-ep.js","axios-vUo_bRtp.js","Markdown-Cc16CX65.js","clsx-Cs6nMGht.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-zbf22OZA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-C_fs-y5n.js"]}