Suno Music Generation API
Suno AI music and lyrics generation service.
API home page: Ace Data Cloud - Suno Music Generation
Keywords: suno-api, ai-music, music-generation, lyrics-generation, rest-api, ai-api, aiaudio, suno, mp3, audio-url, custom-model, studio
Why Use Suno Music Generation on Ace Data Cloud
Unified developer platform with one API key, billing system, and usage tracking
Production-ready AI API endpoints served from https://api.acedata.cloud
English integration guides, API references, and service documentation
Global-ready workflow for developers building chat, image, video, music, and search products
<style>
.suno-page * { box-sizing: border-box; }
.suno-page h1, .suno-page h2, .suno-page h3, .suno-page h4, .suno-page h5, .suno-page h6, .suno-page p, .suno-page ul, .suno-page ol, .suno-page li, .suno-page pre, .suno-page blockquote, .suno-page table, .suno-page td, .suno-page th { margin: 0; padding: 0; }
.suno-page {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: var(--el-text-color-primary);
background: var(--el-bg-color);
line-height: 1.6;
}
.suno-page a { text-decoration: none; color: inherit; }
.suno-page a:hover { text-decoration: none; }
.suno-page ul { list-style: none; }
.markdown-body .suno-page a { color: inherit !important; text-decoration: none !important; }
.markdown-body .suno-page a:hover { text-decoration: none !important; }
.markdown-body .suno-page a.s-btn-primary,
.markdown-body .suno-page a.price-btn-fill,
.markdown-body .suno-page a.btn-cta-light { color: #ffffff !important; }
.markdown-body .suno-page a.s-btn-secondary { color: var(--el-text-color-primary) !important; }
.markdown-body .suno-page a.price-btn-out { color: var(--el-text-color-primary) !important; }
.markdown-body .suno-page a.btn-cta-ghost { color: #94a3b8 !important; }
.markdown-body .suno-page a.btn-cta-ghost:hover { color: #e2e8f0 !important; }
.markdown-body .suno-page h1, .markdown-body .suno-page h2 { border-bottom: none !important; padding-bottom: 0 !important; }
.s-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.s-container-narrow { max-width: 800px; margin: 0 auto; padding: 0 24px; }
.s-container-wide { max-width: 1100px; margin: 0 auto; padding: 0 32px; }
.s-section { padding: 80px 0; }
.s-section-lg { padding: 100px 0; }
.s-section-sm { padding: 48px 0; }
.s-bg-white { background: var(--el-bg-color); }
.s-bg-gray { background: var(--el-bg-color-page); }
.s-bg-dark { background: #0f172a; color: #f8fafc; }
.s-header { text-align: center; margin-bottom: 64px; }
.s-header h2 {
font-size: clamp(28px, 4vw, 40px);
font-weight: 700;
color: var(--el-text-color-primary);
letter-spacing: normal;
margin-bottom: 20px;
line-height: 1.15;
}
.s-header p {
font-size: clamp(16px, 2vw, 18px);
color: var(--el-text-color-regular);
max-width: 640px;
margin: 0 auto;
line-height: 1.6;
}
.s-bg-dark .s-header h2 { color: #f8fafc; }
.s-bg-dark .s-header p { color: var(--el-text-color-secondary); }
.suno-page .s-btn-primary {
display: inline-flex; align-items: center; gap: 6px;
padding: 14px 28px;
background: #277186; color: #ffffff !important;
border-radius: 9999px; font-size: 15px; font-weight: 600;
transition: background 0.2s, transform 0.15s;
border: none; cursor: pointer;
text-decoration: none !important;
}
.suno-page .s-btn-primary:hover { background: #1f5a6b; transform: translateY(-1px); text-decoration: none !important; }
.suno-page .s-btn-secondary {
display: inline-flex; align-items: center; gap: 6px;
padding: 14px 28px;
background: var(--el-bg-color); color: var(--el-text-color-primary) !important;
border: 1px solid var(--el-border-color-light);
border-radius: 9999px; font-size: 15px; font-weight: 600;
transition: border-color 0.2s, background 0.2s;
cursor: pointer;
text-decoration: none !important;
}
.suno-page .s-btn-secondary:hover { background: var(--el-bg-color-page); text-decoration: none !important; }
.suno-hero {
padding: 100px 0 80px;
text-align: center;
background: var(--el-bg-color);
position: relative;
overflow: hidden;
}
.suno-hero::before {
content: '';
position: absolute;
top: -200px; left: 50%;
transform: translateX(-50%);
width: 900px; height: 500px;
background: radial-gradient(ellipse, rgba(39, 113, 134, 0.06) 0%, transparent 70%);
pointer-events: none;
}
.hero-badge {
display: inline-flex; align-items: center; gap: 8px;
padding: 6px 16px;
background: var(--el-bg-color-page); border: 1px solid var(--el-border-color-light);
border-radius: 9999px; font-size: 13px; font-weight: 600; color: var(--el-text-color-regular);
margin-bottom: 28px;
}
.hero-badge .badge-dot {
width: 6px; height: 6px; background: #10b981; border-radius: 50%;
display: inline-block;
}
.suno-hero h1 {
font-size: clamp(36px, 5vw, 60px);
font-weight: 700; line-height: 1.05;
letter-spacing: normal; color: var(--el-text-color-primary);
margin-bottom: 20px;
position: relative;
}
.suno-hero h1 span { color: #277186; }
.suno-page .hero-subtitle {
font-size: clamp(16px, 2vw, 20px);
color: var(--el-text-color-regular); line-height: 1.6;
max-width: 620px; margin: 0 auto 56px;
position: relative;
}
.hero-actions {
display: flex; gap: 12px; justify-content: center;
flex-wrap: wrap; margin-bottom: 56px; position: relative;
}
.hero-highlights {
display: flex; align-items: center; justify-content: center;
gap: 16px; flex-wrap: wrap; position: relative;
}
.hero-highlights .h-item { font-size: 14px; color: var(--el-text-color-regular); font-weight: 500; }
.hero-highlights .h-div { width: 1px; height: 16px; background: var(--el-border-color-light); }
@media (max-width: 640px) {
.hero-highlights .h-div { display: none; }
.hero-highlights { gap: 8px 16px; }
.hero-actions { flex-direction: column; align-items: center; }
.hero-actions a { width: 100%; max-width: 280px; justify-content: center; }
}
.suno-stats {
padding: 48px 0;
background: var(--el-bg-color-page);
border-top: 1px solid var(--el-border-color-lighter);
border-bottom: 1px solid var(--el-border-color-lighter);
}
.stats-grid {
display: grid; grid-template-columns: repeat(4, 1fr);
gap: 32px; text-align: center;
}
.stat-icon { font-size: 28px; margin-bottom: 12px; }
.stat-val {
font-size: clamp(28px, 4vw, 40px);
font-weight: 700; color: var(--el-text-color-primary);
letter-spacing: normal; margin-bottom: 4px;
}
.stat-lbl { font-size: 14px; color: var(--el-text-color-secondary); font-weight: 500; }
@media (max-width: 768px) { .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; } }
@media (max-width: 480px) { .stats-grid { grid-template-columns: 1fr; gap: 20px; } }
.features-grid {
display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.feat-card {
padding: 32px 28px;
border: none; border-radius: 20px; box-shadow: 0 2px 12px 0 rgba(0,0,0,0.08);
background: var(--el-bg-color);
transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
}
.feat-card:hover { box-shadow: 0 8px 24px 0 rgba(0,0,0,0.12);
transform: translateY(-2px);
}
.feat-icon { font-size: 32px; margin-bottom: 16px; }
.feat-card h3 { font-size: 18px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 8px; }
.feat-card p { font-size: 15px; color: var(--el-text-color-regular); line-height: 1.6; }
@media (max-width: 1024px) { .features-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .features-grid { grid-template-columns: 1fr; } }
.code-split {
display: flex; gap: 48px; align-items: center;
}
.code-left { flex: 1; min-width: 0; }
.code-right { flex: 1; }
.code-wrap {
border-radius: 16px !important; overflow: hidden !important;
border: 1px solid #334155 !important; background: #0f172a !important;
}
.markdown-body .suno-page .code-wrap {
border-radius: 16px !important; overflow: hidden !important;
border: 1px solid #334155 !important; background: #0f172a !important;
}
.code-bar {
display: flex !important; align-items: center !important; justify-content: space-between !important;
padding: 12px 20px !important; background: #1e293b !important;
border-bottom: 1px solid #334155 !important;
}
.code-dots { display: flex; gap: 6px; }
.code-dots i {
width: 10px; height: 10px; border-radius: 50%;
display: inline-block;
}
.code-dots .r { background: #ef4444; }
.code-dots .y { background: #f59e0b; }
.code-dots .g { background: #10b981; }
.code-lang {
font-size: 12px; color: var(--el-text-color-secondary); font-weight: 600;
text-transform: uppercase; letter-spacing: 0.05em;
}
.code-block {
padding: 24px !important; margin: 0 !important; overflow-x: auto !important;
font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace !important;
font-size: 13.5px !important; line-height: 1.7 !important; color: #e2e8f0 !important;
white-space: pre !important; background: transparent !important;
border: none !important; border-radius: 0 !important;
}
.markdown-body .suno-page .code-block {
padding: 24px !important; margin: 0 !important; overflow-x: auto !important;
font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace !important;
font-size: 13.5px !important; line-height: 1.7 !important; color: #e2e8f0 !important;
white-space: pre !important; background: transparent !important;
border: none !important; border-radius: 0 !important;
}
.code-right h2 {
font-size: clamp(24px, 3vw, 32px);
font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 12px;
letter-spacing: normal;
}
.code-right > p { font-size: 16px; color: var(--el-text-color-regular); line-height: 1.6; margin-bottom: 32px; }
.explain-steps { display: flex; flex-direction: column; gap: 20px; }
.explain-step { display: flex; gap: 16px; align-items: flex-start; }
.step-num {
width: 32px; height: 32px; border-radius: 50%;
background: var(--el-bg-color-page); border: 1px solid var(--el-border-color-light);
display: flex; align-items: center; justify-content: center;
font-size: 14px; font-weight: 700; color: var(--el-text-color-regular);
flex-shrink: 0;
}
.step-text h4 { font-size: 15px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 2px; }
.step-text p { font-size: 14px; color: var(--el-text-color-secondary); line-height: 1.5; }
@media (max-width: 768px) {
.code-split { flex-direction: column; }
.code-left { order: 2; }
.code-right { order: 1; }
}
.actions-grid {
display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
.act-card {
padding: 28px 24px; background: var(--el-bg-color);
border: none; border-radius: 20px; box-shadow: 0 2px 12px 0 rgba(0,0,0,0.08);
text-align: center;
transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
}
.act-card:hover { box-shadow: 0 8px 24px 0 rgba(0,0,0,0.12);
transform: translateY(-2px);
}
.act-icon { font-size: 36px; margin-bottom: 16px; }
.act-card h3 { font-size: 17px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 8px; }
.act-card p { font-size: 14px; color: var(--el-text-color-regular); line-height: 1.6; }
@media (max-width: 1024px) { .actions-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .actions-grid { grid-template-columns: 1fr; } }
.usecases-grid {
display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
.uc-card {
padding: 28px 24px; background: var(--el-bg-color);
border: none; border-radius: 20px; box-shadow: 0 2px 12px 0 rgba(0,0,0,0.08);
text-align: center;
transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
}
.uc-card:hover { box-shadow: 0 8px 24px 0 rgba(0,0,0,0.12);
transform: translateY(-2px);
}
.uc-icon { font-size: 36px; margin-bottom: 16px; }
.uc-card h3 { font-size: 17px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 8px; }
.uc-card p { font-size: 14px; color: var(--el-text-color-regular); line-height: 1.6; }
@media (max-width: 1024px) { .usecases-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .usecases-grid { grid-template-columns: 1fr; } }
.steps-row {
display: flex; align-items: flex-start; justify-content: center;
margin-bottom: 48px;
}
.stp-card { flex: 1; max-width: 320px; text-align: center; padding: 0 24px; }
.stp-num {
font-size: clamp(48px, 6vw, 72px);
font-weight: 700; color: #e2e8f0;
letter-spacing: -0.04em; line-height: 1;
margin-bottom: 20px;
}
.stp-card h3 { font-size: 18px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 10px; }
.stp-card p { font-size: 15px; color: var(--el-text-color-regular); line-height: 1.6; }
.stp-conn {
width: 60px; height: 2px; background: var(--el-border-color-light);
margin-top: 36px; flex-shrink: 0;
}
.steps-cta { text-align: center; }
@media (max-width: 768px) {
.steps-row { flex-direction: column; align-items: center; gap: 32px; }
.stp-conn { width: 2px; height: 32px; margin: 0; }
.stp-card { max-width: 100%; }
}
.cmp-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.suno-page .cmp-table {
display: table !important;
width: 100%; max-width: 860px; margin: 0 auto;
border-collapse: collapse; font-size: 15px;
}
.suno-page .cmp-table th, .cmp-table td {
padding: 16px 20px; text-align: center;
border-bottom: 1px solid var(--el-border-color-light);
}
.suno-page .cmp-table th {
font-weight: 700; color: var(--el-text-color-regular); font-size: 14px;
text-transform: uppercase; letter-spacing: 0.04em;
background: var(--el-bg-color-page);
}
.suno-page .cmp-table td:first-child, .cmp-table th:first-child {
text-align: left; font-weight: 600; color: var(--el-text-color-primary);
}
.cmp-us { font-weight: 700; }
.cmp-brand { font-weight: 700; color: var(--el-text-color-primary); }
.ck { color: #10b981; font-weight: 700; font-size: 18px; }
.cx { color: #d1d5db; font-weight: 700; font-size: 18px; }
@media (max-width: 640px) {
.cmp-table th, .cmp-table td { padding: 12px 10px; font-size: 13px; }
}
.models-grid {
display: grid; grid-template-columns: repeat(3, 1fr);
gap: 24px; max-width: 960px; margin: 0 auto;
}
.mdl-card {
padding: 32px 28px;
border: none; border-radius: 20px; box-shadow: 0 2px 12px 0 rgba(0,0,0,0.08);
background: var(--el-bg-color); position: relative;
}
.mdl-card.mdl-rec { border-color: #277186; border-width: 2px; }
.mdl-rec-badge {
position: absolute; top: -12px; left: 50%;
transform: translateX(-50%);
padding: 4px 14px; background: #277186; color: #ffffff;
border-radius: 9999px; font-size: 12px; font-weight: 700;
text-transform: uppercase; letter-spacing: 0.04em;
}
.mdl-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.mdl-head h3 { font-size: 20px; font-weight: 700; color: var(--el-text-color-primary); }
.mdl-tag {
padding: 3px 10px; background: var(--el-bg-color-page); border-radius: 9999px;
font-size: 11px; font-weight: 700; color: var(--el-text-color-regular);
text-transform: uppercase; letter-spacing: 0.04em;
}
.mdl-tag-blue { background: #eff6ff; color: #2563eb; }
.mdl-tag-purple { background: #e9f1f3; color: #277186; }
.suno-page .mdl-desc { font-size: 15px; color: var(--el-text-color-regular); line-height: 1.6; margin-bottom: 20px; }
.mdl-feats { display: flex; flex-direction: column; gap: 8px; }
.mdl-feats li { font-size: 14px; color: var(--el-text-color-regular); line-height: 1.4; }
@media (max-width: 768px) { .models-grid { grid-template-columns: 1fr; } }
.price-grid {
display: grid !important; grid-template-columns: repeat(2, 1fr) !important;
gap: 24px !important; max-width: 720px !important; margin: 0 auto !important;
align-items: start;
}
.price-card {
padding: 36px 32px;
border: 1px solid var(--el-border-color-light); border-radius: 20px;
background: var(--el-bg-color); position: relative;
}
.price-card-feat {
border: 2px solid #277186;
box-shadow: 0 8px 32px rgba(0,0,0,0.08);
transform: scale(1.03);
}
.price-feat-badge {
position: absolute; top: -13px; left: 50%;
transform: translateX(-50%);
padding: 5px 18px; background: #277186; color: #ffffff;
border-radius: 9999px; font-size: 12px; font-weight: 700;
text-transform: uppercase; letter-spacing: 0.04em;
white-space: nowrap;
}
.price-tier {
font-size: 16px; font-weight: 700; color: var(--el-text-color-regular);
text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 12px;
}
.price-amt {
font-size: clamp(36px, 5vw, 48px);
font-weight: 700; color: var(--el-text-color-primary); letter-spacing: normal;
}
.price-per { font-size: 16px; color: var(--el-text-color-secondary); font-weight: 500; }
.suno-page .price-desc { font-size: 14px; color: var(--el-text-color-secondary); margin-bottom: 24px; margin-top: 8px; }
.suno-page .price-feats { display: flex; flex-direction: column; gap: 10px; margin-bottom: 36px; }
.suno-page .price-feats li { font-size: 14px; color: var(--el-text-color-regular); line-height: 1.4; display: flex; align-items: center; gap: 8px; }
.price-ck { color: #10b981; font-weight: 700; font-size: 14px; flex-shrink: 0; }
.price-btn {
display: block; text-align: center; padding: 14px 0;
border-radius: 9999px; font-size: 15px; font-weight: 600;
transition: background 0.2s, border-color 0.2s, transform 0.15s;
width: 100%; cursor: pointer;
}
.suno-page .price-btn-fill { background: #277186; color: #ffffff !important; border: none; text-decoration: none !important; }
.suno-page .price-btn-fill:hover { background: #1f5a6b; transform: translateY(-1px); text-decoration: none !important; }
.suno-page .price-btn-out { background: var(--el-bg-color); color: var(--el-text-color-primary) !important; border: 1px solid var(--el-border-color-light); text-decoration: none !important; }
.suno-page .price-btn-out:hover { background: var(--el-bg-color-page); text-decoration: none !important; }
@media (max-width: 768px) {
.price-grid { grid-template-columns: 1fr; }
.price-card-feat { transform: none; }
}
.faq-list { display: flex; flex-direction: column; }
.faq-item { border-bottom: 1px solid var(--el-border-color-light); }
.faq-item:first-child { border-top: 1px solid #e5e7eb; }
.faq-q {
display: flex; justify-content: space-between; align-items: center;
padding: 20px 0; cursor: pointer;
font-size: 16px; font-weight: 600; color: var(--el-text-color-primary);
list-style: none; user-select: none;
transition: color 0.2s;
}
.faq-q::-webkit-details-marker { display: none; }
.faq-q:hover { color: var(--el-text-color-primary); }
.faq-chev { font-size: 18px; color: var(--el-text-color-secondary); transition: transform 0.2s; flex-shrink: 0; }
.faq-item[open] .faq-chev { transform: rotate(180deg); }
.faq-a { padding: 0 0 20px; }
.faq-a p { font-size: 15px; color: var(--el-text-color-regular); line-height: 1.7; }
.rel-grid {
display: grid; grid-template-columns: repeat(2, 1fr);
gap: 16px; max-width: 800px; margin: 0 auto;
}
.rel-card {
display: flex; align-items: center; gap: 16px;
padding: 20px 24px; background: var(--el-bg-color);
border: none; border-radius: 20px; box-shadow: 0 2px 12px 0 rgba(0,0,0,0.08);
transition: border-color 0.2s, box-shadow 0.2s;
}
.rel-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.05); }
.rel-icon { font-size: 28px; flex-shrink: 0; }
.rel-info { flex: 1; min-width: 0; }
.rel-info h3 { font-size: 15px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 2px; }
.rel-info p { font-size: 13px; color: var(--el-text-color-secondary); line-height: 1.4; }
.rel-arrow {
font-size: 18px; color: #cbd5e1; flex-shrink: 0;
transition: color 0.2s, transform 0.2s;
}
.rel-card:hover .rel-arrow { color: var(--el-text-color-regular); transform: translateX(3px); }
@media (max-width: 640px) { .rel-grid { grid-template-columns: 1fr; } }
.suno-cta {
padding: 100px 0; background: #0f172a;
text-align: center; position: relative; overflow: hidden;
}
.suno-cta::before {
content: '';
position: absolute; top: -100px; left: 50%;
transform: translateX(-50%);
width: 700px; height: 400px;
background: radial-gradient(ellipse, rgba(39, 113, 134, 0.12) 0%, transparent 70%);
pointer-events: none;
}
.suno-cta h2 {
font-size: clamp(28px, 4vw, 44px);
font-weight: 700; color: #f8fafc;
letter-spacing: normal; margin-bottom: 28px;
position: relative;
}
.suno-cta > div > p {
font-size: clamp(16px, 2vw, 18px);
color: var(--el-text-color-secondary); max-width: 520px;
margin: 0 auto 56px; line-height: 1.6;
position: relative;
}
.cta-actions {
display: flex; gap: 12px; justify-content: center;
flex-wrap: wrap; position: relative;
}
.suno-page .btn-cta-light {
display: inline-flex; align-items: center; gap: 6px;
padding: 14px 32px; background: #277186; color: #ffffff !important;
border-radius: 9999px; font-size: 15px; font-weight: 700;
transition: background 0.2s, transform 0.15s;
text-decoration: none !important;
}
.suno-page .btn-cta-light:hover { background: #1f5a6b; transform: translateY(-1px); text-decoration: none !important; }
.suno-page .btn-cta-ghost {
display: inline-flex; align-items: center;
padding: 14px 32px; background: transparent; color: #94a3b8 !important;
border: 1px solid #334155; border-radius: 9999px;
font-size: 15px; font-weight: 600;
transition: border-color 0.2s, color 0.2s;
text-decoration: none !important;
}
.suno-page .btn-cta-ghost:hover { border-color: var(--el-text-color-regular); color: #e2e8f0 !important; text-decoration: none !important; }
.suno-page code {
background: #dbeafe !important;
padding: 2px 8px !important;
border-radius: 5px !important;
font-size: 13px !important;
font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace !important;
color: #1e40af !important;
border: 1px solid #bfdbfe !important;
}
.s-text-dark { color: var(--el-text-color-primary); }
.s-text-brand { color: #277186; }
.s-section-body { font-size: 16px; color: var(--el-text-color-regular); line-height: 1.8; text-align: center; max-width: 680px; margin: 0 auto; }
.s-section-body p + p { margin-top: 16px; }
.s-text-muted { color: var(--el-text-color-secondary); }
.tag-row {
display: flex; gap: 8px; flex-wrap: wrap;
justify-content: center; margin-top: 16px;
}
.tag-item {
padding: 4px 12px; background: var(--el-bg-color-page);
border: 1px solid var(--el-border-color-light); border-radius: 9999px;
font-size: 12px; font-weight: 600; color: var(--el-text-color-regular);
}
html.dark .suno-page { background: var(--el-bg-color); color: var(--el-text-color-primary); }
html.dark .suno-page a { color: inherit; }
html.dark .markdown-body .suno-page a { color: inherit !important; }
html.dark .markdown-body .suno-page a.s-btn-primary,
html.dark .markdown-body .suno-page a.price-btn-fill,
html.dark .markdown-body .suno-page a.btn-cta-light { color: #ffffff !important; }
html.dark .markdown-body .suno-page a.s-btn-secondary { color: var(--el-text-color-primary) !important; }
html.dark .markdown-body .suno-page a.price-btn-out { color: var(--el-text-color-primary) !important; }
html.dark .markdown-body .suno-page a.btn-cta-ghost { color: #94a3b8 !important; }
html.dark .markdown-body .suno-page a.btn-cta-ghost:hover { color: var(--el-text-color-primary) !important; }
html.dark .s-bg-white { background: var(--el-bg-color); }
html.dark .s-bg-gray { background: var(--el-bg-color-page); }
html.dark .s-bg-dark { background: var(--el-bg-color); }
html.dark .s-header h2 { color: var(--el-text-color-primary); }
html.dark .s-header p { color: var(--el-text-color-secondary); }
html.dark .suno-page .s-btn-primary { background: #277186; color: #ffffff !important; }
html.dark .suno-page .s-btn-primary:hover { background: #1f5a6b; }
html.dark .suno-page .s-btn-secondary {
background: #1e293b; color: var(--el-text-color-primary) !important;
border-color: #475569;
}
html.dark .suno-page .s-btn-secondary:hover { background: var(--el-border-color); border-color: var(--el-text-color-regular); }
html.dark .suno-hero { background: var(--el-bg-color); }
html.dark .suno-hero::before {
background: radial-gradient(ellipse, rgba(39, 113, 134, 0.15) 0%, transparent 70%);
}
html.dark .hero-badge { background: var(--el-bg-color-page); border-color: var(--el-border-color); color: var(--el-text-color-secondary); }
html.dark .suno-hero h1 { color: var(--el-text-color-primary); }
html.dark .suno-hero h1 span { color: #3b9ab5; }
html.dark .suno-page .hero-subtitle { color: var(--el-text-color-secondary); }
html.dark .hero-highlights .h-item { color: var(--el-text-color-secondary); }
html.dark .hero-highlights .h-div { background: var(--el-border-color); }
html.dark .suno-stats { background: var(--el-bg-color-page); border-color: var(--el-border-color); }
html.dark .stat-val { color: var(--el-text-color-primary); }
html.dark .stat-lbl { color: var(--el-text-color-regular); }
html.dark .feat-card {
background: var(--el-bg-color-page); border-color: var(--el-border-color);
}
html.dark .feat-card:hover { border-color: var(--el-text-color-regular); box-shadow: 0 4px 16px rgba(0,0,0,0.3); }
html.dark .feat-card h3 { color: var(--el-text-color-primary); }
html.dark .feat-card p { color: var(--el-text-color-secondary); }
html.dark .code-right h2 { color: var(--el-text-color-primary); }
html.dark .code-right > p { color: var(--el-text-color-secondary); }
html.dark .step-num { background: var(--el-border-color); border-color: var(--el-text-color-regular); color: var(--el-text-color-secondary); }
html.dark .step-text h4 { color: var(--el-text-color-primary); }
html.dark .step-text p { color: var(--el-text-color-regular); }
html.dark .suno-page code {
background: #1e3a5f !important; color: #93c5fd !important; border-color: #2563eb !important;
}
html.dark .s-text-dark { color: var(--el-text-color-primary); }
html.dark .s-text-brand { color: #3b9ab5; }
html.dark .s-section-body { color: var(--el-text-color-secondary); }
html.dark .act-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); }
html.dark .act-card:hover { border-color: var(--el-text-color-regular); box-shadow: 0 4px 16px rgba(0,0,0,0.3); }
html.dark .act-card h3 { color: var(--el-text-color-primary); }
html.dark .act-card p { color: var(--el-text-color-secondary); }
html.dark .uc-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); }
html.dark .uc-card:hover { border-color: var(--el-text-color-regular); box-shadow: 0 4px 16px rgba(0,0,0,0.3); }
html.dark .uc-card h3 { color: var(--el-text-color-primary); }
html.dark .uc-card p { color: var(--el-text-color-secondary); }
html.dark .stp-num { color: #334155; }
html.dark .stp-card h3 { color: var(--el-text-color-primary); }
html.dark .stp-card p { color: var(--el-text-color-secondary); }
html.dark .stp-conn { background: var(--el-border-color); }
html.dark .cmp-table th { background: var(--el-bg-color-page); color: var(--el-text-color-secondary); }
html.dark .cmp-table td { border-color: var(--el-border-color); }
html.dark .cmp-table th { border-color: var(--el-border-color); }
html.dark .cmp-table td:first-child { color: var(--el-text-color-primary); }
html.dark .cmp-brand { color: var(--el-text-color-primary); }
html.dark .cx { color: var(--el-text-color-regular); }
html.dark .mdl-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); }
html.dark .mdl-card.mdl-rec { border-color: #277186; }
html.dark .mdl-head h3 { color: var(--el-text-color-primary); }
html.dark .mdl-tag { background: var(--el-border-color); color: var(--el-text-color-secondary); }
html.dark .mdl-tag-blue { background: #1e3a5f; color: #60a5fa; }
html.dark .mdl-tag-purple { background: rgba(39, 113, 134, 0.2); color: #3b9ab5; }
html.dark .mdl-desc { color: var(--el-text-color-secondary); }
html.dark .mdl-feats li { color: var(--el-text-color-secondary); }
html.dark .price-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); }
html.dark .price-card-feat { border-color: #277186; box-shadow: 0 8px 32px rgba(0,0,0,0.3); }
html.dark .price-tier { color: var(--el-text-color-secondary); }
html.dark .price-amt { color: var(--el-text-color-primary); }
html.dark .price-desc { color: var(--el-text-color-regular); }
html.dark .price-feats li { color: var(--el-text-color-secondary); }
html.dark .suno-page .price-btn-out {
background: #1e293b; color: var(--el-text-color-primary) !important; border-color: #334155;
}
html.dark .suno-page .price-btn-out:hover { background: var(--el-border-color); border-color: var(--el-text-color-regular); }
html.dark .faq-item { border-color: var(--el-border-color); }
html.dark .faq-q { color: var(--el-text-color-primary); }
html.dark .faq-q:hover { color: #ffffff; }
html.dark .faq-chev { color: var(--el-text-color-regular); }
html.dark .faq-a p { color: var(--el-text-color-secondary); }
html.dark .rel-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); }
html.dark .rel-card:hover { border-color: var(--el-text-color-regular); box-shadow: 0 4px 12px rgba(0,0,0,0.3); }
html.dark .rel-info h3 { color: var(--el-text-color-primary); }
html.dark .rel-info p { color: var(--el-text-color-regular); }
html.dark .rel-arrow { color: var(--el-text-color-regular); }
html.dark .rel-card:hover .rel-arrow { color: var(--el-text-color-secondary); }
html.dark .suno-cta { background: #020617; }
html.dark .suno-cta::before {
background: radial-gradient(ellipse, rgba(39, 113, 134, 0.2) 0%, transparent 70%);
}
html.dark .tag-item { background: var(--el-border-color); border-color: var(--el-text-color-regular); color: var(--el-text-color-secondary); }
html.dark .suno-page .btn-cta-light { color: #ffffff !important; }
html.dark .suno-page .btn-cta-ghost { color: #94a3b8 !important; }
html.dark .suno-page .btn-cta-ghost:hover { color: var(--el-text-color-primary) !important; }
html.dark .suno-page .price-btn-fill { color: #ffffff !important; }
.suno-page .code-left,.suno-page .code-right{width:100%;max-width:100%;min-width:0}
.suno-page .code-wrap{max-width:100%;min-width:0}
</style>
Suno API · Ace Data Cloud
Suno API:
Generate AI Music
Integrate Suno AI music generation capabilities into your application through a stable, comprehensive REST API. Create custom songs, instrumentals, remixes, covers, and more—all through a unified interface.
⚡ v6 Model Family
🎵 Unified Actions
📄 OpenAPI 3.0 Specification
🔑 Bearer Token Authentication
Does Suno Have an Official API?
Suno currently does not provide a public, self-service REST API. Its music generation features can only be accessed through the Suno website and app.
Ace Data Cloud fills this gap by providing a stable, production-ready API that gives you complete programmatic access to all of Suno's music generation capabilities—including the current Chirp v6 model family—through a clean REST interface, with an OpenAPI specification, Webhook support, streaming, and pay-as-you-go pricing.
A comprehensive API suite covering the complete Suno music generation workflow
🎵
Complete Music Generation
Generate complete songs with lyrics, vocals, and instruments from text prompts, or create instrumental music. Supports inspiration mode and custom mode for fine-grained control.
🔄
Generate, Extend, Cover, Mashup, Stems, Add Stem, Extract Stem, Sounds, Adjust Speed, Remaster, Underpaint, Overpaint, Replace Section, and more—all through the /suno/audios endpoint.
Pay per use: Add Stem 0.672 Credits (1.344 in enhanced mode), Extract Stem 1.12, generate sounds 0.112, adjust speed 0.28; enhanced song generation mode is 1.12 Credits.
🎤
Create and save custom singer voice styles with the Persona API. Reuse a consistent vocal identity across unlimited song generations.
📝
Automatically generate structured lyrics with section markers (verse, chorus, bridge) using two AI models. Also supports mashup lyrics, combining the lyrics of two songs.
🔀
Supports output in MP3 (default), MP3 URL (generate playable links for existing audio, 0.04 Credits each), MP4 (video with visualization), WAV (lossless audio), and MIDI (music notation) formats. Vocal separation can extract vocals, drums, bass, and more.
⚡
Supports real-time NDJSON streaming for progress updates, or set callback_url to receive results asynchronously. No polling required.
📤
Use mode=enhanced with /suno/upload to import authorized audio that regular uploads may not support, then use the audio ID for subsequent creations such as Cover, Samples, and Mashup.
🎚️
Studio Multitrack Projects
Create, read, and save multitrack projects with /suno/projects, generate or replace track candidates, and export a specified project version as a complete song.
curl -X POST https://api.acedata.cloud/suno/audios \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"action": "generate",
"prompt": "An upbeat pop song about a summer road trip",
"model": "chirp-v4",
"custom": false,
"callback_url": "https://your-app.com/webhook"
}'
{
"success": true,
"task_id": "b3d7a1...",
"data": [{
"id": "a8f2c9...",
"title": "Summer Highway",
"style": "cheerful pop, driving beat",
"duration": 124.5,
"audio_url": "https://cdn.acedata.cloud/assets/examples/fish/5ade0339-5f11-487e-aacc-06a908271706-8e3fcb0e5547.mp3",
"image_url": "https://cdn.acedata.cloud/e724d7f13d.png",
"video_url": "https://cdn.acedata.cloud/assets/examples/gemini/04a043bd-6b23-4b4e-945c-ce48158c3eee-3a89912507c7.mp4",
"state": "succeeded"
}]
}
Quick Start—Get Up and Running in 5 Minutes
A simple REST API with Bearer Token authentication. Generate your first AI song with a single request.
1
Sign up for Ace Data Cloud and get your Bearer Token from the console
2
Send a request to /suno/audios with your prompt and model preferences
3
Receive the audio URL, cover image, lyrics, and video—ready to use instantly
Complete music workflow, one API
The most comprehensive Suno API—covering every music creation workflow
✨
Create songs from text prompts in inspired or custom mode
⏩
Continue a song from any timestamp, adding new lyrics and styles
🎭
Create a new version of any song in a completely different style
🔗
Merge extended segments into one seamless complete track
🎚️
Separate vocals, drums, bass, melodies, and other tracks
🎧
Upgrade old songs with improved audio quality (v4.5+ / v5)
🎸
Add instrumental accompaniment to uploaded vocal tracks
🎤
Add AI vocals to uploaded instrumental tracks
✂️
Regenerate content within a specified time range of an existing song
🔀
Blend two reference songs into a new creation
📤
Upload your own audio and extend it with AI generation
🎯
Maintain a consistent singer identity across multiple songs
+ Upload Cover
+ Persona Voice
+ Sample
+ Full Stems
What can you build with the Suno API?
From consumer apps to enterprise platforms—developers are building these projects
🎮
Build consumer apps that let users generate custom songs, share, and collaborate
🎬
Automatically generate royalty-free background music for videos, short clips, and podcasts
🤖
Integrate with Claude, ChatGPT, or any AI Agent through our MCP Server for natural-language music creation
🏪
Generate branded music, advertising music, and product audio content in bulk
From sign-up to generating your first AI song in under 5 minutes
01
Sign Up and Get an API Key
Create a free account on Ace Data Cloud. Generate your Bearer Token from the API management console.
02
Send a POST request with a text prompt to /suno/audios. Use the SDK, cURL, or any HTTP client.
03
Embed the API into your app. Use Webhooks for asynchronous processing and scale to production with confidence.
Why Choose Ace Data Cloud Over Other Suno APIs?
See our competitive advantages in the features developers care about most
Feature
Ace Data Cloud
Other Platforms
Chirp v5 Model
✓
Partially Supported
Unified Actions (Extend, Cover, Stems, etc.)
✓
Partially Supported
OpenAPI 3.0 Specification
✓
Partially Supported
Webhook Callbacks
✓
Partially Supported
NDJSON Streaming
✓
Partially Supported
Custom Persona
✓
Partially Supported
MP3 + MP3 URL + MP4 + WAV + MIDI
✓
Partially Supported
MCP Server (AI Agent Integration)
✓
Partially Supported
Pay As You Go
✓
Partially Supported
No Watermark
✓
Partially Supported
Comparison of Suno and Other AI Models
Trying to decide between Suno, Udio, and other AI music platforms? See how they compare.
Capability
Suno (via Ace Data)
Udio
Others
Songs with vocals
✓
✓
✗
Custom lyrics
✓
✓
✗
Instrumental music
✓
✓
✓
Song continuation and remixing
✓
✓
✗
Vocal separation
✓
✗
✗
Persona voice cloning
✓
✗
✗
API access
✓
✗
Limited
Which model is right for you?
Choose from 6 Suno model versions based on your quality and speed needs
Suitable for basic music generation. Fastest speed and best value, ideal for prototyping and background music.
✓ Fastest generation speed
✓ Lowest cost (as low as $0.045/call)
✓ Reliable and stable for simple tasks
✓ Suitable for batch processing
Recommended
The best balance of quality and cost, suitable for production-grade applications. Improved vocal, instrument, and mixing quality.
✓ Studio-quality output
✓ Clearer vocals and expressiveness
✓ Enhanced instrument separation
✓ Supports remastering (v4.5+)
✓ Custom voice Persona
Suno's latest and most advanced model, with the highest-fidelity audio and most natural vocals.
✓ Highest audio quality
✓ Most natural vocal expression
✓ Variation control (high/normal/subtle)
✓ All advanced features
✓ Best for flagship products
Transparent pay-as-you-go pricing. No subscription fees. No hidden costs. Pay only for what you use.
Up to 27% off volume packages
Pay-as-you-go
Generate
$0.045
/ call
Core music generation—2 songs generated per call
✓ v3.0 / v3.5: as low as $0.045 / call
✓ v4 / v4.5 / v5: as low as $0.052 / call
✓ Extend, Cover, Remix, Mashup
✓ Stems, Remaster, segment sampling, and Inspo inspiration features
✓ Underpaint & Overpaint
✓ Webhook + streaming
✓ Task polling—free
View pricing details
View API documentation
Enterprise
Custom
Volume discounts for high-usage teams
✓ Usage-based discounts
✓ Priority support
✓ Dedicated account manager
✓ Custom rate limits
✓ SLA guarantee
Contact sales
Frequently Asked Questions
Everything you need to know about using the Suno API
Does Suno have an official API?
▾
Suno currently does not provide a public, self-service REST API. Ace Data Cloud provides stable, production-ready APIs that give you full access to all of Suno's music generation capabilities, including the current Chirp v6 model family.
How does pricing work?
▾
We use a pay-as-you-go model, with no subscription or monthly fees. Each API call has transparent per-operation pricing—for example, song generation starts at $0.052 and lyrics start at $0.002. Volume packages offer discounts of up to 27%. You can top up at any time. Task polling is always free.
Which models are supported?
▾
Currently supported models include Chirp v6, v6-wild, v6-mini, and compatible models. Each model has its own focus in generation speed, experimentation, and style adherence; refer to the API parameter enumeration for specific available values.
How should I handle longer generation times?
▾
Three options: (1) Use callback_url—set a Webhook URL, and we will POST the result when complete. (2) Use NDJSON streaming—set the Accept: application/x-ndjson request header to receive real-time progress. (3) Poll via /suno/tasks—this endpoint is free and lets you check the status at any time.
Is the output watermarked?
▾
No. All audio outputs are clean and watermark-free. Generated MP3, MP3 URL, WAV, MP4, and MIDI files can be used directly in production environments.
Can it be used with AI Agents such as Claude or ChatGPT?
▾
Yes! We provide an official MCP Server (mcp-suno, available on PyPI) that integrates directly with Claude Desktop, VS Code, and other MCP-compatible AI tools. Your AI Agent can generate music through natural-language conversations. We also provide a standard REST API + OpenAPI specification to support any other integration method.
What is "Persona"? How do I use it?
▾
A Persona is a saved singer vocal style. Upload a reference song via /suno/upload, then create a Persona via /suno/persona. Once created, you can reference the persona_id in any generation request to maintain a consistent vocal identity across multiple songs.
Which output formats are supported?
▾
Six outputs: MP3 (default, included in every response), MP3 URL (generates a playable link for existing audio, via /suno/mp3), MP4 (video with waveform visualization, via /suno/mp4), WAV (lossless audio, via /suno/wav), MIDI (musical notation, via /suno/midi), and separated tracks (vocals, drums, bass, etc., via the stems operation).
Explore our complete suite of AI APIs, covering images, video, search, and more
🎨
Black Forest Labs' top-tier text-to-image model
→
🎬
Create AI-generated videos using Dream Machine and Ray models
→
📹
Google's Veo video generation—cinematic-quality AI video
→
💬
Anthropic's Claude—powerful reasoning and coding capabilities through an OpenAI-compatible proxy
→
Start Generating AI Music Now
Join thousands of developers building with the most comprehensive Suno API. Pay as you go—no subscription fees, no commitments.
curl --request POST " https://api.acedata.cloud/suno/audios" \
--header " Authorization: Bearer YOUR_API_KEY" \
--header " Content-Type: application/json" \
--data ' {}'
Explore the supported endpoints and integration guides for Suno Music Generation.
If you meet any issue, please check support info or browse the latest documentation on docs.acedata.cloud .