Media Vault
Upload Media to Vault
Upload a media file directly to your vault.
Authorization
default AuthorizationBearer <token>
Get your API Key from OnlyFansAPI Console - https://app.onlyfansapi.com/api-keys
In: header
Path Parameters
account*string
The Account ID
Request Body
multipart/form-data
file?string
The file to upload. Required if file_url is not provided. Maximum file size: 100 MB (limited by Cloudflare).
file_url?string
A URL to download the file from. Required if file is not provided. Maximum file size depends on the subscription configuration.
async?boolean
Set to true to process uploads in the background. Returns a polling_url to check status. Recommended for large files.
Response Body
application/json
application/json
curl -X POST "https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/media/vault"{
"data": {
"id": 1234567890,
"type": "photo",
"convertedToVideo": false,
"canView": true,
"hasError": false,
"createdAt": "2026-04-03T16:16:36+00:00",
"isReady": false,
"files": {
"full": {
"url": null,
"width": 0,
"height": 0,
"size": 0,
"sources": []
},
"thumb": null,
"preview": null,
"squarePreview": null
},
"duration": 0,
"releaseForms": [],
"hasCustomPreview": false
},
"_meta": {
"_credits": {
"used": 3,
"balance": 636132,
"note": "Always"
},
"_cache": {
"is_cached": false,
"note": "Cache disabled for this endpoint"
},
"_rate_limits": {
"limit_minute": 5000,
"limit_day": null,
"remaining_minute": 4999,
"remaining_day": null
}
}
}{
"status": "pending",
"prefixed_id": "ofapi_media_abc123def456abc123def456abc123de",
"polling_url": "https://app.onlyfansapi.com/api/acct_abc123def456/media/uploads/ofapi_media_abc123def456abc123def456abc123de/status"
}