Por recurso
Música
A música é gerada como tarefa: envie um prompt e depois consulte ou receba um callback. Comece só com o prompt.
#1. Escolha um modelo
suno$0.07 / requisiçãoLimites e status
1 modelos online para isto. Trocar de modelo altera o código abaixo.
#2. Copie a requisição
Substitua YOUR_API_KEY pela sua chave e execute. As opções mostradas são as que este modelo aceita.
https://www.aisplice.store/v1/music/generationsBearer API keyTarefa assíncronaOpçõesSó aparecem as opções publicadas para este modelo.
# 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 .Todos os parâmetros
Todos os campos que este modelo aceita, com os valores permitidos.
Todos os parâmetros
Todos os campos que este modelo aceita, com os valores permitidos.
promptInstrução que descreve o resultado desejado.
Ciclo de vida da resposta
Status da tarefa, estados finais e exemplos de resposta com o resultado.
Ciclo de vida da resposta
Status da tarefa, estados finais e exemplos de resposta com o resultado.
{
"id": "task_xxx",
"task_id": "task_xxx",
"object": "music.task",
"model": "Suno",
"status": "queued"
}Aguardando
queued · submitted · in_progress · processing
Sucesso
completed · succeeded · success
Falha
failed · failure · cancelled · canceled
#3. Obtenha o resultado
A chamada de envio responde na hora com um task_id. Consulte a tarefa a cada poucos segundos até o status ser completed, ou passe webhook_url e nós chamamos você quando terminar.
GET https://www.aisplice.store/v1/music/tasks/{task_id}
GET https://www.aisplice.store/v1/music/tasks/{task_id}/content
Cobrado só em caso de sucesso
Valores de status e consultas →Receba um callback em vez de consultar →
#Quando algo dá errado
- 400 com o nome de um campo: essa opção não é aceita por este modelo; use os valores listados na etapa 2.
- Conteúdo recusado pelo modelo: reformule o prompt; requisições recusadas não são cobradas.
- 402: o saldo não cobre esta requisição; recarregue em Carteira e tente novamente.
- 429: diminua o ritmo e tente novamente após os segundos de Retry-After.
- 503 model_not_found: o nome do modelo está errado ou o modelo está offline; escolha um na etapa 1.
Integrando ao seu produtoQuais opções mostrar primeiro aos seus usuários e quais deixar para depois.
Quais opções mostrar primeiro aos seus usuáriosComece com o prompt e um controle de preço; adicione o resto quando o fluxo básico funcionar.+
Intenção criativa
Campos como prompt pertencem à UI porque o usuário entende diretamente o resultado que eles mudam.
Multiplicador de custo
Campos como duração, resolução, tamanho e quantidade só devem ser introduzidos quando o preço já puder ser explicado.
Troca de modo
Campos como image, mask ou IDs de continuação mudam o próprio fluxo e só devem aparecer em modos dedicados.
Infraestrutura do sistema
Campos como webhook_secret são para integradores, não para criadores no dia a dia, então mantenha-os fora da UI padrão.
prompt- Quando expor
- Sempre. É a entrada mínima viável para música.
- Padrão recomendado
- Obrigatório na UI.
- Por que importa
- Carrega o tema, o gênero e a direção emocional.
instrumental / make_instrumental- Quando expor
- Exponha quando o produto distinguir claramente saída com vocais de saída instrumental.
- Padrão recomendado
- Mantenha no servidor, a menos que os usuários escolham entre faixas com vocais e instrumentais.
- Por que importa
- Muda o tipo de saída e deve corresponder a uma escolha de negócio clara.
title / tags- Quando expor
- Exponha só depois que os usuários já entenderem a geração só com prompt.
- Padrão recomendado
- Campos avançados opcionais.
- Por que importa
- Ajudam a controlar o estilo, mas não devem impedir o primeiro resultado.
version / mv- Quando expor
- Exponha só se os usuários precisarem escolher uma família de modelos ou um modo de geração.
- Padrão recomendado
- Fixe uma versão recomendada no servidor.
- Por que importa
- Aumenta a fadiga de decisão e geralmente pertence aos controles do operador.
continue_clip_id / continue_at- Quando expor
- Exponha só em fluxos de continuação ou extensão.
- Padrão recomendado
- Oculte nos fluxos de criação padrão.
- Por que importa
- São controles para especialistas e confundem quem está usando pela primeira vez se aparecerem cedo demais.
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 tuningMantenha uma única fonte da verdade para os resultados
Ainda com problemas?
Envie para nós o ID da requisição ou a mensagem de erro e vamos investigar.