|
import Section from "./components/Section"; |
|
import Markdown from 'react-markdown'; |
|
|
|
|
|
export default function Home() { |
|
|
|
const markdown = ` |
|
|
|
--- |
|
## 👋 Introduction |
|
|
|
Suno.ai v3 is an amazing AI music service. Although the official API is not yet available, we couldn't wait to integrate its capabilities somewhere. |
|
|
|
We discovered that some users have similar needs, so we decided to open-source this project, hoping you'll like it. |
|
|
|
We update quickly, please star us on Github: [github.com/gcui-art/suno-api](https://github.com/gcui-art/suno-api) ⭐ |
|
|
|
## 🌟 Features |
|
|
|
- Perfectly implements the creation API from \`app.suno.ai\` |
|
- Compatible with the format of OpenAI’s \`/v1/chat/completions\` API. |
|
- Automatically keep the account active. |
|
- Supports \`Custom Mode\` |
|
- One-click deployment to Vercel |
|
- In addition to the standard API, it also adapts to the API Schema of Agent platforms like GPTs and Coze, so you can use it as a tool/plugin/Action for LLMs and integrate it into any AI Agent. |
|
- Permissive open-source license, allowing you to freely integrate and modify. |
|
|
|
## 🚀 Getting Started |
|
|
|
### 1. Obtain the cookie of your app.suno.ai account |
|
|
|
1. Head over to [app.suno.ai](https://app.suno.ai) using your browser. |
|
2. Open up the browser console: hit \`F12\` or access the \`Developer Tools\`. |
|
3. Navigate to the \`Network tab\`. |
|
4. Give the page a quick refresh. |
|
5. Identify the request that includes the keyword \`client?_clerk_js_version\`. |
|
6. Click on it and switch over to the \`Header\` tab. |
|
7. Locate the \`Cookie\` section, hover your mouse over it, and copy the value of the Cookie. |
|
`; |
|
|
|
|
|
const markdown_part2 = ` |
|
### 2. Clone and deploy this project |
|
|
|
You can choose your preferred deployment method: |
|
|
|
#### Deploy to Vercel |
|
|
|
[](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fgcui-art%2Fsuno-api&env=SUNO_COOKIE&project-name=suno-api&repository-name=suno-api) |
|
|
|
#### Run locally |
|
|
|
\`\`\`bash |
|
git clone https://github.com/gcui-art/suno-api.git |
|
cd suno-api |
|
npm install |
|
\`\`\` |
|
|
|
### 3. Configure suno-api |
|
|
|
- If deployed to Vercel, please add an environment variable \`SUNO_COOKIE\` in the Vercel dashboard, with the value of the cookie obtained in the first step. |
|
|
|
- If you’re running this locally, be sure to add the following to your \`.env\` file: |
|
|
|
\`\`\`bash |
|
SUNO_COOKIE=<your-cookie> |
|
\`\`\` |
|
|
|
### 4. Run suno-api |
|
|
|
- If you’ve deployed to Vercel: |
|
- Please click on Deploy in the Vercel dashboard and wait for the deployment to be successful. |
|
- Visit the \`https://<vercel-assigned-domain>/api/get_limit\` API for testing. |
|
- If running locally: |
|
- Run \`npm run dev\`. |
|
- Visit the \`http://localhost:3000/api/get_limit\` API for testing. |
|
- If the following result is returned: |
|
|
|
\`\`\`json |
|
{ |
|
"credits_left": 50, |
|
"period": "day", |
|
"monthly_limit": 50, |
|
"monthly_usage": 50 |
|
} |
|
\`\`\` |
|
|
|
it means the program is running normally. |
|
|
|
### 5. Use Suno API |
|
|
|
You can check out the detailed API documentation at [suno.gcui.ai/docs](https://suno.gcui.ai/docs). |
|
|
|
## 📚 API Reference |
|
|
|
Suno API currently mainly implements the following APIs: |
|
|
|
\`\`\`bash |
|
- \`/api/generate\`: Generate music |
|
- \`/v1/chat/completions\`: Generate music - Call the generate API in a format |
|
that works with OpenAI’s API. |
|
- \`/api/custom_generate\`: Generate music (Custom Mode, support setting lyrics, |
|
music style, title, etc.) |
|
- \`/api/generate_lyrics\`: Generate lyrics based on prompt |
|
- \`/api/get\`: Get music list |
|
- \`/api/get?ids=\`: Get music Info by id, separate multiple id with ",". |
|
- \`/api/get_limit\`: Get quota Info |
|
- \`/api/extend_audio\`: Extend audio length |
|
- \`/api/concat\`: Generate the whole song from extensions |
|
\`\`\` |
|
|
|
For more detailed documentation, please check out the demo site: |
|
|
|
👉 [suno.gcui.ai/docs](https://suno.gcui.ai/docs) |
|
|
|
`; |
|
return ( |
|
<> |
|
<Section className=""> |
|
<div className="flex flex-col m-auto py-20 text-center items-center justify-center gap-4 my-8 |
|
lg:px-20 px-4 |
|
bg-indigo-900/90 rounded-2xl border shadow-2xl hover:shadow-none duration-200"> |
|
<span className=" px-5 py-1 text-xs font-light border rounded-full |
|
border-white/20 uppercase text-white/50"> |
|
Unofficial |
|
</span> |
|
<h1 className="font-bold text-7xl flex text-white/90"> |
|
Suno AI API |
|
</h1> |
|
<p className="text-white/80 text-lg"> |
|
`Suno-api` is an open-source project that enables you to set up your own Suno AI API. |
|
</p> |
|
</div> |
|
|
|
</Section> |
|
<Section className="my-10"> |
|
<article className="prose lg:prose-lg max-w-3xl"> |
|
<Markdown> |
|
{markdown} |
|
</Markdown> |
|
<video controls width="1024" className="w-full border rounded-lg shadow-xl"> |
|
<source src="/get-cookie-demo.mp4" type="video/mp4" /> |
|
Your browser does not support frames. |
|
</video> |
|
<Markdown> |
|
{markdown_part2} |
|
</Markdown> |
|
</article> |
|
</Section> |
|
|
|
|
|
</> |
|
); |
|
} |
|
|