Assets

Signed URL untuk asset R2 (character icon/splash, weapon icon, artifact icon, dsb).

Semua asset visual DYOGG di-host di Cloudflare R2 (cdn.dyogg.com). Endpoint Assets menyediakan:

  1. Direct public URL — sudah include di response endpoint lain (icon_url, splash_url, dsb).
  2. Bulk lookup untuk workflow batch (mis. generate infographic banyak karakter).
  3. Signed URL untuk asset premium/DMCA-sensitive (rarely used).

GET /v1/assets/{game}/character/{avatar_id}?variant=…

Get URL asset karakter — icon, portrait, splash, side-icon.

Path params

NamaTipeRequired
gameenum
avatar_idinteger

Query params

NamaTipeDefault
variantenumicon (icon, side, portrait, splash, chibi)
formatenumwebp (webp, png, jpg)
winteger— (resize width, on-the-fly via R2 image resizing)

Response 200

{
  "data": {
    "url": "https://cdn.dyogg.com/genshin/portraits/Flins.webp",
    "content_type": "image/webp",
    "width": 1024,
    "height": 1024,
    "cached_until": "2026-07-23T00:00:00Z"
  }
}

POST /v1/assets/bulk-resolve

Resolve URL sekaligus untuk banyak entity.

Request body

{
  "game": "hsr",
  "items": [
    { "kind": "character", "id": 1308, "variant": "splash" },
    { "kind": "light_cone", "id": 23028, "variant": "icon" },
    { "kind": "relic", "id": 314, "variant": "icon" }
  ]
}

Response 200

{
  "data": [
    { "kind": "character", "id": 1308, "url": "https://cdn.dyogg.com/hsr/splashes/1308.png" },
    { "kind": "light_cone", "id": 23028, "url": "https://cdn.dyogg.com/hsr/light-cones/23028.png" }
  ]
}

Batasan

  • Bulk max 50 item per request.
  • Semua URL public (immutable, cache-friendly). Signed URL hanya untuk asset internal DYOGG (screenshot user-uploaded, dsb) — bukan aset game.