modèles

suno-api

Markdown · JSON

suno-api

Suno crée de la musique à partir d’une idée décrite en quelques mots. Le processus automatique documenté produit deux morceaux et propose une option de génération instrumentale ; les fichiers audio terminés et les métadonnées des pistes sont renvoyés dans le cadre de la tâche de génération.

À propos du modèle

Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.

Suno est un service de génération musicale qui transforme une idée écrite en chansons. Le processus automatique documenté accepte une courte description de la musique souhaitée et un réglage permettant de choisir une version instrumentale, puis génère deux morceaux. Utilisez le brief pour définir le thème, l’ambiance et l’orientation musicale que vous souhaitez entendre dans les pistes terminées.

Commencez par le rôle que la musique doit jouer. Un fond calme pour une explication, une ouverture énergique pour une courte vidéo ou une chanson introspective sur un voyage donnent chacun un objectif concret au brief. Décrivez en quelques phrases claires l’ambiance souhaitée et les caractéristiques musicales qui comptent pour cet objectif.

Pour une chanson avec voix, précisez clairement le thème et la langue dans le brief créatif. Décrivez l’idée que le morceau doit exprimer et le ton que l’interprétation doit transmettre. Écoutez le résultat terminé pour évaluer la manière dont la voix, les paroles et l’arrangement fonctionnent ensemble. Conservez les informations générées sur la piste avec l’audio pour l’évaluation.

Pour un résultat instrumental, utilisez l’option de génération instrumentale décrite dans la documentation et décrivez l’orientation musicale dans le texte. Précisez l’atmosphère souhaitée et les instruments à mettre en avant lorsqu’ils comptent pour le projet. Évaluez le morceau terminé en fonction de la place qu’il occupera au montage, y compris les passages qui doivent accompagner une voix parlée en fond sonore ou soutenir une transition visuelle.

Le processus automatique produit deux morceaux à partir de l’idée soumise. Traitez-les comme deux propositions distinctes et conservez les deux fichiers audio terminés. Écoutez chacun du début à la fin, en passant par son développement. Comparez les morceaux réels au même objectif, notamment leur ambiance, leur arrangement et leur adéquation à l’usage prévu.

La génération est organisée sous forme de tâche. Conservez l’ID de tâche renvoyé lorsque vous consultez son résultat et distinguez les pistes terminées des éléments encore en cours. Le résultat documenté comprend des informations propres à chaque piste, comme son titre, son statut, l’emplacement du fichier audio et sa durée. Enregistrez le fichier audio terminé lui-même avec les métadonnées disponibles et le brief d’origine.

Pour une vidéo ou une présentation, testez la musique sélectionnée avec le contenu réel. Vérifiez l’ouverture, les transitions et la fin au niveau d’écoute prévu. Repérez le passage qui sert le montage et conservez la piste entière pour les modifications ultérieures. La pertinence d’un extrait musical s’évalue dans le contexte de la voix, des images et du rythme de l’œuvre terminée.

Conservez ensemble l’idée écrite, le réglage de génération instrumentale, la sélection du modèle et toutes les pistes terminées. Lorsqu’une proposition doit être révisée, identifiez l’écart musical, par exemple un arrangement trop dense sous une voix parlée ou une ouverture qui se développe trop lentement. Préservez l’orientation utile et révisez la partie du brief liée à ce problème.

Ailoot Ultra · Music POST /v1/music/generations suno-api

suno-api

Suno /suno-api

Premiers pas

Suno crée de la musique à partir d’une idée décrite en quelques mots. Le processus automatique documenté produit deux morceaux et propose une option de génération instrumentale ; les fichiers audio terminés et les métadonnées des pistes sont renvoyés dans le cadre de la tâche de génération.

Entrées acceptées
Texte
Résultats
Audio · Images · Vidéo

Disponible dans Ailoot · entrées et méthodes

Ailoot Ultra · Music POST /v1/music/generations
Types d’entrée
text
Types de sortie
audio, image, video
ChampTypeExigenceValeurs et limitesPar défaut
ChampmodelTypestringExigenceObligatoireValeurs et limites
suno-api
Conditions: Utilisez exactement ce sélecteur de routage Ailoot.
Par défaut—
Champgpt_description_promptTypestringExigenceObligatoireValeurs et limites
Conditions: Décrivez l’idée musicale ou le thème de la chanson.
Par défaut—
ChampmvTypestringExigenceObligatoireValeurs et limites
chirp-fenix, chirp-crow, chirp-bluejay, chirp-auk, chirp-v4, chirp-v3-5
Conditions: Sélectionnez explicitement une version documentée de Suno ; l’exemple utilise chirp-crow (v5).
Par défaut—
Champmake_instrumentalTypebooleanExigenceObligatoireValeurs et limites
Conditions: Définissez true pour une musique instrumentale ou false pour une chanson.
Par défaut—
Paramètres et cycle de vie de la méthode
ParamètreContrat
Paramètrecontent_typeContratapplication/json
ParamètrerequiredContratmodel, gpt_description_prompt, mv, make_instrumental
ParamètreoptionalContrat
Paramètrematerial_typesContrattext
ParamètreconditionsContratUtilisez exactement ce sélecteur de routage Ailoot., Décrivez l’idée musicale ou le thème de la chanson., Sélectionnez explicitement une version documentée de Suno ; l’exemple utilise chirp-crow (v5)., Définissez true pour une musique instrumentale ou false pour une chanson.

Cycle de vie : submit_once_poll_original

GET /v1/music/generations/{request_id}

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Tarifs

Calcul du coût final

Les tarifs affichés servent à estimer le coût avant la génération. Le montant final est calculé à partir du coût enregistré pour la génération d’origine. La durée mesurée du résultat et les quantités prévisionnelles ne constituent pas la quantité finale facturable.

Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.

Mode rapide
Non précisé Lorsque le mode rapide est sélectionné
Mode Flex
Non précisé Lorsque le mode flex est sélectionné
Effort de raisonnement maximal
Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)

Tarifs estimés à des fins de comparaison

Prix par configuration

Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.

ConfigurationBarème tarifaireQuantité prévisionnelleQuantité facturéeCoût
ConfigurationTarifs de base par jetonBarème tarifaireTarif de baseQuantité prévisionnelle—Quantité facturée—Coût
Entrée · Tokens en entrée · Estimation à des fins de comparaison uniquement — / 1K tokens
Sortie · Tokens en sortie · Estimation à des fins de comparaison uniquement — / 1K tokens
Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K tokens
Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K tokens
Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K tokens
ConfigurationPar requêteBarème tarifaire—Quantité prévisionnelle—Quantité facturéeune requêteCoût
Entrée · Estimation à des fins de comparaison uniquement $0.2 par requête
ConfigurationCoût de génération estiméBarème tarifaire—Quantité prévisionnelleEstimation pour une générationQuantité facturée—Coût
Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $0.2 estimation avant génération

Cette estimation ne constitue ni des frais supplémentaires ni un tarif fixe pour la génération terminée.

Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →

Exemples de requêtes

Ailoot Ultra · Music

curl · créer une seule fois et conserver le reçuLisez la tâche d’origineEnregistrez chaque ressource finalisée qui vous appartient
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
  "model": "suno-api",
  "gpt_description_prompt": "古诗词",
  "mv": "chirp-crow",
  "make_instrumental": false
}
JSON
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/music/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
# Create once; retain id, polling_url, original task identifiers and every header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
    raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("status.json").read_text())
roles={}
def visit(v,path=""):
    if isinstance(v,dict):
        for k,x in v.items(): visit(x,path+"/"+k)
    elif isinstance(v,list):
        for i,x in enumerate(v): visit(x,path+"/"+str(i))
    elif isinstance(v,str):
        u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
        if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
            roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
    target=Path(f"asset-{i}.bin")
    subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
    raw=target.read_bytes()
    if not raw: raise SystemExit("Empty asset; retain original status and metadata")
    ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
    name=f"asset-{i}.{ext}"
    if target.name!=name: target.rename(name)
    manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS

Recevoir et enregistrer les résultats

Ailoot Ultra · Music

Téléchargez chaque image renvoyée ou enregistrez son contenu Base64

  • GET /v1/music/generations/{request_id}
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Conserver tous les résultats terminés

Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.

Conservez la réponse et les en-têtes complets, les identifiants d’origine, chaque sortie réelle et tous les champs d’utilisation et de comptabilisation. Enregistrez chaque ressource unique vous appartenant et conservez chaque rôle qui y fait référence.

Si la réponse d’origine doit être vérifiée

Conservez l’id public renvoyé pour la tâche ou l’opération ainsi que tous les en-têtes. Consultez uniquement la tâche d’origine ; unknown ou result_pending_check n’autorise pas une nouvelle création.

Champs de la réponse
ChampType
ChampidTypestring
Champpolling_urlTypestring
Champprovider_task_idTypestring
Champdata.task_idTypestring
Champdata.statusTypestring
Champdata.data[].audio_urlTypestring
Champdata.data[].image_urlTypestring
Champdata.data[].image_large_urlTypestring
Champdata.data[].video_urlTypestring

Alias

Alias du modèle

Ailoot Ultra suno-api

Alias des chemins de méthode

Utilisez les chemins de méthode indiqués ci-dessus.

ID d’appel associés

suno-api

FAQ · suno-api
Quelles entrées et quels résultats sont disponibles ?

POST /v1/music/generations · suno-api: text → audio, image, video

Quels champs la requête utilise-t-elle ?

POST /v1/music/generations · suno-api: model, gpt_description_prompt, mv, make_instrumental

Plus de détails

Connectez Ailoot à Claude Code, OpenCode, Hermes ou à votre application.

L’entreprise et son portefeuille de projets

L’entreprise et son portefeuille de projets : des millions de clients ; des ventes qui se chiffrent en milliards chaque mois.

Achetez des tokens à prix réduit.

Une remise d’abonnement pour le travail régulier. Des codes promo jusqu’à 50% sur l’achat de tokens.

Abonnement
Choisissez une offre à tarif réduit pour vos requêtes régulières.
Code promo jusqu’à 50%
Saisissez le code à l’achat. Le prix est recalculé selon la promotion en cours.
Dépenses dans l’historique
Modèle, tokens et montant sont enregistrés pour chaque requête.

Choisir un abonnement · Voir les prix des modèles

Connectez l’API au produit que vous vendez.

SaaS, applications et bots selon l’offre officielle et le contrat de licence Ailoot. Pour la revente, demandez une licence revendeur.

Application commerciale
Intégrez la génération de texte, d’images, de vidéo et de son aux fonctions payantes de votre service.
Licence revendeur
Envoyez la description du projet et le mode d’accès. Demandez des conditions écrites d’utilisation et de revente.
Documents sur le site
L’offre officielle, le contrat de licence et la politique de traitement des données sont accessibles avant connexion.

Demander une licence revendeur · Offre officielle et contrat de licence