HydraCore
API by router

Chat media

Download Chat Media Internal

Download chat media — runtime route (proxy-key auth).

Called by the agent runtime to fetch uploaded media for LLM vision input.

GET
/internal/v1/instances/{instance_id}/chat/media/{media_id}

Path Parameters

instance_idInstance Id
Formatuuid
media_idMedia Id

Response Body

curl -X GET "https://loading/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/chat/media/string"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Upload Chat Media

Upload a file for use in chat. Returns a media_id the chat can reference.

Validates: file type, file size (5MB max). Stores in R2 at chat-media/{tenant_id}/{instance_id}/{uuid}.{ext}

POST
/v1/instances/{instance_id}/chat/media
AuthorizationBearer <token>

In: header

Path Parameters

instance_idInstance Id
Formatuuid

Header Parameters

X-Api-Key?X-Api-Key
fileFile
Formatbinary

Response Body

curl -X POST "https://loading/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/chat/media" \  -H "X-Api-Key: string" \  -F file="string"
{
  "content_type": "string",
  "media_id": "string",
  "size_bytes": 0,
  "storage_key": "string",
  "url": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Download Chat Media

Download chat media — dashboard route (JWT auth).

GET
/v1/instances/{instance_id}/chat/media/{media_id}
AuthorizationBearer <token>

In: header

Path Parameters

instance_idInstance Id
Formatuuid
media_idMedia Id

Header Parameters

X-Api-Key?X-Api-Key

Response Body

curl -X GET "https://loading/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/chat/media/string" \  -H "X-Api-Key: string"
null
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}