aisplice

Nach Fähigkeit

Musik

Musik läuft als Task: Prompt einreichen, dann abfragen oder einen Callback erhalten. Beginnen Sie nur mit dem Prompt.

#1. Modell wählen

suno$0.07 / AnfrageLimits und Status

1 Modelle sind dafür online. Ein Wechsel ändert den Code unten.

#2. Anfrage kopieren

Ersetzen Sie YOUR_API_KEY durch Ihren Schlüssel und führen Sie die Anfrage aus. Angezeigt werden die Optionen, die dieses Modell akzeptiert.

POSThttps://www.aisplice.store/v1/music/generationsBearer API keyAsynchroner Task

OptionenEs werden nur Optionen angezeigt, die für dieses Modell veröffentlicht sind.

# Requires curl and jq
API_KEY="${API_KEY:-YOUR_API_KEY}"

# 1. Submit once
SUBMITTED=$(curl --fail-with-body -sS https://www.aisplice.store/v1/music/generations \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: model-docs-$(date +%s)-$$" \\
  -d '{
  "model": "Suno",
  "prompt": "An uplifting electronic track for a product launch",
  "operation": "music",
  "version": "v6",
  "custom": false,
  "instrumental": false
}')
TASK_ID=$(printf '%s' "$SUBMITTED" | jq -r '.task_id // .id // empty')
if [ -z "$TASK_ID" ]; then
  printf '%s\n' "$SUBMITTED" >&2
  exit 1
fi
echo "task_id=$TASK_ID"

# 2. Poll until terminal
while true; do
  STATUS_JSON=$(curl --fail-with-body -sS \
    "https://www.aisplice.store/v1/music/tasks/$TASK_ID" \
    -H "Authorization: Bearer $API_KEY")
  STATUS=$(printf '%s' "$STATUS_JSON" | jq -r '.status // empty' | tr '[:upper:]' '[:lower:]')
  echo "status=$STATUS"
  case "$STATUS" in
    completed|succeeded|success) break ;;
    failed|failure|cancelled|canceled)
      printf '%s\n' "$STATUS_JSON" | jq .
      exit 1
      ;;
  esac
  sleep 3
done

# 3. Fetch the final result
curl --fail-with-body -sS \
  "https://www.aisplice.store/v1/music/tasks/$TASK_ID/content" \
  -H "Authorization: Bearer $API_KEY" | jq .

Alle Parameter

Alle Felder, die dieses Modell akzeptiert, mit den zulässigen Werten.

prompt
stringoptional

Anweisung, die das gewünschte Ergebnis beschreibt.

Ablauf der Antwort

Task-Status, Endzustände und Beispiele für Ergebnisantworten.

Einreichen
{
  "id": "task_xxx",
  "task_id": "task_xxx",
  "object": "music.task",
  "model": "Suno",
  "status": "queued"
}

Wartet

queued · submitted · in_progress · processing

Erfolg

completed · succeeded · success

Fehlschlag

failed · failure · cancelled · canceled

Alle Felder: /v1/music in der API-Referenz →

#3. Ergebnis abrufen

Der Einreichungsaufruf antwortet sofort mit einer task_id. Fragen Sie den Task alle paar Sekunden ab, bis status completed ist, oder übergeben Sie webhook_url, dann benachrichtigen wir Sie, sobald er fertig ist.

GET https://www.aisplice.store/v1/music/tasks/{task_id}

GET https://www.aisplice.store/v1/music/tasks/{task_id}/content

Nur bei Erfolg berechnet

Ein fehlgeschlagener oder abgebrochener Task wird automatisch erstattet. Das Anfrageprotokoll zeigt die endgültigen Kosten jedes Tasks.

Statuswerte und Abfragen →Callback statt Abfragen →

#Wenn etwas schiefgeht

  • 400 mit einem Feldnamen: Diese Option akzeptiert das Modell nicht; verwenden Sie die Werte aus Schritt 2.
  • Inhalt vom Modell abgelehnt: Formulieren Sie den Prompt um; abgelehnte Anfragen werden nicht berechnet.
  • 402: Das Guthaben deckt diese Anfrage nicht; laden Sie im Wallet auf und versuchen Sie es dann erneut.
  • 429: Langsamer werden und nach Retry-After Sekunden erneut versuchen.
  • 503 model_not_found: Der Modellname ist falsch oder das Modell ist offline; wählen Sie eines aus Schritt 1.

Andere Fehler nachschlagen →

In Ihr Produkt einbauenWelche Optionen Sie Ihren Nutzern zuerst zeigen und welche Sie für später aufheben.
Welche Optionen Sie Ihren Nutzern zuerst zeigenBeginnen Sie mit dem Prompt und einer Preis-Stellschraube; ergänzen Sie den Rest, sobald der Basisablauf funktioniert.+

Kreative Absicht

Felder wie prompt gehören in die UI, weil Nutzer das Ergebnis, das sie damit verändern, direkt verstehen.

Kostenmultiplikator

Felder wie duration, resolution, size und count sollten erst eingeführt werden, wenn sich die Preise bereits nachvollziehbar erklären lassen.

Moduswechsel

Felder wie image, mask oder Fortsetzungs-IDs verändern den Ablauf selbst und sollten nur in eigenen Modi erscheinen.

Systeminterna

Felder wie webhook_secret sind für Integratoren gedacht, nicht für alltägliche Creator, und gehören daher nicht in die Standard-UI.

  • prompt
    Anzeigen, wenn
    Immer. Es ist die minimal nötige Eingabe für Musik.
    Empfohlener Standard
    In der UI erforderlich.
    Warum es wichtig ist
    Es transportiert Thema, Genre und emotionale Richtung.
  • instrumental / make_instrumental
    Anzeigen, wenn
    Anzeigen, wenn das Produkt klar zwischen Gesang und Instrumental unterscheidet.
    Empfohlener Standard
    Serverseitig belassen, sofern Nutzer nicht zwischen Gesangs- und Instrumentaltracks wählen.
    Warum es wichtig ist
    Es ändert den Ausgabetyp und sollte einer klaren geschäftlichen Entscheidung entsprechen.
  • title / tags
    Anzeigen, wenn
    Erst anzeigen, wenn Nutzer die reine Prompt-Generierung bereits verstanden haben.
    Empfohlener Standard
    Optionale erweiterte Felder.
    Warum es wichtig ist
    Sie helfen bei der Stilsteuerung, sollten aber den ersten Erfolg nicht blockieren.
  • version / mv
    Anzeigen, wenn
    Nur anzeigen, wenn Nutzer eine Modellfamilie oder einen Generierungsmodus wählen müssen.
    Empfohlener Standard
    Serverseitig eine empfohlene Version festlegen.
    Warum es wichtig ist
    Es erhöht die Entscheidungsmüdigkeit und gehört meist zu den Betreiber-Einstellungen.
  • continue_clip_id / continue_at
    Anzeigen, wenn
    Nur in Fortsetzungs- oder Verlängerungsabläufen anzeigen.
    Empfohlener Standard
    In Standard-Erstellungsabläufen ausblenden.
    Warum es wichtig ist
    Das sind Expertenoptionen, die Erstnutzer verwirren, wenn sie zu früh erscheinen.
recommended-rollout.txt
Phase 1
- prompt
- one size or one duration default
- submit -> poll -> content

Phase 2
- one quality or resolution selector
- clear pricing hint

Phase 3
- advanced controls such as reference media, continuation, webhook, or vendor-specific tuning

Eine einzige Quelle für Ergebnisse

Wenn ein Task fertig ist, richten Sie Ihre App auf die Plattform-URL aus, die /content zurückgibt. So bleiben Details des Upstream-Anbieters verborgen und die Wiedergabe älterer Ergebnisse stabil.

Immer noch nicht gelöst?

Senden Sie uns die Anfrage-ID oder die Fehlermeldung, und wir sehen uns das an.