> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ttapi.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Suno Create Model API

> Обучите переиспользуемую пользовательскую музыкальную модель по 6–24 общедоступным референсным трекам. После создания укажите mv = chirp-custom:{model_id}, чтобы генерировать песни в стиле этой модели.

<Info>
  **Create Model — асинхронный API.**

  После отправки запроса `model_id` не возвращается сразу. Результат можно получить так:

  * Укажите **hookUrl**, чтобы получить **уведомление** после завершения задачи
  * Или вызовите **[Fetch V2](/api/ru/suno/suno_fetch_v2)** и опросите статус и результат

  Если вы используете **hookUrl**, адрес должен быть доступен из публичной сети, иначе callback может не дойти.
</Info>

<Warning>
  Пользовательская модель — **приватный ресурс**, привязанный к аккаунту, на котором её обучали:

  * Если у этого аккаунта закончится quota или он уйдёт в офлайн, модель сразу станет недоступна
  * Используйте модель сразу после создания. Обычно она доступна не дольше **2 дней** и может отключиться раньше — полный срок в 2 дня не гарантируется
  * `persona_id` и `chirp-custom` нельзя использовать вместе
  * В `mv` нужен полный UUID, например `chirp-custom:a1b2c3d4-e5f6-7890-abcd-ef1234567890`. Одно только значение `chirp-custom` недействительно

  Подбирайте целые песни или фрагменты с близким стилем, вокалом и аранжировкой:

  * Рекомендуемые форматы: **MP3 / WAV / M4A**
  * Каждый URL должен быть **прямой публичной ссылкой на файл**, без авторизации, анти-хотлинка и HTML/JSON-страниц с ошибкой
  * Если хотя бы один файл нельзя скачать или это не валидное аудио, вся задача падает

  Обучение обычно занимает несколько минут и может длиться до **20 минут**. По таймауту задача завершается с `message` = `job timeout`.
</Warning>

<Tip>
  После создания укажите `mv` = `chirp-custom:{model_id}` в генерационных эндпоинтах, чтобы получить песню в стиле этой модели.

  * **Поддерживается:** [генерация музыки](/api/ru/suno/suno_music), продление, кавер, добавление вокала / инструментала / дорожки, замена фрагмента, мэшап, inspo, сэмпл
  * **Не поддерживается:** ремастеринг, разделение на дорожки, генерация текста, экспорт MIDI
</Tip>


## OpenAPI

````yaml openapi/ru/suno.json POST /suno/v1/create-model
openapi: 3.1.0
info:
  title: Документация TTAPI API
  version: 1.0.0
  description: Suno AI Музыка API
servers:
  - url: https://api.ttapi.io
security: []
paths:
  /suno/v1/create-model:
    post:
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - type: object
                  properties:
                    audio_urls:
                      type: array
                      minItems: 6
                      maxItems: 24
                      items:
                        type: string
                      description: >-
                        Публичные прямые URL референсного аудио. Количество
                        должно быть **6–24**. Каждый URL должен вести на
                        скачиваемый файл, а не на страницу с авторизацией или
                        HTML. Рекомендуемые форматы: MP3 / WAV / M4A.
                    name:
                      type: string
                      description: Название модели. Не может быть пустым.
                  required:
                    - audio_urls
                    - name
                - $ref: '#/components/schemas/HookUrlParams'
      responses:
        '200':
          $ref: '#/components/responses/SuccessResponse'
        '400':
          $ref: '#/components/responses/400Response'
        '401':
          $ref: '#/components/responses/401Response'
      security:
        - CustomApiKey: []
components:
  schemas:
    HookUrlParams:
      type: object
      properties:
        hookUrl:
          type: string
          description: URL обратного уведомления
  responses:
    SuccessResponse:
      description: Запрос выполнен успешно
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                example: SUCCESS
              message:
                type: string
                example: success
              data:
                type: object
                example:
                  jobId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
            required:
              - status
              - message
              - data
    400Response:
      description: Ошибка параметров
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                example: FAILED
              message:
                type: string
              data:
                type: object
            required:
              - status
              - message
    401Response:
      description: Ошибка авторизации
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: string
                example: FAILED
              message:
                type: string
                example: Wrong TT-API-KEY or email is not activated.
            required:
              - status
              - message
  securitySchemes:
    CustomApiKey:
      type: apiKey
      in: header
      name: TT-API-KEY
      description: >-
        Вы можете получить API-ключ в <a href='https://dashboard.ttapi.io'
        target='_blank'>панель управления TTAPI</a>.

````