Skip to content

Legacy Endpoints

Deprecated

These endpoints exist for backward compatibility with the original monolithic OsuRender application. New integrations should use the /v1/ API.

Migration Guide

Legacy Endpointv1 EquivalentNotes
POST /renderPOST /v1/renderResponse format differs
GET /status/{job_id}GET /v1/jobs/{job_id}Field names differ
GET /jobsGET /v1/jobsResponse is array vs. paginated object
GET /video/{job_id}.mp4GET /v1/artifacts/videos/{job_id}.mp4Redirects to artifacts
GET /thumbnail/{job_id}.jpgGET /v1/artifacts/thumbnails/{job_id}.jpgRedirects to artifacts
GET /logs/{job_id}GET /v1/artifacts/logs/{job_id}.logRedirects to artifacts
GET /skinsGET /v1/skinsSame response format
POST /skins/uploadPOST /v1/skins/uploadSame behavior

Key Differences

POST /render (Legacy)

The legacy render endpoint returns a different response format:

json
{
  "job_id": "550e8400e29b41d4a716446655440000",
  "view_url": "/view/550e8400e29b41d4a716446655440000",
  "video_url": "/video/550e8400e29b41d4a716446655440000.mp4"
}

Note: The legacy job_id uses hex format (no dashes) vs. the v1 API which uses standard UUID format with dashes.

The legacy quality parameter maps to v1 resolution: "ultra""4k", everything else → "1080p".

GET /status/{job_id} (Legacy)

json
{
  "job_id": "550e8400e29b41d4a716446655440000",
  "status": "complete",
  "percent": 100.0,
  "skin": "Default",
  "map_title": "Kano - Prima Stella [Caged]",
  "created_at": 1717848000.0,
  "last_updated": 1717848330.0,
  "error": null
}

Key differences:

  • status uses "complete" instead of "completed"
  • percent instead of progress
  • Timestamps are Unix floats instead of ISO 8601
  • No artifacts links object

GET /jobs (Legacy)

Returns a flat array of the 50 most recent jobs (no pagination, no total count).

WARNING

Legacy endpoints delegate to their v1 counterparts internally. They share the same rate limits, validation, and capacity checks.

Built with VitePress