Seedance 2.5 from ByteDance is officially available on Apiframe.

Udio API Guide: Generate Music Programmatically

No official Udio API exists yet. Here's how to generate music with Udio anyway, plus pricing.

Apiframe Team Published July 10, 2026 July 10, 2026 · 5 min read Beginner
Udio API Guide: Generate Music Programmatically

Does Udio Have an Official API?

No. As of this writing, Udio does not offer a public API. Udio's own help center is direct about it, stating plainly that there is strong interest but no public API on offer right now. If you have been searching for official Udio API documentation and coming up empty, that is why. There isn't any to find. Some reports point to limited partner or enterprise beta access for select accounts, but that is not available to the general developer public, and Udio's official public answer remains no.

That is a real gap if you want to build Udio's music generation into a product. The practical path most developers take instead is a third-party platform that has integrated Udio's generation capability into a standard REST API.

How to Generate Music With Udio Through Apiframe

Apiframe exposes Udio generation through the same unified API it uses for its other music, image, and video models. You send a prompt to POST /v2/music/generate with model: "udio", and you get back a job you check on (or get a webhook for) until the track is ready, the same pattern used for generating a Midjourney image or a Kling video through the same platform. If you're already using Apiframe for other generation work, adding Udio doesn't mean learning a new authentication method or a new response format. Our broader AI music generation API guide covers this same pattern across every music model on the platform, if you want the wider picture before diving into Udio specifically.

Key Parameters and Controls

Udio generation on Apiframe is controlled through a udioParams object:

lyrics_type: "generate" (the default, AI writes lyrics from your description), "user" (you supply the lyrics yourself), or "instrumental" (no vocals at all)

title: track title, up to 80 characters

style: a genre or style hint, up to 1,000 characters, used as the style description when lyrics_type is "user"

negative_tags: comma-separated styles to avoid, up to 500 characters

seed: an integer for reproducible generations

Udio API Pricing

Through Apiframe, Udio generation is billed by track length: 9 credits for 32 seconds, 17 for 65, 26 for 97, and 35 for the maximum 130 seconds. For comparison, Suno on the same platform costs a flat 11 credits per generation, so if you're budgeting across both (which makes sense given they solve overlapping but slightly different problems), short Udio tracks come in cheaper while longer ones cost more. Credits are deducted when you submit the request and automatically refunded if the generation fails, so a failed job doesn't cost you anything. For a wider breakdown of how music pricing compares across providers, see our guide to AI music API pricing in 2026.

How to Call the Udio API: Code Example

python
import requests
import time

API_KEY = "afk_your_api_key_here"
BASE_URL = "https://api.apiframe.ai/v2"

headers = {
    "X-API-Key": API_KEY,
    "Content-Type": "application/json",
}

# 1. Submit the generation request
payload = {
    "prompt": "chill lo-fi hip hop beat with jazzy piano chords and vinyl crackle",
    "model": "udio",
    "udioParams": {
        "lyrics_type": "generate",
    },
}

response = requests.post(f"{BASE_URL}/music/generate", headers=headers, json=payload)
response.raise_for_status()
job_id = response.json()["jobId"]
print(f"Job submitted: {job_id}")

# 2. Poll for the result
while True:
    job = requests.get(f"{BASE_URL}/jobs/{job_id}", headers=headers).json()

    if job["status"] == "COMPLETED":
        print("Tracks ready:", job["result"]["tracks"])
        break
    elif job["status"] == "FAILED":
        print("Generation failed:", job.get("error"))
        break

    time.sleep(5)

For a track with your own lyrics instead of AI-generated ones:

bash
curl -X POST https://api.apiframe.ai/v2/music/generate \
  -H "X-API-Key: afk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "[Verse]\nIn the gentle evening air,\nWhispers dance without a care.\n[Chorus]\nHold me close, never let go",
    "model": "udio",
    "udioParams": {
      "lyrics_type": "user",
      "style": "jazz, pop",
      "title": "Evening Stars"
    }
  }'

And for an instrumental track with no vocals:

bash
curl -X POST https://api.apiframe.ai/v2/music/generate \
  -H "X-API-Key: afk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "ambient electronic soundscape with evolving pads and gentle arpeggios",
    "model": "udio",
    "udioParams": {
      "lyrics_type": "instrumental",
      "negative_tags": "vocals, singing"
    }
  }'

Udio vs. Suno API

Both are accessible through Apiframe with nearly identical request shapes, which makes it easy to run the same prompt through both and compare. In general, people reach for Udio when they want a more natural, less obviously "AI" vocal texture and a faster average turnaround, and reach for Suno when they want more structural control over full songs. Suno's API also supports extending tracks, generating covers, adding vocals to an existing instrumental, and splitting stems, none of which Udio currently offers through this integration. If you're deciding between the two for a specific project, Apiframe's AI music model rankings break down how Suno, Udio, Mureka, and other models compare on turnaround time, vocal realism, and production control. For a deeper side-by-side, our Suno vs Udio vs Mureka vs AIVA comparison covers pricing and licensing differences in more detail, and the Suno API guide walks through that integration if you decide to add it alongside Udio.

Commercial Use and Licensing

Tracks generated through Apiframe's Udio integration come with commercial usage rights as part of your Apiframe plan, since you are not going through Udio's own consumer terms of service. You're generating through Apiframe's infrastructure and licensing instead. If commercial use is central to your product (background music for a paid app, tracks sold as part of a larger asset pack, and so on), it's worth reading Apiframe's current terms of service directly rather than assuming, since licensing language can be updated. Our roundup of the best AI music generation APIs also covers how licensing terms tend to differ across providers if you're comparing options beyond Udio and Suno.

FAQ

Will Udio release an official API?

There's no public timeline. Udio's help center language ("we know there's keen interest") suggests it's on their radar, but nothing concrete has shipped for general developer access as of this writing.

Is there a free trial?

Apiframe gives new accounts 50 free credits to test generation before committing to a paid plan, with no credit card required.

What audio format and quality is returned?

Generated tracks are returned as downloadable audio files via CDN URL in the completed job's result.tracks field.

Can lyrics be in languages other than English?

Udio's underlying model handles multiple languages reasonably well, though quality and pronunciation accuracy vary by language. It's worth testing your specific target language before building it into a production workflow.

If you're building a product that needs music generation alongside images or video, Apiframe's unified API covers all three under one key, which is worth a look before you wire up a separate integration for each.

Apiframe Team

The team behind Apiframe - making AI generation accessible to everyone.

Power your next AI product with Apiframe.

Instant access to 70+ media models through a single API. Start free and scale when you're ready.