---
title: Suno Separar stems de áudio | RunAPI
description: Use o endpoint de separação de trilhas de áudio para criar uma Task assíncrona.
url: https://runapi.ai/pt-BR/docs/api/suno/separate-audio-stems.md
canonical: https://runapi.ai/pt-BR/docs/api/suno/separate-audio-stems
locale: pt-BR
---

> Versão HTML: https://runapi.ai/pt-BR/docs/api/suno/separate-audio-stems
> Índice do site para agentes: https://runapi.ai/llms.txt

# Suno Separar stems de áudio

## Visão geral

Use o endpoint de separação de trilhas de áudio com as entradas necessárias. Use o Task ID retornado para recuperar seu estado, ou forneça callback_url para as entregas documentadas abaixo.

### Início rápido

1. Crie uma Chave de API e defina-a como RUNAPI_API_KEY.
2. Envie uma requisição POST cujo corpo corresponda ao schema da requisição.
3. Armazene o ID da tarefa retornado e, em seguida, faça polling até atingir um estado terminal ou trate os callbacks documentados abaixo.

## Endpoint

POST /api/v1/suno/separate_audio_stems

URL base: https://runapi.ai

Versão da API: v1

Autenticação: Authorization: Bearer YOUR_API_TOKEN

## Modelos suportados

Abra uma página de modelo para ver preços atuais, limites de taxa e detalhes de uso comercial.

- [Suno](https://runapi.ai/pt-BR/models/suno)

## Esquema de solicitação

Envie apenas os campos documentados. Quando fornecido, callback_url recebe as entregas de Task documentadas abaixo.

### Corpo da solicitação

```json
{
  "audio_id": {
    "description": "ID do áudio dentro da tarefa de origem.",
    "required": true,
    "type": "string"
  },
  "callback_url": {
    "description": "URL de webhook para notificações assíncronas.",
    "type": "string"
  },
  "stem_name": {
    "description": "Stem alvo para separação avançada. Obrigatório quando o tipo é split_stem_advanced.",
    "enum": [
      "Lead Vocal",
      "Drum Kit",
      "Kick",
      "Snare",
      "Risers",
      "Bass",
      "Backing Vocals",
      "Piano",
      "Electric Guitar",
      "Percussion",
      "String Section",
      "Synth",
      "Acoustic Guitar",
      "Sound Effects",
      "Synth Pad",
      "Synth Bass",
      "Guitar",
      "Brass Section",
      "Organ",
      "Electronic Drum Kit",
      "Lead Electric Guitar",
      "Synth Keys",
      "Rhythm Electric Guitar",
      "Electric Piano",
      "Upright Bass",
      "Keyboards",
      "Distorted Electric Guitar",
      "Synth Strings",
      "Synth Lead",
      "Woodwinds",
      "Rhythm Acoustic Guitar",
      "Flute",
      "Harp",
      "Tambourine",
      "Trumpet",
      "Arpeggiator",
      "Accordion",
      "Fiddle",
      "Pedal Steel Guitar",
      "Synth Voice",
      "Violin",
      "Digital Piano",
      "Synth Brass",
      "Mandolin",
      "Choir",
      "Banjo",
      "Bells",
      "Clarinet",
      "Tenor Saxophone",
      "Trombone",
      "Shaker",
      "French Horn",
      "Glockenspiel",
      "Electric Bass",
      "Cello",
      "Timpani",
      "Harmonica",
      "Marimba",
      "Vibraphone",
      "Lap Steel Guitar",
      "Saxophone",
      "Orchestra",
      "Horns",
      "Cymbals",
      "Hand Clap",
      "Oboe",
      "Celesta",
      "Congas",
      "Drone",
      "Alto Saxophone",
      "Double Bass",
      "Ukulele",
      "Harpsichord",
      "Baritone Saxophone",
      "Xylophone",
      "Tuba",
      "Bass Guitar",
      "Whistle",
      "Lead Guitar",
      "Rhodes",
      "808",
      "Bongos",
      "Bassoon",
      "Cowbell",
      "Viola",
      "Sitar",
      "Steel Drums",
      "Piccolo",
      "Theremin",
      "Bagpipes",
      "Hi-Hat",
      "Music Box",
      "Melodica",
      "Tabla",
      "Koto",
      "Djembe",
      "Taiko",
      "Didgeridoo"
    ],
    "type": "string"
  },
  "task_id": {
    "description": "ID de task de origem.",
    "required": true,
    "type": "string"
  },
  "type": {
    "default": "separate_vocal",
    "description": "Modo de separação de stems.",
    "enum": [
      "separate_vocal",
      "split_stem",
      "split_stem_advanced"
    ],
    "type": "string"
  }
}
```

#### Regras condicionais

Esses requisitos se aplicam quando todas as condições listadas corresponderem.

- **Quando**: `type` = `split_stem_advanced`; **Obrigatório**: `stem_name`

## Criar aceitação

HTTP 202 - POST /api/v1/suno/separate_audio_stems

### Esquema de resposta

```json
{
  "properties": {
    "billing": {
      "properties": {
        "refund": {
          "oneOf": [
            {
              "properties": {
                "refunded_at": {
                  "type": "string"
                }
              },
              "required": [
                "refunded_at"
              ],
              "type": "object",
              "unevaluatedProperties": false
            },
            {
              "enum": [
                null
              ]
            }
          ]
        },
        "reservation": {
          "oneOf": [
            {
              "properties": {
                "amount_cents": {
                  "type": "integer"
                }
              },
              "required": [
                "amount_cents"
              ],
              "type": "object",
              "unevaluatedProperties": false
            },
            {
              "enum": [
                null
              ]
            }
          ]
        },
        "settlement": {
          "oneOf": [
            {
              "properties": {
                "amount_micro_cents": {
                  "type": "integer"
                },
                "charged_amount_cents": {
                  "type": "integer"
                }
              },
              "required": [
                "charged_amount_cents",
                "amount_micro_cents"
              ],
              "type": "object",
              "unevaluatedProperties": false
            },
            {
              "enum": [
                null
              ]
            }
          ]
        }
      },
      "required": [
        "reservation",
        "settlement",
        "refund"
      ],
      "type": "object",
      "unevaluatedProperties": false
    },
    "id": {
      "type": "string"
    },
    "status": {
      "enum": [
        "processing"
      ],
      "type": "string"
    },
    "task_replayed": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "status",
    "billing"
  ],
  "type": "object",
  "unevaluatedProperties": false
}
```

### Exemplo de resposta

```json
{
  "billing": {
    "refund": null,
    "reservation": null,
    "settlement": null
  },
  "id": "tsk_reference_demo",
  "status": "processing"
}
```

## Consulta em processamento

HTTP 200 - GET /api/v1/suno/separate_audio_stems/:id

### Esquema de resposta

```json
{
  "properties": {
    "billing": {
      "properties": {
        "refund": {
          "oneOf": [
            {
              "properties": {
                "refunded_at": {
                  "type": "string"
                }
              },
              "required": [
                "refunded_at"
              ],
              "type": "object",
              "unevaluatedProperties": false
            },
            {
              "enum": [
                null
              ]
            }
          ]
        },
        "reservation": {
          "oneOf": [
            {
              "properties": {
                "amount_cents": {
                  "type": "integer"
                }
              },
              "required": [
                "amount_cents"
              ],
              "type": "object",
              "unevaluatedProperties": false
            },
            {
              "enum": [
                null
              ]
            }
          ]
        },
        "settlement": {
          "oneOf": [
            {
              "properties": {
                "amount_micro_cents": {
                  "type": "integer"
                },
                "charged_amount_cents": {
                  "type": "integer"
                }
              },
              "required": [
                "charged_amount_cents",
                "amount_micro_cents"
              ],
              "type": "object",
              "unevaluatedProperties": false
            },
            {
              "enum": [
                null
              ]
            }
          ]
        }
      },
      "required": [
        "reservation",
        "settlement",
        "refund"
      ],
      "type": "object",
      "unevaluatedProperties": false
    },
    "id": {
      "type": "string"
    },
    "separated_audios": {
      "properties": {
        "backing_vocals_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "bass_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "brass_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "drums_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "fx_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "guitar_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "instrumental_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "keyboard_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "pairs": {
          "items": {
            "properties": {
              "extracted_audio": {
                "properties": {
                  "audio_url": {
                    "type": "string",
                    "x-runapi-generated-media": true
                  },
                  "duration_seconds": {
                    "type": "number"
                  },
                  "id": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "duration_seconds",
                  "audio_url"
                ],
                "type": "object",
                "unevaluatedProperties": false
              },
              "remaining_audio": {
                "properties": {
                  "audio_url": {
                    "type": "string",
                    "x-runapi-generated-media": true
                  },
                  "duration_seconds": {
                    "type": "number"
                  },
                  "id": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "duration_seconds",
                  "audio_url"
                ],
                "type": "object",
                "unevaluatedProperties": false
              },
              "stem_name": {
                "type": "string"
              }
            },
            "required": [
              "stem_name",
              "extracted_audio",
              "remaining_audio"
            ],
            "type": "object",
            "unevaluatedProperties": false
          },
          "type": "array"
        },
        "percussion_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "piano_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "strings_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "synth_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "vocal_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "woodwinds_url": {
          "type": "string",
          "x-runapi-generated-media": true
        }
      },
      "type": "object",
      "unevaluatedProperties": false
    },
    "status": {
      "enum": [
        "processing"
      ],
      "type": "string"
    }
  },
  "required": [
    "id",
    "status",
    "billing"
  ],
  "type": "object",
  "unevaluatedProperties": false
}
```

### Exemplo de resposta

```json
{
  "billing": {
    "refund": null,
    "reservation": null,
    "settlement": null
  },
  "id": "tsk_reference_demo",
  "status": "processing"
}
```

## Consulta concluída

HTTP 200 - GET /api/v1/suno/separate_audio_stems/:id

### Esquema de resposta

```json
{
  "properties": {
    "billing": {
      "properties": {
        "refund": {
          "oneOf": [
            {
              "properties": {
                "refunded_at": {
                  "type": "string"
                }
              },
              "required": [
                "refunded_at"
              ],
              "type": "object",
              "unevaluatedProperties": false
            },
            {
              "enum": [
                null
              ]
            }
          ]
        },
        "reservation": {
          "oneOf": [
            {
              "properties": {
                "amount_cents": {
                  "type": "integer"
                }
              },
              "required": [
                "amount_cents"
              ],
              "type": "object",
              "unevaluatedProperties": false
            },
            {
              "enum": [
                null
              ]
            }
          ]
        },
        "settlement": {
          "oneOf": [
            {
              "properties": {
                "amount_micro_cents": {
                  "type": "integer"
                },
                "charged_amount_cents": {
                  "type": "integer"
                }
              },
              "required": [
                "charged_amount_cents",
                "amount_micro_cents"
              ],
              "type": "object",
              "unevaluatedProperties": false
            },
            {
              "enum": [
                null
              ]
            }
          ]
        }
      },
      "required": [
        "reservation",
        "settlement",
        "refund"
      ],
      "type": "object",
      "unevaluatedProperties": false
    },
    "id": {
      "type": "string"
    },
    "separated_audios": {
      "properties": {
        "backing_vocals_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "bass_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "brass_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "drums_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "fx_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "guitar_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "instrumental_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "keyboard_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "pairs": {
          "items": {
            "properties": {
              "extracted_audio": {
                "properties": {
                  "audio_url": {
                    "type": "string",
                    "x-runapi-generated-media": true
                  },
                  "duration_seconds": {
                    "type": "number"
                  },
                  "id": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "duration_seconds",
                  "audio_url"
                ],
                "type": "object",
                "unevaluatedProperties": false
              },
              "remaining_audio": {
                "properties": {
                  "audio_url": {
                    "type": "string",
                    "x-runapi-generated-media": true
                  },
                  "duration_seconds": {
                    "type": "number"
                  },
                  "id": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "duration_seconds",
                  "audio_url"
                ],
                "type": "object",
                "unevaluatedProperties": false
              },
              "stem_name": {
                "type": "string"
              }
            },
            "required": [
              "stem_name",
              "extracted_audio",
              "remaining_audio"
            ],
            "type": "object",
            "unevaluatedProperties": false
          },
          "type": "array"
        },
        "percussion_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "piano_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "strings_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "synth_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "vocal_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "woodwinds_url": {
          "type": "string",
          "x-runapi-generated-media": true
        }
      },
      "type": "object",
      "unevaluatedProperties": false
    },
    "status": {
      "enum": [
        "completed"
      ],
      "type": "string"
    }
  },
  "required": [
    "id",
    "status",
    "separated_audios",
    "billing"
  ],
  "type": "object",
  "unevaluatedProperties": false
}
```

### Exemplo de resposta

```json
{
  "billing": {
    "refund": null,
    "reservation": null,
    "settlement": null
  },
  "id": "tsk_reference_demo",
  "separated_audios": {
    "instrumental_url": "https://file.runapi.ai/reference-instrumental.mp3",
    "vocal_url": "https://file.runapi.ai/reference-vocals.mp3"
  },
  "status": "completed"
}
```

## Consulta falhou

HTTP 200 - GET /api/v1/suno/separate_audio_stems/:id

### Esquema de resposta

```json
{
  "properties": {
    "billing": {
      "properties": {
        "refund": {
          "oneOf": [
            {
              "properties": {
                "refunded_at": {
                  "type": "string"
                }
              },
              "required": [
                "refunded_at"
              ],
              "type": "object",
              "unevaluatedProperties": false
            },
            {
              "enum": [
                null
              ]
            }
          ]
        },
        "reservation": {
          "oneOf": [
            {
              "properties": {
                "amount_cents": {
                  "type": "integer"
                }
              },
              "required": [
                "amount_cents"
              ],
              "type": "object",
              "unevaluatedProperties": false
            },
            {
              "enum": [
                null
              ]
            }
          ]
        },
        "settlement": {
          "oneOf": [
            {
              "properties": {
                "amount_micro_cents": {
                  "type": "integer"
                },
                "charged_amount_cents": {
                  "type": "integer"
                }
              },
              "required": [
                "charged_amount_cents",
                "amount_micro_cents"
              ],
              "type": "object",
              "unevaluatedProperties": false
            },
            {
              "enum": [
                null
              ]
            }
          ]
        }
      },
      "required": [
        "reservation",
        "settlement",
        "refund"
      ],
      "type": "object",
      "unevaluatedProperties": false
    },
    "error": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "status": {
      "enum": [
        "failed"
      ],
      "type": "string"
    }
  },
  "required": [
    "id",
    "status",
    "error",
    "billing"
  ],
  "type": "object",
  "unevaluatedProperties": false
}
```

### Exemplo de resposta

```json
{
  "billing": {
    "refund": null,
    "reservation": null,
    "settlement": null
  },
  "error": "Task processing failed.",
  "id": "tsk_reference_demo",
  "status": "failed"
}
```

## Callback do cliente: concluído

HTTP 200 - POST callback_url

### Esquema de resposta

```json
{
  "properties": {
    "id": {
      "type": "string"
    },
    "separated_audios": {
      "properties": {
        "backing_vocals_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "bass_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "brass_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "drums_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "fx_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "guitar_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "instrumental_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "keyboard_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "pairs": {
          "items": {
            "properties": {
              "extracted_audio": {
                "properties": {
                  "audio_url": {
                    "type": "string",
                    "x-runapi-generated-media": true
                  },
                  "duration_seconds": {
                    "type": "number"
                  },
                  "id": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "duration_seconds",
                  "audio_url"
                ],
                "type": "object",
                "unevaluatedProperties": false
              },
              "remaining_audio": {
                "properties": {
                  "audio_url": {
                    "type": "string",
                    "x-runapi-generated-media": true
                  },
                  "duration_seconds": {
                    "type": "number"
                  },
                  "id": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "duration_seconds",
                  "audio_url"
                ],
                "type": "object",
                "unevaluatedProperties": false
              },
              "stem_name": {
                "type": "string"
              }
            },
            "required": [
              "stem_name",
              "extracted_audio",
              "remaining_audio"
            ],
            "type": "object",
            "unevaluatedProperties": false
          },
          "type": "array"
        },
        "percussion_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "piano_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "strings_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "synth_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "vocal_url": {
          "type": "string",
          "x-runapi-generated-media": true
        },
        "woodwinds_url": {
          "type": "string",
          "x-runapi-generated-media": true
        }
      },
      "type": "object",
      "unevaluatedProperties": false
    },
    "status": {
      "enum": [
        "completed"
      ],
      "type": "string"
    }
  },
  "required": [
    "id",
    "status",
    "separated_audios"
  ],
  "type": "object",
  "unevaluatedProperties": false
}
```

### Exemplo de resposta

```json
{
  "id": "tsk_reference_demo",
  "separated_audios": {
    "instrumental_url": "https://file.runapi.ai/reference-instrumental.mp3",
    "vocal_url": "https://file.runapi.ai/reference-vocals.mp3"
  },
  "status": "completed"
}
```

## Callback do cliente: falhou

HTTP 200 - POST callback_url

### Esquema de resposta

```json
{
  "properties": {
    "error": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "properties": {
            "code": {
              "type": "string"
            },
            "limit_cents": {
              "type": "integer"
            },
            "message": {
              "type": "string"
            },
            "reset_at": {
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "used_cents": {
              "type": "integer"
            },
            "window": {
              "enum": [
                "1h",
                "1d",
                "7d",
                "daily",
                "weekly",
                "monthly",
                "lifetime"
              ],
              "type": "string"
            }
          },
          "required": [
            "code",
            "message"
          ],
          "type": "object",
          "unevaluatedProperties": false
        }
      ]
    },
    "id": {
      "type": "string"
    },
    "status": {
      "enum": [
        "failed"
      ],
      "type": "string"
    }
  },
  "required": [
    "id",
    "status",
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}
```

### Exemplo de resposta

```json
{
  "error": {
    "code": "generation_failed",
    "message": "Task processing failed."
  },
  "id": "tsk_reference_demo",
  "status": "failed"
}
```

## Erros

HTTP 401 - POST /api/v1/suno/separate_audio_stems

### Esquema de resposta

```json
{
  "properties": {
    "error": {
      "description": "Mensagem de erro legível por humanos.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}
```

### Exemplo de resposta

```json
{
  "error": "Authentication required"
}
```

## Erros

HTTP 401 - GET /api/v1/suno/separate_audio_stems/:id

### Esquema de resposta

```json
{
  "properties": {
    "error": {
      "description": "Mensagem de erro legível por humanos.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}
```

### Exemplo de resposta

```json
{
  "error": "Authentication required"
}
```

## Erros

HTTP 400 - POST /api/v1/suno/separate_audio_stems

### Esquema de resposta

```json
{
  "oneOf": [
    {
      "properties": {
        "error": {
          "description": "Mensagem de erro legível por humanos.",
          "type": "string"
        }
      },
      "required": [
        "error"
      ],
      "type": "object",
      "unevaluatedProperties": false
    },
    {
      "properties": {
        "error": {
          "description": "Resumo de validação legível por humanos.",
          "type": "string"
        },
        "errors": {
          "additionalProperties": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": "Mensagens de validação com chaves por campo de requisição público, com um array de strings legíveis por humanos para cada campo.",
          "type": "object"
        }
      },
      "required": [
        "error",
        "errors"
      ],
      "type": "object",
      "unevaluatedProperties": false
    }
  ]
}
```

### Exemplo de resposta

```json
{
  "error": "Validation failed",
  "errors": {
    "task_id": [
      "is required"
    ]
  }
}
```

## Erros

HTTP 402 - POST /api/v1/suno/separate_audio_stems

### Esquema de resposta

```json
{
  "properties": {
    "error": {
      "description": "Mensagem de erro legível por humanos.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}
```

### Exemplo de resposta

```json
{
  "error": "Insufficient balance"
}
```

## Erros

HTTP 429 - POST /api/v1/suno/separate_audio_stems

### Esquema de resposta

```json
{
  "properties": {
    "error": {
      "description": "Mensagem de erro legível por humanos.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}
```

### Exemplo de resposta

```json
{
  "error": "API key credit limit exceeded"
}
```

## Erros

HTTP 409 - POST /api/v1/suno/separate_audio_stems

### Esquema de resposta

```json
{
  "properties": {
    "error": {
      "description": "Mensagem de erro legível por humanos.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}
```

### Exemplo de resposta

```json
{
  "error": "The request uses features that are not supported for the selected model"
}
```

## Erros

HTTP 429 - POST /api/v1/suno/separate_audio_stems

### Esquema de resposta

```json
{
  "properties": {
    "error": {
      "description": "Mensagem de erro legível por humanos.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}
```

### Exemplo de resposta

```json
{
  "error": "Rate limit reached. Please retry later."
}
```

## Erros

HTTP 503 - POST /api/v1/suno/separate_audio_stems

### Esquema de resposta

```json
{
  "properties": {
    "error": {
      "description": "Mensagem de erro legível por humanos.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}
```

### Exemplo de resposta

```json
{
  "error": "Service under maintenance, please try again later"
}
```

## Erros

HTTP 504 - POST /api/v1/suno/separate_audio_stems

### Esquema de resposta

```json
{
  "properties": {
    "error": {
      "description": "Mensagem de erro legível por humanos.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}
```

### Exemplo de resposta

```json
{
  "error": "The request timed out"
}
```

## Erros

HTTP 404 - GET /api/v1/suno/separate_audio_stems/:id

### Esquema de resposta

```json
{
  "properties": {
    "error": {
      "description": "Mensagem de erro legível por humanos.",
      "type": "string"
    }
  },
  "required": [
    "error"
  ],
  "type": "object",
  "unevaluatedProperties": false
}
```

### Exemplo de resposta

```json
{
  "error": "Task with id 'tsk_reference_demo' not found"
}
```

## Exemplos de Código Gerados

Use cURL diretamente ou instale um SDK para a sua linguagem. Cada exemplo submete a requisição validada mostrada nesta referência.

### curl

```curl
curl -X POST https://runapi.ai/api/v1/suno/separate_audio_stems \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"task_id":"tsk_source_music","audio_id":"audio_reference","type":"separate_vocal"}'
```

### javascript

#### Instalar

```bash
npm install @runapi.ai/suno
```

```javascript
import { SunoClient } from "@runapi.ai/suno";

const client = new SunoClient({ apiKey: process.env.RUNAPI_API_KEY });
const task = await client.separateAudioStems.create({
  "task_id": "tsk_source_music",
  "audio_id": "audio_reference",
  "type": "separate_vocal"
});
```

### python

#### Instalar

```bash
pip install runapi-suno
```

```python
import os
from runapi.suno import SunoClient

client = SunoClient(api_key=os.environ["RUNAPI_API_KEY"])
task = client.separate_audio_stems.create(
  task_id="tsk_source_music",
  audio_id="audio_reference",
  type="separate_vocal"
)
```

### go

#### Instalar

```bash
go get github.com/runapi-ai/suno-sdk/go@latest
```

```go
package main

import (
  "context"
  "log"
  "os"

  "github.com/runapi-ai/core-sdk/go/option"
  suno "github.com/runapi-ai/suno-sdk/go/suno"
)

func main() {
  client, err := suno.NewClient(option.WithAPIKey(os.Getenv("RUNAPI_API_KEY")))
  if err != nil {
    log.Fatal(err)
  }

  task, err := client.SeparateAudioStems.Create(context.Background(), suno.SeparateAudioStemsParams{
    TaskID: "tsk_source_music",
    AudioID: "audio_reference",
    Type: "separate_vocal",
  })
  if err != nil {
    log.Fatal(err)
  }
  _ = task
}
```

### ruby

#### Instalar

```bash
gem install runapi-suno
```

```ruby
require "runapi/suno"

client = RunApi::Suno::Client.new(api_key: ENV.fetch("RUNAPI_API_KEY"))
task = client.separate_audio_stems.create(
  task_id: "tsk_source_music",
  audio_id: "audio_reference",
  type: "separate_vocal"
)
```

### java

#### Instalar

```kotlin
implementation("ai.runapi:runapi-suno")
```

```java
import ai.runapi.suno.SunoClient;
import ai.runapi.suno.types.SeparateAudioStemsParams;
import ai.runapi.core.polling.TaskCreateResponse;

public final class Example {
  public static void main(String[] args) {
    SunoClient client = SunoClient.builder()
        .apiKey(System.getenv("RUNAPI_API_KEY"))
        .build();
    TaskCreateResponse task = client.separateAudioStems().create(
        SeparateAudioStemsParams.builder()
        .taskId("tsk_source_music")
        .audioId("audio_reference")
        .type("separate_vocal")
            .build()
    );
  }
}
```

### php

#### Instalar

```bash
composer require runapi-ai/suno
```

```php
<?php

require __DIR__ . '/vendor/autoload.php';

use RunApi\Core\ClientOptions;
use RunApi\Suno\SunoClient;

$client = new SunoClient(new ClientOptions(apiKey: getenv('RUNAPI_API_KEY')));
$task = $client->separateAudioStems->create([
  "task_id" => "tsk_source_music",
  "audio_id" => "audio_reference",
  "type" => "separate_vocal"
]);
```

## Guias Relacionados

- [Autenticação](https://runapi.ai/pt-BR/docs/guides/authentication.md)
- [Início rápido](https://runapi.ai/pt-BR/docs/guides/task-api/quickstart.md)

---

## Mais de RunAPI

- [Início](https://runapi.ai/pt-BR/.md)
- [Catálogo de modelos](https://runapi.ai/pt-BR/models.md)
- [Preços](https://runapi.ai/pt-BR/pricing.md)
- [Provedores](https://runapi.ai/pt-BR/models)
- [Documentação](https://runapi.ai/pt-BR/docs/guides)
- [SDKs](https://runapi.ai/pt-BR/sdk.md)
- [CLI](https://runapi.ai/pt-BR/cli.md)
- [Servidor MCP](https://runapi.ai/pt-BR/mcp.md)
- [Claude Code vs Cursor](https://runapi.ai/pt-BR/claude-code-vs-cursor.md)
- [Configuração da API do Cursor](https://runapi.ai/pt-BR/cursor-api-setup.md)
- [RunAPI vs OpenRouter](https://runapi.ai/pt-BR/openrouter-alternative.md)
- [Enterprise](https://runapi.ai/pt-BR/contact.md)
- [Contato](https://runapi.ai/pt-BR/contact.md)
- [Termos](https://runapi.ai/pt-BR/terms.md)
- [Privacidade](https://runapi.ai/pt-BR/privacy.md)
- [Índice do site para agentes](https://runapi.ai/llms.txt)

Contato: contact@runapi.ai

## Dados estruturados

```json
[
  {
    "@context": "https://schema.org",
    "inLanguage": "pt-BR",
    "@type": "WebSite",
    "name": "RunAPI",
    "url": "https://runapi.ai/pt-BR",
    "potentialAction": {
      "@type": "SearchAction",
      "target": {
        "@type": "EntryPoint",
        "urlTemplate": "https://runapi.ai/pt-BR/models?q={search_term_string}"
      },
      "query-input": "required name=search_term_string"
    }
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "pt-BR",
    "@type": "Organization",
    "name": "RunAPI",
    "url": "https://runapi.ai/pt-BR",
    "logo": {
      "@type": "ImageObject",
      "url": "https://runapi.ai/pt-BRicon.svg"
    },
    "sameAs": [
      "https://github.com/runapi-ai"
    ]
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "pt-BR",
    "@type": "TechArticle",
    "headline": "Suno Separar stems de áudio",
    "description": "Use o endpoint de separação de trilhas de áudio para criar uma Task assíncrona.",
    "url": "https://runapi.ai/pt-BR/docs/api/suno/separate-audio-stems",
    "mainEntityOfPage": "https://runapi.ai/pt-BR/docs/api/suno/separate-audio-stems"
  }
]
```
