|
1 |
| -import Image from "next/image"; |
| 1 | +import Section from "./components/Section"; |
| 2 | +import Markdown from 'react-markdown'; |
| 3 | + |
2 | 4 |
|
3 | 5 | export default function Home() {
|
| 6 | + |
| 7 | + const markdown = ` |
| 8 | +## Introduction |
| 9 | +
|
| 10 | +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. |
| 11 | +
|
| 12 | +We discovered that some users have similar needs, so we decided to open-source this project, hoping you'll like it. |
| 13 | +
|
| 14 | +## Features |
| 15 | +
|
| 16 | +- Perfectly implements the creation API from \`app.suno.ai\` |
| 17 | +- Supports \`Custom Mode\` |
| 18 | +- One-click deployment to Vercel |
| 19 | +- 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. |
| 20 | +- Permissive open-source license, allowing you to freely integrate and modify. |
| 21 | +
|
| 22 | +## Getting Started |
| 23 | +
|
| 24 | +### 1. Obtain the cookie of your app.suno.ai account |
| 25 | +
|
| 26 | +### 2. Clone and deploy this project |
| 27 | +
|
| 28 | +### 3. Configure suno-api |
| 29 | +
|
| 30 | +### 4. Run suno api |
| 31 | +
|
| 32 | +### 5. Create more freely |
| 33 | +
|
| 34 | +`; |
4 | 35 | return (
|
5 |
| - <main className="flex min-h-screen flex-col items-center justify-between p-24"> |
6 |
| - <div className="z-10 max-w-5xl w-full items-center justify-between font-mono text-sm lg:flex"> |
7 |
| - <p className="fixed left-0 top-0 flex w-full justify-center border-b border-gray-300 bg-gradient-to-b from-zinc-200 pb-6 pt-8 backdrop-blur-2xl dark:border-neutral-800 dark:bg-zinc-800/30 dark:from-inherit lg:static lg:w-auto lg:rounded-xl lg:border lg:bg-gray-200 lg:p-4 lg:dark:bg-zinc-800/30"> |
8 |
| - Suno API |
9 |
| - </p> |
10 |
| - <div className="fixed bottom-0 left-0 flex h-48 w-full items-end justify-center bg-gradient-to-t from-white via-white dark:from-black dark:via-black lg:static lg:h-auto lg:w-auto lg:bg-none"> |
11 |
| - <a |
12 |
| - className="pointer-events-none flex place-items-center gap-2 p-8 lg:pointer-events-auto lg:p-0" |
13 |
| - href="https://vercel.com?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app" |
14 |
| - target="_blank" |
15 |
| - rel="noopener noreferrer" |
16 |
| - > |
17 |
| - By{" "} |
18 |
| - <a href="https://github.com/gcui-art/"> |
19 |
| - gcui.art |
20 |
| - </a> |
21 |
| - </a> |
22 |
| - </div> |
23 |
| - </div> |
24 |
| - |
25 |
| - <div className="relative flex place-items-center |
26 |
| - before:absolute before:h-[300px] before:w-full sm:before:w-[480px] before:-translate-x-1/2 before:rounded-full |
27 |
| - before:bg-gradient-radial before:from-white before:to-transparent |
28 |
| - before:blur-2xl before:content-[''] after:absolute after:-z-20 after:h-[180px] after:w-full sm:after:w-[240px] after:translate-x-1/3 |
29 |
| - after:bg-gradient-conic after:from-sky-200 after:via-blue-200 after:blur-2xl |
30 |
| - after:content-[''] before:dark:bg-gradient-to-br before:dark:from-transparent before:dark:to-blue-700 before:dark:opacity-10 after:dark:from-sky-900 after:dark:via-[#0141ff] after:dark:opacity-40 before:lg:h-[360px] z-[-1]"> |
31 |
| - <h1 className=" font-bold text-2xl"> |
32 |
| - Easily integrate Suno AI into your GPTs and other agents. |
33 |
| - </h1> |
34 |
| - |
35 |
| - </div> |
36 |
| - |
37 |
| - <div className="mb-32 grid text-center lg:max-w-5xl lg:w-full lg:mb-0 lg:grid-cols-4 lg:text-left"> |
38 |
| - <a |
39 |
| - href="https://nextjs.org/docs?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app" |
40 |
| - className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30" |
41 |
| - target="_blank" |
42 |
| - rel="noopener noreferrer" |
43 |
| - > |
44 |
| - <h2 className={`mb-3 text-2xl font-semibold`}> |
45 |
| - Docs{" "} |
46 |
| - <span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none"> |
47 |
| - -> |
48 |
| - </span> |
49 |
| - </h2> |
50 |
| - <p className={`m-0 max-w-[30ch] text-sm opacity-50`}> |
51 |
| - Find in-depth information about Next.js features and API. |
52 |
| - </p> |
53 |
| - </a> |
54 |
| - |
55 |
| - <a |
56 |
| - href="https://nextjs.org/learn?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app" |
57 |
| - className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30" |
58 |
| - target="_blank" |
59 |
| - rel="noopener noreferrer" |
60 |
| - > |
61 |
| - <h2 className={`mb-3 text-2xl font-semibold`}> |
62 |
| - Learn{" "} |
63 |
| - <span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none"> |
64 |
| - -> |
65 |
| - </span> |
66 |
| - </h2> |
67 |
| - <p className={`m-0 max-w-[30ch] text-sm opacity-50`}> |
68 |
| - Learn about Next.js in an interactive course with quizzes! |
69 |
| - </p> |
70 |
| - </a> |
71 |
| - |
72 |
| - <a |
73 |
| - href="https://vercel.com/templates?framework=next.js&utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app" |
74 |
| - className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30" |
75 |
| - target="_blank" |
76 |
| - rel="noopener noreferrer" |
77 |
| - > |
78 |
| - <h2 className={`mb-3 text-2xl font-semibold`}> |
79 |
| - Templates{" "} |
80 |
| - <span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none"> |
81 |
| - -> |
82 |
| - </span> |
83 |
| - </h2> |
84 |
| - <p className={`m-0 max-w-[30ch] text-sm opacity-50`}> |
85 |
| - Explore starter templates for Next.js. |
| 36 | + <> |
| 37 | + <Section className=""> |
| 38 | + <div className="flex flex-col m-auto py-20 text-center items-center justify-center gap-4 bg-indigo-900/10 my-8 rounded-2xl border"> |
| 39 | + <span className=" px-5 py-1 text-xs font-light border rounded-full border-indigo-900 uppercase">Unofficial</span> |
| 40 | + <h1 className="font-bold text-7xl flex text-indigo-900"> |
| 41 | + Suno AI API |
| 42 | + </h1> |
| 43 | + <p className="text-indigo-900/80 text-lg"> |
| 44 | + Deploy your own Suno AI API with just one click. |
86 | 45 | </p>
|
87 |
| - </a> |
88 |
| - |
89 |
| - <a |
90 |
| - href="https://vercel.com/new?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app" |
91 |
| - className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30" |
92 |
| - target="_blank" |
93 |
| - rel="noopener noreferrer" |
94 |
| - > |
95 |
| - <h2 className={`mb-3 text-2xl font-semibold`}> |
96 |
| - Deploy{" "} |
97 |
| - <span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none"> |
98 |
| - -> |
99 |
| - </span> |
100 |
| - </h2> |
101 |
| - <p className={`m-0 max-w-[30ch] text-sm opacity-50 text-balance`}> |
102 |
| - Instantly deploy your Next.js site to a shareable URL with Vercel. |
103 |
| - </p> |
104 |
| - </a> |
105 |
| - </div> |
106 |
| - </main> |
| 46 | + </div> |
| 47 | + |
| 48 | + </Section> |
| 49 | + <Section className="my-10"> |
| 50 | + <article className="prose lg:prose-lg max-w-3xl border-t pt-10"> |
| 51 | + <Markdown> |
| 52 | + {markdown} |
| 53 | + </Markdown> |
| 54 | + </article> |
| 55 | + </Section> |
| 56 | + |
| 57 | + |
| 58 | + </> |
107 | 59 | );
|
108 | 60 | }
|
0 commit comments