TemPolor API v1

REST API for TemPolor royalty-free music generation — create soundtracks from text prompts, custom lyrics or MIDI, with voice cloning, chord and BPM customization and export to mp3, wav and stems.

OpenAPI Specification

useapi-tempolor-v1-openapi.yml Raw ↑
# Derived from the first-party useapi.net Postman collection: https://useapi.net/assets/postman/tempolor-v1.json
# method: derived  |  no operation, path, parameter or example was invented.
openapi: 3.1.0
info:
  title: TemPolor API v1 by useapi.net
  version: 1.0.0
  description: '[TemPolor API v1 by useapi.net](https://useapi.net/docs/api-tempolor-v1)


    ---

    **Updated:** March 21, 2026'
  contact:
    name: useapi.net support
    email: support@useapi.net
    url: https://useapi.net/docs/support
  x-derived-from: https://useapi.net/assets/postman/tempolor-v1.json
externalDocs:
  description: tempolor documentation
  url: https://useapi.net/docs/api-tempolor-v1
servers:
- url: https://api.useapi.net/v1/tempolor
security:
- bearerAuth: []
tags:
- name: tempolor
  description: TemPolor API v1 by useapi.net
paths:
  /accounts:
    get:
      operationId: getAccounts
      summary: accounts
      description: '[Retrieve TemPolor accounts information.](https://useapi.net/docs/api-tempolor-v1/get-tempolor-accounts)'
      tags:
      - tempolor
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
    post:
      operationId: postAccounts
      summary: accounts
      description: '[Create or update TemPolor API account.](https://useapi.net/docs/api-tempolor-v1/post-tempolor-accounts)'
      tags:
      - tempolor
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /accounts/{user_id}:
    get:
      operationId: getAccountsByUserid
      summary: accounts/<user_id>
      description: '[Retrieve TemPolor account information.](https://useapi.net/docs/api-tempolor-v1/get-tempolor-accounts-user_id)'
      tags:
      - tempolor
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
    delete:
      operationId: deleteAccountsByUserid
      summary: accounts/<user_id>
      description: '[Delete TemPolor account.](https://useapi.net/docs/api-tempolor-v1/del-tempolor-accounts-user_id)'
      tags:
      - tempolor
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /music/song:
    post:
      operationId: postMusicSong
      summary: music/song
      description: '[Create music with vocals](https://useapi.net/docs/api-tempolor-v1/post-tempolor-music-song)'
      tags:
      - tempolor
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                user_id:
                  type: string
                prompt:
                  type: string
                lyrics:
                  type: string
                model_song:
                  type: string
                artistVoiceItemId:
                  type: string
                clonedVoiceItemId:
                  type: string
                midiItemId:
                  type: string
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /music/instrumental:
    post:
      operationId: postMusicInstrumental
      summary: music/instrumental
      description: '[Create instrumental music](https://useapi.net/docs/api-tempolor-v1/post-tempolor-music-instrumental)'
      tags:
      - tempolor
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                user_id:
                  type: string
                prompt:
                  type: string
                model_instrumental:
                  type: string
                tonality:
                  type: string
                bpm:
                  type: string
                chord:
                  type: string
                replyUrl:
                  type: string
                replyRef:
                  type: string
                maxJobs:
                  type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /music/stems-splitter:
    post:
      operationId: postMusicStemsSplitter
      summary: music/stems-splitter • use Body » binary to upload audio file
      description: '[Split audio into stems](https://useapi.net/docs/api-tempolor-v1/post-tempolor-music-stems-splitter)'
      tags:
      - tempolor
      parameters:
      - name: user_id
        in: query
        required: false
        schema:
          type: string
        description: Optional when only one tempolor/accounts configured. However, if you have multiple accounts configured,
          this parameter becomes required.
      requestBody:
        required: true
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /music:
    get:
      operationId: getMusic
      summary: music
      description: '[Retrieve generated music](https://useapi.net/docs/api-tempolor-v1/get-tempolor-music)'
      tags:
      - tempolor
      parameters:
      - name: user_id
        in: query
        required: false
        schema:
          type: string
        description: Optional when only one tempolor/accounts configured. However, if you have multiple accounts configured,
          this parameter becomes required.
      - name: cursor
        in: query
        required: false
        schema:
          type: string
        description: Optional. Pagination cursor for fetching next page of results.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /music/{job_id}:
    get:
      operationId: getMusicByJobid
      summary: music/<job_id>
      description: '[Retrieve music generation job status](https://useapi.net/docs/api-tempolor-v1/get-tempolor-music-job_id)'
      tags:
      - tempolor
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
    delete:
      operationId: deleteMusicByJobid
      summary: music/<job_id>
      description: '[Delete generated music](https://useapi.net/docs/api-tempolor-v1/delete-tempolor-music-job_id)'
      tags:
      - tempolor
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /music/download/{job_id}:
    get:
      operationId: getMusicDownloadByJobid
      summary: music/download/<job_id>
      description: '[Download generated music](https://useapi.net/docs/api-tempolor-v1/get-tempolor-music-download-job_id)'
      tags:
      - tempolor
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: string
      - name: file_format
        in: query
        required: false
        schema:
          type: string
        description: 'Optional, format of the generated music. Supported values: mp3 (default), wav (higher quality), stems
          (ZIP archive with separated stems).'
        example: mp3
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /music/artist-voices:
    get:
      operationId: getMusicArtistVoices
      summary: music/artist-voices
      description: '[List artist voices](https://useapi.net/docs/api-tempolor-v1/get-tempolor-music-artist-voices)'
      tags:
      - tempolor
      parameters:
      - name: user_id
        in: query
        required: false
        schema:
          type: string
        description: Optional when only one tempolor/accounts configured. However, if you have multiple accounts configured,
          this parameter becomes required.
      - name: cursor
        in: query
        required: false
        schema:
          type: string
        description: Optional. Pagination cursor for fetching next page of results.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /music/cloned-voices:
    get:
      operationId: getMusicClonedVoices
      summary: music/cloned-voices
      description: '[List cloned voices](https://useapi.net/docs/api-tempolor-v1/get-tempolor-music-cloned-voices)'
      tags:
      - tempolor
      parameters:
      - name: user_id
        in: query
        required: false
        schema:
          type: string
        description: Optional when only one tempolor/accounts configured. However, if you have multiple accounts configured,
          this parameter becomes required.
      - name: cursor
        in: query
        required: false
        schema:
          type: string
        description: Optional. Pagination cursor for fetching next page of results.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
    post:
      operationId: postMusicClonedVoices
      summary: music/cloned-voices • use Body » binary to upload audio file
      description: '[Upload voice sample for cloning](https://useapi.net/docs/api-tempolor-v1/post-tempolor-music-cloned-voices)'
      tags:
      - tempolor
      parameters:
      - name: user_id
        in: query
        required: false
        schema:
          type: string
        description: Optional when only one tempolor/accounts configured. However, if you have multiple accounts configured,
          this parameter becomes required.
      - name: name
        in: query
        required: true
        schema:
          type: string
        description: Required, specify a name for your cloned voice.
      requestBody:
        required: true
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /music/cloned-voices/{clonedVoiceItemId}:
    delete:
      operationId: deleteMusicClonedVoicesByClonedvoiceitemid
      summary: music/cloned-voices/<clonedVoiceItemId>
      description: '[Delete cloned voice](https://useapi.net/docs/api-tempolor-v1/delete-tempolor-music-cloned-voices-clonedVoiceItemId)'
      tags:
      - tempolor
      parameters:
      - name: clonedVoiceItemId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /music/midi:
    get:
      operationId: getMusicMidi
      summary: music/midi
      description: '[List uploaded MIDI files](https://useapi.net/docs/api-tempolor-v1/get-tempolor-music-midi)'
      tags:
      - tempolor
      parameters:
      - name: user_id
        in: query
        required: false
        schema:
          type: string
        description: Optional when only one tempolor/accounts configured. However, if you have multiple accounts configured,
          this parameter becomes required.
      - name: cursor
        in: query
        required: false
        schema:
          type: string
        description: Optional. Pagination cursor for fetching next page of results.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
    post:
      operationId: postMusicMidi
      summary: music/midi • use Body » binary to upload MIDI file
      description: '[Upload MIDI file](https://useapi.net/docs/api-tempolor-v1/post-tempolor-music-midi)'
      tags:
      - tempolor
      parameters:
      - name: user_id
        in: query
        required: false
        schema:
          type: string
        description: Optional when only one tempolor/accounts configured. However, if you have multiple accounts configured,
          this parameter becomes required.
      - name: name
        in: query
        required: true
        schema:
          type: string
        description: Required, specify a name for your MIDI file.
      requestBody:
        required: true
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /music/midi/{midiItemId}:
    delete:
      operationId: deleteMusicMidiByMidiitemid
      summary: music/midi/<midiItemId>
      description: '[Delete MIDI file](https://useapi.net/docs/api-tempolor-v1/delete-tempolor-music-midi-midiItemId)'
      tags:
      - tempolor
      parameters:
      - name: midiItemId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /scheduler:
    get:
      operationId: getScheduler
      summary: scheduler
      description: '[List scheduled jobs](https://useapi.net/docs/api-tempolor-v1/get-tempolor-scheduler)'
      tags:
      - tempolor
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /scheduler/available:
    get:
      operationId: getSchedulerAvailable
      summary: scheduler/available
      description: '[Retrieve available capacity](https://useapi.net/docs/api-tempolor-v1/get-tempolor-scheduler-available)'
      tags:
      - tempolor
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
  /scheduler/{job_id}:
    delete:
      operationId: deleteSchedulerByJobid
      summary: scheduler/<job_id>
      description: '[Cancel a running job](https://useapi.net/docs/api-tempolor-v1/del-tempolor-scheduler-job_id)'
      tags:
      - tempolor
      parameters:
      - name: job_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad Request — invalid or missing parameter
        '401':
          description: Unauthorized — invalid useapi.net API token
        '429':
          description: Too Many Requests — see the Retry-After header
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'useapi.net API token. Header: `Authorization: Bearer user:<number>-<unique-string>`. Use the complete
        token including the `user:` prefix.'