/v1/studio/upload
Upload art: with a paid orderId, pinned to IPFS and minted to the issuer, or only pinned (publish) for your own wallet to mint; without, staged for a drop
Payload
https://api.xrpl.to/v1/studio/uploadmultipart: files[] or zip, metadata[] (JSON), media[]? (video, audio or a 3D model beside the image of its name), name, collectionName?, description?, taxon?, transferFee?, flags?, orderId? with issuer? (mint now) or publish? (true: store for your own wallet to mint), blind? (true for a hidden drop)
curl -X POST 'https://api.xrpl.to/v1/studio/upload'
Response
{ jobId, orderId, status, total }
What it does
Upload art: with a paid orderId, pinned to IPFS and minted to the issuer, or only pinned (publish) for your own wallet to mint; without, staged for a drop
- Notes
- Up to 100 MB. media: video (MP4, MOV, WebM), audio (MP3, AAC, WAV, OGG, FLAC, M4A) or a 3D model (binary glTF), told by its bytes (in a ZIP too), each beside the image of its name (1.mp4 with 1.png), which the NFT shows: the metadata names it as animation_url and as video, audio or file; one without such an image, or that is not media, is refused. It is stored, staged and counted in an order's storage like its image. A ZIP's metadata is any .json (one _metadata.json array matched by edition, or 1.json beside 1.png) or a _metadata/ folder. With issuer, each NFT is minted with that issuer (which names minter_address as its NFTokenMinter first) and offered to it for 0: accept the offers. With publish=true nothing is minted: the job's cids are the metadata files, each minted as ipfs://<cid> by your own wallet, which names no minter. Without either, nothing reaches IPFS yet: a paid drop publishes the files (a hidden one at its reveal), and files no drop claims within a day are deleted. A file the node does not pin is left out, and its order stays open for it. The same paid orderId sent again while its job runs gets that jobId back: a retry never mints twice.