What it’s good at
- 10–60 second songs and instrumentals
- Your own lyrics
- Any style or mood
Details
| Makes | Music |
| Speed | About a minute |
| Licence | MIT |
| Made by | ACE Studio × StepFun |
| Reach it | kind "music" · make_song |
| Status | On now |
Start a creation, then check it with its id (or pass a webhook). Keys: API keys. Full reference: Docs.
curl -X POST https://phantasia.pics/api/v1/creations \
-H "Authorization: Bearer $PHANTASIA_KEY" -H "Content-Type: application/json" \
-d '{"kind":"music","prompt":"Lo-fi hip hop, soft piano, vinyl crackle, rainy evening","options":{"seconds":30}}'const res = await fetch("https://phantasia.pics/api/v1/creations", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PHANTASIA_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"kind": "music",
"prompt": "Lo-fi hip hop, soft piano, vinyl crackle, rainy evening",
"options": {
"seconds": 30
}
}),
});
let creation = await res.json();
while (!["done", "failed", "blocked"].includes(creation.status)) {
await new Promise((r) => setTimeout(r, 3000));
creation = await (await fetch(`https://phantasia.pics/api/v1/creations/${creation.id}`, {
headers: { Authorization: `Bearer ${process.env.PHANTASIA_KEY}` },
})).json();
}
console.log(creation.url);import os, time, requests
key = {"Authorization": f"Bearer {os.environ['PHANTASIA_KEY']}"}
creation = requests.post("https://phantasia.pics/api/v1/creations", headers=key, json={
"kind": "music",
"prompt": "Lo-fi hip hop, soft piano, vinyl crackle, rainy evening",
"options": {
"seconds": 30
}
}).json()
while creation.get("status") not in ("done", "failed", "blocked"):
time.sleep(3)
creation = requests.get(f"https://phantasia.pics/api/v1/creations/{creation['id']}", headers=key).json()
print(creation["url"])kind "music" · make_song Ask your agent: “Make a 10-second upbeat intro jingle for my channel”
Prompts to start from
- Lo-fi hip hop, soft piano, vinyl crackle, rainy eveningUse
- Upbeat 10 second intro jingle, bright synth plucks, punchy drums, ends on a clean hitUse
- Gentle cinematic underscore, felt piano and soft strings, hopeful and quiet, no drumsUse
- Cheerful acoustic pop birthday song, claps and ukulele, sing-along chorusUse
