{
"openapi": "3.1.2",
"info": {
"title": "Media2URL Developer Platform REST API",
"version": "1.0.0",
"description": "Official REST API for Media2URL external developers and authenticated automation clients. Provides direct Cloudflare R2 presigned file uploads with temporary-to-final object promotion, transactional quota reservations, asset management, version history, duplicate detection, and remote URL imports.",
"contact": {
"name": "Media2URL Developer Platform",
"url": "https://media2url.com/contact",
"email": "[email protected]"
},
"license": {
"name": "Proprietary",
"url": "https://media2url.com/terms"
}
},
"servers": [
{
"url": "https://api.media2url.com/v1",
"description": "Production API v1"
}
],
"security": [
{
"BearerAuth": []
}
],
"paths": {
"/usage": {
"get": {
"operationId": "getUsage",
"summary": "Retrieve Account & API Usage",
"description": "Returns authoritative usage metrics for storage, bandwidth, and monthly upload counts.",
"security": [
{
"BearerAuth": [
"usage:read"
]
}
],
"responses": {
"200": {
"description": "Authoritative usage metrics",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UsageResponse"
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"429": {
"$ref": "#/components/responses/RateLimited"
}
}
}
},
"/uploads/presign": {
"post": {
"operationId": "presignUpload",
"summary": "Request Direct R2 Upload URL",
"description": "Validates file metadata against account quotas, atomically reserves storage capacity, and generates a short-lived presigned PUT URL targeting a temporary R2 key.",
"security": [
{
"BearerAuth": [
"uploads:write"
]
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PresignUploadRequest"
}
}
}
},
"responses": {
"201": {
"description": "Temporary upload URL generated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PresignUploadResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"429": {
"$ref": "#/components/responses/RateLimited"
}
}
}
},
"/uploads/finalize": {
"post": {
"operationId": "finalizeUpload",
"summary": "Finalize Upload & Promote Asset",
"description": "Atomically consumes the upload session, validates temporary R2 object size, content type, magic bytes, and blocked fingerprints, promotes the validated bytes into a non-presigned final key, commits quota, and returns the canonical asset links.",
"security": [
{
"BearerAuth": [
"uploads:write"
]
}
],
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string",
"maxLength": 128
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FinalizeUploadRequest"
}
}
}
},
"responses": {
"201": {
"description": "Asset created and promoted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AssetResource"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"404": {
"$ref": "#/components/responses/NotFound"
},
"409": {
"$ref": "#/components/responses/Conflict"
},
"410": {
"$ref": "#/components/responses/Gone"
},
"429": {
"$ref": "#/components/responses/RateLimited"
}
}
}
},
"/uploads/check-duplicate": {
"post": {
"operationId": "checkDuplicate",
"summary": "Check for Duplicate Asset",
"description": "Searches within the authenticated account's scope for an existing asset matching the given SHA-256 checksum and optional byte size.",
"security": [
{
"BearerAuth": [
"assets:read"
]
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CheckDuplicateRequest"
}
}
}
},
"responses": {
"200": {
"description": "Duplicate detection result",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CheckDuplicateResponse"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
}
}
}
},
"/assets": {
"get": {
"operationId": "listAssets",
"summary": "List Assets",
"description": "Returns a cursor-paginated list of assets owned by the authenticated account.",
"security": [
{
"BearerAuth": [
"assets:read"
]
}
],
"parameters": [
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"default": 20,
"maximum": 100
}
},
{
"name": "cursor"
}
]
}
}
},
"_note": "Response truncated for documentation purposes"
}
curl --location --request GET 'https://zylalabs.com/api/14137/media2url+cloud+media+ingestion+api/34981/check+api+and+edge+storage+health' --header 'Authorization: Bearer YOUR_API_KEY'
साइन अप करने के बाद, प्रत्येक डेवलपर को एक पर्सनल API एक्सेस की असाइन की जाती है, जो अक्षरों और अंकों का एक यूनिक संयोजन होता है, जिसका उपयोग हमारे API एंडपॉइंट तक पहुंचने के लिए किया जाता है। प्रमाणीकरण के लिए Media2URL क्लाउड मीडिया इनजेशन API के साथ बस अपने बेयरर टोकन को Authorization हेडर में शामिल करें।
| हेडर | विवरण |
|---|---|
Authorization
|
आवश्यक
होना चाहिए Bearer access_key. जब आप सब्सक्राइब हों तो ऊपर "Your API Access Key" देखें।
|
कोई लंबी अवधि की प्रतिबद्धता नहीं। कभी भी अपग्रेड, डाउनग्रेड या कैंसल करें। फ्री ट्रायल में 50 रिक्वेस्ट तक शामिल हैं।
Media2URL एक उच्च प्रदर्शन डेवलपर मीडिया अधिग्रहण और स्थायी एज CDN लिंक जनरेशन REST API है जो चित्रों, वीडियो, ऑडियो, PDF और फाइलों के लिए है