> ## 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.

# Загрузка и продление

> Загрузите внешнее аудио и продлите его одним запросом.

Используйте **загрузку и продление**, если у вас уже есть публичный URL аудио и вы хотите продолжить трек без отдельных вызовов [загрузки](/api/ru/suno/suno_upload) и [продления](/api/ru/suno/suno_extend).

<Callout type="info">
  * Передайте публично доступный `audio_url`. Рекомендуемая длительность — не более 8 минут.
  * `continue_at` должен быть `>= 1` и меньше фактической длительности загруженного аудио.
  * Этот эндпоинт всегда работает в пользовательском режиме. Если `prompt` пустой, продление выполняется как инструментальное.
  * Сохраните возвращенный `jobId` и получите результат через [Получение результата Suno V2](/api/ru/suno/suno_fetch_v2) или обратный вызов `hookUrl`.
</Callout>


## OpenAPI

````yaml openapi/ru/suno.json POST /suno/v1/upload-extend
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/upload-extend:
    post:
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/Mv_Params'
                - $ref: '#/components/schemas/Prompt_Params'
                - $ref: '#/components/schemas/Title_Params'
                - $ref: '#/components/schemas/Tags_Params'
                - $ref: '#/components/schemas/Negative_tags_Params'
                - $ref: '#/components/schemas/Style_weight_Params'
                - $ref: '#/components/schemas/Weirdness_constraint_Params'
                - $ref: '#/components/schemas/Audio_weight_Params'
                - $ref: '#/components/schemas/Duration_Params'
                - $ref: '#/components/schemas/Auto_lyrics_Params'
                - $ref: '#/components/schemas/Vocal_gender_Params'
                - $ref: '#/components/schemas/Persona_id_Params'
                - $ref: '#/components/schemas/Variety_Params'
                - $ref: '#/components/schemas/Max_mode_Params'
                - $ref: '#/components/schemas/Audio_format_Params'
                - $ref: '#/components/schemas/HookUrlParams'
                - type: object
                  properties:
                    audio_url:
                      type: string
                      description: >-
                        Публично доступный URL аудио для загрузки и продления.
                        Рекомендуемая длительность — не более 8 минут.
                    continue_at:
                      type: number
                      example: 10
                      description: >-
                        Момент начала продления аудио в секундах. Должен быть >=
                        1 и меньше фактической длительности загруженного аудио.
                  required:
                    - audio_url
                    - continue_at
                - $ref: '#/components/schemas/IsStorageParams'
      responses:
        '200':
          $ref: '#/components/responses/SuccessResponse'
        '400':
          $ref: '#/components/responses/400Response'
        '401':
          $ref: '#/components/responses/401Response'
      security:
        - CustomApiKey: []
components:
  schemas:
    Mv_Params:
      type: object
      properties:
        mv:
          type: string
          default: chirp-v6
          enum:
            - chirp-v6
            - chirp-v6-wild
            - chirp-v6-mini
          description: >-
            Модель для использования. Доступны `chirp-v6`, `chirp-v6-wild`,
            `chirp-v6-mini`. Старые модели Suno полностью сняты с поддержки;
            передача старого названия сопоставляет его с `chirp-v6`. См.
            [Соответствие моделей](/api/ru/suno#соответствие-моделей). После
            создания пользовательской модели можно передать
            `chirp-custom:{model_id}`. См. [Создание
            модели](/api/ru/suno/suno_create_model). `persona_id` и
            `chirp-custom` нельзя использовать вместе.
    Prompt_Params:
      type: object
      properties:
        prompt:
          type: string
          description: >-
            Текст песни.


            Используется в пользовательском режиме (custom=true). Обязателен,
            когда instrumental = false. Текст будет использован и исполнен в
            сгенерированном треке.. Максимальная длина: 5000 символов.
    Title_Params:
      type: object
      properties:
        title:
          type: string
          description: >-
            Название музыки.


            Используется в пользовательском режиме (custom=true). Максимальная
            длина: 80 символов.
    Tags_Params:
      type: object
      properties:
        tags:
          type: string
          description: >-
            Музыкальный стиль или жанр.


            Используется в пользовательском режиме (custom=true). Максимальная
            длина: 1000 символов.
          example: rock, blues, hip-hop, r&b
    Negative_tags_Params:
      type: object
      properties:
        negative_tags:
          type: string
          description: |-
            Музыкальные стили или жанры, которые нужно исключить из генерации.

            Используется в пользовательском режиме (custom=true).
    Style_weight_Params:
      type: object
      properties:
        style_weight:
          type: number
          description: >-
            Вес музыкального стиля, диапазон: 0,00–1,00.


            Используется в пользовательском режиме. Допустимый диапазон: 0 <= x
            <= 1.
          example: 0.5
    Weirdness_constraint_Params:
      type: object
      properties:
        weirdness_constraint:
          type: number
          description: >-
            Вес аудиокреативности (странности), диапазон: 0,00–1,00.


            Используется в пользовательском режиме. Допустимый диапазон: 0 <= x
            <= 1.
          example: 0.5
    Audio_weight_Params:
      type: object
      properties:
        audio_weight:
          type: number
          description: >-
            Вес звука, диапазон: 0,00–1,00.


            Используется в пользовательском режиме. Допустимый диапазон: 0 <= x
            <= 1.
          example: 0.5
    Duration_Params:
      type: object
      properties:
        duration:
          type: int
          description: >-
            Длительность аудио (в секундах).


            Используется только в пользовательском режиме. Допустимое значение:
            от 10 до 360 секунд.
    Auto_lyrics_Params:
      type: object
      properties:
        auto_lyrics:
          type: boolean
          default: false
          description: >-
            Автоматически генерировать текст. Только для пользовательского
            режима.


            - **true**: Входной текст будет креативно переписан, похожим образом
            на эффект режима вдохновения

            - **false**: Использовать предоставленный текст напрямую для
            генерации музыки
    Vocal_gender_Params:
      type: object
      properties:
        vocal_gender:
          type: string
          description: |-
            Вокальный пол.

            - Мужской: Мужской голос

            - Женский: женский голос
          enum:
            - Male
            - Female
    Persona_id_Params:
      type: object
      properties:
        persona_id:
          type: string
          description: >-
            Идентификатор музыкального стиля. Только пользовательский режим.


            Используйте этот параметр для создания музыки определенного стиля.
            Нельзя использовать вместе с `mv=chirp-custom:{model_id}`.
    Variety_Params:
      type: object
      properties:
        variety:
          type: string
          default: normal
          enum:
            - 'off'
            - normal
            - high
            - extra
            - max
          description: >-
            Разнообразие стиля. Управляет тем, насколько результат отличается от
            указанного стиля.


            - **off**: Exact style (точный стиль)

            - **normal**: Balanced variety (сбалансированное разнообразие)

            - **high**: Distinct styles (заметные различия стилей)

            - **extra**: Bold exploration (смелое исследование)

            - **max**: Unreasonably varied (крайне разнообразно)
    Max_mode_Params:
      type: object
      properties:
        max_mode:
          type: boolean
          default: false
          description: >-
            Использовать больше вычислительных ресурсов, чтобы максимизировать
            согласованность на протяжении всей песни. Только в пользовательском
            режиме.


            - **false**: Нет (по умолчанию)

            - **true**: Да. При включении расход квоты удваивается
    Audio_format_Params:
      type: object
      properties:
        audio_format:
          type: string
          enum:
            - mp3
            - m4a
            - wav
          example: mp3
          description: Формат аудио `audioUrl` после успешного завершения задачи.
    HookUrlParams:
      type: object
      properties:
        hookUrl:
          type: string
          description: URL обратного уведомления
    IsStorageParams:
      type: object
      properties:
        isStorage:
          type: boolean
          default: true
          deprecated: true
          description: |-
            Сохранять ли сгенерированный звук.

            - **true**: аудио будет сохранено и будет возвращено TTAPI CDN URL.
            - **false**: будет возвращен исходный источник 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>.

````