
Output
audio
Inputs
- Reference audio (optional)
Example prompt
an upbeat indie-pop anthem about chasing dreams at sunrise, bright guitars, punchy drums, soaring chorusTry this prompt →
LLM-ready
API & LLM schema
Exact request contract for this model. Agents can fetch it from /api/v1/models?id=suno/v4/music.
POST
/api/v1/generate19 fields · 1 required| Field | Type | Requirement | Contract |
|---|---|---|---|
model_id | constant | Required | ArtEmotion model identifier. |
extra | object | Optional | Model-specific settings may also be nested here. |
max_credits | number | Optional | Reject before submission if the estimated list price exceeds this cap. · Range: 1–… |
webhook_url | string | Optional | Format: uri |
webhook_secret | string | Optional | Optional model input. |
folder_id | string | Optional | Optional model input. |
prompt | string | Optional | Optional model input. |
instrumental | boolean | Optional | Generate music with no vocals. · Default: false |
custom_mode | boolean | Optional | Off: the prompt is a song description. On: the prompt is your lyrics — also set Style and Title. · Default: false |
style | string | Optional | Custom mode only: genre/style tags, e.g. 'lofi hip hop, mellow, rainy'. Max 200 chars. · Default: |
title | string | Optional | Custom mode only: the song title. · Default: |
negative_tags | string | Optional | Styles to avoid, e.g. 'heavy metal, screaming'. · Default: |
vocal_gender | string | Optional | Preferred lead vocal gender. · Allowed: , m, f · Default: |
persona_id | string | Optional | Optional persona or voice ID from your Suno account. Pair with Persona Model. · Default: |
persona_model | string | Optional | Persona type: style_persona clones style, voice_persona clones the voice (requires V5 or V5.5). · Allowed: style_persona, voice_persona · Default: style_persona |
style_weight | number | Optional | How strongly to follow the style (0–1). · Default: 0.65 · Range: 0–1 |
weirdness_constraint | number | Optional | Creativity/experimentation (0–1). · Default: 0.5 · Range: 0–1 |
audio_weight | number | Optional | Adherence to any reference audio (0–1). Leave at 0 unless you have reference audio. · Default: 0 · Range: 0–1 |
audio_url | string | Optional | Format: uri |
Minimal request example
{
"model_id": "suno/v4/music"
}Raw JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://www.artemotion.ai/api/v1/models?id=suno%2Fv4%2Fmusic",
"title": "Suno v4 generation request",
"description": "Request body accepted by POST /api/v1/generate for suno/v4/music.",
"type": "object",
"properties": {
"model_id": {
"type": "string",
"const": "suno/v4/music",
"description": "ArtEmotion model identifier."
},
"extra": {
"type": "object",
"additionalProperties": true,
"description": "Model-specific settings may also be nested here."
},
"max_credits": {
"type": "number",
"minimum": 1,
"description": "Reject before submission if the estimated list price exceeds this cap."
},
"webhook_url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"webhook_secret": {
"type": "string",
"maxLength": 512
},
"folder_id": {
"type": "string"
},
"prompt": {
"type": "string"
},
"instrumental": {
"title": "Instrumental",
"description": "Generate music with no vocals.",
"default": false,
"type": "boolean"
},
"custom_mode": {
"title": "Custom Mode",
"description": "Off: the prompt is a song description. On: the prompt is your lyrics — also set Style and Title.",
"default": false,
"type": "boolean"
},
"style": {
"title": "Style",
"description": "Custom mode only: genre/style tags, e.g. 'lofi hip hop, mellow, rainy'. Max 200 chars.",
"default": "",
"type": "string"
},
"title": {
"title": "Title",
"description": "Custom mode only: the song title.",
"default": "",
"type": "string"
},
"negative_tags": {
"title": "Exclude Styles",
"description": "Styles to avoid, e.g. 'heavy metal, screaming'.",
"default": "",
"type": "string"
},
"vocal_gender": {
"title": "Vocal Gender",
"description": "Preferred lead vocal gender.",
"default": "",
"type": "string",
"enum": [
"",
"m",
"f"
]
},
"persona_id": {
"title": "Persona ID",
"description": "Optional persona or voice ID from your Suno account. Pair with Persona Model.",
"default": "",
"type": "string"
},
"persona_model": {
"title": "Persona Model",
"description": "Persona type: style_persona clones style, voice_persona clones the voice (requires V5 or V5.5).",
"default": "style_persona",
"type": "string",
"enum": [
"style_persona",
"voice_persona"
]
},
"style_weight": {
"title": "Style Weight",
"description": "How strongly to follow the style (0–1).",
"default": 0.65,
"type": "number",
"minimum": 0,
"maximum": 1,
"multipleOf": 0.01
},
"weirdness_constraint": {
"title": "Weirdness",
"description": "Creativity/experimentation (0–1).",
"default": 0.5,
"type": "number",
"minimum": 0,
"maximum": 1,
"multipleOf": 0.01
},
"audio_weight": {
"title": "Audio Weight",
"description": "Adherence to any reference audio (0–1). Leave at 0 unless you have reference audio.",
"default": 0,
"type": "number",
"minimum": 0,
"maximum": 1,
"multipleOf": 0.01
},
"audio_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"model_id"
],
"additionalProperties": false
}FAQ
How much does Suno v4 cost on ArtEmotion?
Credit-based pricing. You pay in ArtEmotion credits — every plan and top-up converts USD to credits at a fixed rate.
Do I get my credits back if Suno v4 fails?
Yes — failed generations are never charged. The credits are released back to your balance automatically.
Can I call Suno v4 from the API?
Yes. Use POST /api/v1/generate with model_id: "suno/v4/music". See the API reference for the full schema.
Where are my generations stored?
Every output is saved to your personal Library. You can export or delete everything any time from Privacy & deletion.
Ready to generate with Suno v4?
Start now →No commitment. New accounts get 50 free credits on signup. See pricing.