Assets

Assets are uploaded files that .ws documents, templates, render jobs, and source workflows can reference. Use them for logos, images, audio, video, fonts, and supporting media.

Upload

POST/api/assets

Upload assets

Accepts multipart form-data. The server stores the asset and returns IDs and metadata.

bash
curl -X POST "$WORKSHOP_URL/api/assets" \
  -H "x-api-key: $WORKSHOP_API_KEY" \
  -F "file=@logo.png"
json
{
  "assets": [
    {
      "assetId": "asset_abc123",
      "filename": "logo.png",
      "size": 45231,
      "mimetype": "image/png",
      "url": "https://demo.ws.video/assets/asset_abc123"
    }
  ]
}

Retrieve

GET/assets/{id}

Read asset media

Public media route for a stored asset ID.

bash
curl -L "$WORKSHOP_URL/assets/asset_abc123" -o logo.png

Assets vs Sources

Use /api/assets for media files you want to place inside a video: logos, stills, audio beds, fonts, and short video assets.

Use /api/sources for long-form source material you want to preprocess into transcripts, shots, thumbnails, and clip candidates.

Storage

Deployments may use local persistent storage or object storage. Public URLs depend on deployment configuration. For production, set a stable object-storage backend and base URL before distributing asset links outside the app.

Next Steps