Skip to main content
GET
/
api
/
v1
/
assets
/
{asset_id}
Get Asset
curl --request GET \
  --url https://roughy-api-staging.fly.dev/api/v1/assets/{asset_id} \
  --header 'Authorization: Bearer <token>'
{
  "content_type": "audio/mpeg",
  "created_at": "2026-05-02T08:54:52.423000Z",
  "download_url": "https://example.supabase.co/storage/v1/object/sign/assets/019de7f7-3a52-74d1-9eeb-323e0bfb7bb9?token=eyJhbGciOi...",
  "duration_seconds": "324.412",
  "id": "019de7f7-3a52-74d1-9eeb-323e0bfb7bb9",
  "size_bytes": 4823572,
  "state": "ready",
  "type": "audio_input"
}

Documentation Index

Fetch the complete documentation index at: https://docs.roughy.ai/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Either your Supabase session JWT (UI flows) or an API key minted via POST /api-keys (programmatic flows). Pass it as Authorization: Bearer <token>. The server inspects the token format and routes to JWT or API-key verification automatically.

Path Parameters

asset_id
string<uuid>
required

Response

Successful Response

Detail view: summary plus a freshly minted download URL when ready.

id
string<uuid>
required
type
enum<string>
required
Available options:
audio,
video,
rendered_video,
cut_file
state
enum<string>
required

Lifecycle state, orthogonal to AssetType (content kind).

Available options:
pending_upload,
ready,
deleted
size_bytes
integer | null
required
content_type
string | null
required
duration_seconds
string | null
required
Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
created_at
string<date-time>
required
download_url
string | null
required