Docs
Get an API key

List Music

GET /v1/music View .md

Your music jobs, newest first.

  • limit integer
    default 20range 1–100
  • after string

    A job id from the previous page (last_id); returns the jobs created before it.

OK

application/json · music-list-payload

5 fields
  • object string
    list
  • data array of objects
    20 fields
    • id string required
    • object string required
      music
    • model string required
    • task string required
    • status string required
      pendingin_progresscompletedfailedcancelledexpired
    • progress integer required

      Estimated percent while rendering.

    • created_at integer required
    • completed_at integer
    • expires_at integer

      When the audio is deleted (7 days after completion).

    • polling_url string required
    • stream_url string

      While pending or in_progress on a model that streams (streaming.progressive): the song as WAV as it renders, from its first byte (GET /v1/music/{id}/stream; ?index=N for another output). Send your API key.

    • timestamps_stream_url string

      While pending or in_progress on a model that streams, for a song asked for with timestamps: true: its lyric lines as they settle while it renders, then the finished timing, as server-sent events (GET /v1/music/{id}/timestamps/stream; ?index=N for another output). Send your API key.

    • queue_position integer

      Jobs ahead of this one for the same model, while pending.

    • outputs array of objects
      12 fields
      • index integer

        Its place in outputs and in unsigned_urls; GET /v1/music/{id}/content?index=N.

      • kind string
      • role string

        What the audio is; mix is the whole song.

      • candidate integer

        Which of the n songs it belongs to.

      • content_type string
      • format string
      • duration_seconds number
      • sample_rate integer
      • channels integer
      • seed integer
      • metadata object

        With best_of, candidates: every take in the order rendered, {seed, score}, where score is the mean confidence aligner-1 placed its lyric lines with (0 to 1; null for a take it could not align). The output is the take with the highest score.

        1 field
        • candidates array of objects
          2 fields
          • seed integer
          • score number or null
      • timestamps object

        When each word and line of the lyrics is sung in this output, in seconds from the start of the file. The same lines, words and unaligned lines POST /v1/audio/alignments answers with (docs/alignments), made by aligner-1 from the output's own audio and the lyrics you sent. Present only on a job that sent timestamps set to true, and only on an output that was timed; an output that could not be has none, and the job says so in warnings (timestamps_unavailable).

        4 fields
        • separated boolean required

          Whether the vocal was separated from the music before it was timed. Always true for a song.

        • lines array of objects required

          The lines of the lyrics that were placed, in order. Section labels such as [Chorus] are not lines; they are each line's tag.

          8 fields
          • index integer required

            Which line of text this is, counting from 0 and skipping section labels and blank lines.

          • section integer required

            Which section the line is in, counting from 0, so a chorus that repeats stays two sections.

          • tag string or null required

            The label of the section (Chorus for [Chorus]), or null for lines before the first label or in text with none.

          • text string required

            The line as you wrote it.

          • start number required

            Seconds from the start of the audio to the first word.

          • end number required

            Seconds from the start of the audio to the end of the last word.

          • score number required

            Median confidence of the line's words. Higher is better; use it to judge by, not to filter on.

          • certain boolean required

            The aligner's judgement that the line is placed right. False where a word was held so long that the search plainly parked it across a gap. True is not a guarantee.

        • words array of objects required

          Every word of the lines above, in order, as written in the lyrics.

          5 fields
          • line integer required

            The index of the line the word is in.

          • text string required

            The word as you wrote it.

          • start number required

            Seconds from the start of the audio.

          • end number required

            Seconds from the start of the audio.

          • score number required

            The aligner's confidence in this word.

        • unaligned array of objects required

          Lines the model could not place, listed instead of left out.

          3 fields
          • line integer required

            The index of the line.

          • text string required
          • reason string required

            Why the line was not placed.

    • written object

      A job sent write: true, once completed: the song the writer wrote from the brief, as the model was sent it.

      5 fields
      • prompt string required

        The style caption.

      • lyrics string required
      • bpm integer required
      • key string required
      • time_signature string required
    • unsigned_urls array of strings

      outputs[N] is at unsigned_urls[N]; send your API key.

    • warnings array of objects required
      3 fields
      • code string

        advisory_control (a hint the model may not follow exactly), ignored_parameter (accepted and not used), unknown_parameter (not a music request field) timestamps_unavailable (the song is complete, but this output could not be timed; nothing was billed for the timing) or best_of_unranked (no take could be aligned, so the first take is returned; every take was rendered and is billed, no alignment is).

      • field string
      • message string
    • usage object
      7 fields
      • cost number

        Dollars, billed_seconds times the model's price, plus timestamps.cost when the lyrics were timed, best_of.cost when takes were ranked and write.cost when the song was written.

      • duration_seconds number
      • billed_seconds integer

        Seconds of song billed at the model's price, every take's with best_of. The timing of the lyrics is billed apart, in timestamps or best_of.

      • outputs integer
      • timestamps object

        The timing of the lyrics, billed against aligner-1 as POST /v1/audio/alignments bills it. Present only when at least one output was timed; an output that could not be is not billed.

        2 fields
        • billed_seconds integer required

          The seconds of audio that were timed, each output rounded up to a whole second.

        • cost number required

          Dollars for billed_seconds at aligner-1's price.

      • best_of object

        A job sent best_of above 1: how many takes were rendered, and the alignment that ranked them, billed against aligner-1 as POST /v1/audio/alignments bills it. With timestamps, the kept take's timing is this alignment, billed here once and not in timestamps. A take that could not be aligned is not billed.

        3 fields
        • takes integer required
        • billed_seconds integer required

          The seconds of audio aligned, each take rounded up to a whole second.

        • cost number required

          Dollars for billed_seconds at aligner-1's price.

      • write object

        A job sent write: true: the writer's tokens, every attempt's, billed at its row's prices as POST /v1/chat/completions bills them.

        4 fields
        • model string required
        • prompt_tokens integer required
        • completion_tokens integer required
        • cost number required

          Dollars for the tokens at the writer's prices.

    • error string

      The failure, when failed.

    • error_code string

      Why the job failed: invalid_request, payload_too_large, timeout, provider_error, server_error, or write_failed (write: true and no draft met the rules; not billed).

  • first_id string
  • last_id string
  • has_more boolean
curl https://api.vultrinference.com/v1/music \
  -H "Authorization: Bearer $VULTR_INFERENCE_API_KEY"
Response · 200
{
    "object": "list",
    "data": [
        {
            "id": "music_0123456789abcdef01234567",
            "object": "music",
            "model": "string",
            "task": "string",
            "status": "pending",
            "progress": 0,
            "created_at": 1790000000,
            "polling_url": "string",
            "warnings": [
                {}
            ]
        }
    ],
    "first_id": "string",
    "last_id": "string",
    "has_more": false
}