> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.simplified.com/cli/assets-and-uploads/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.simplified.com/_mcp/server. # Assets and uploads Assets give your images, videos, audio, and PDFs a workspace identifier. You can upload a file from your computer or import it from a URL, then retrieve its processed file URL for publishing or editing. ## 1. Choose upload or import Upload a local file: ```bash simplified assets:upload --file ./campaign-hero.png --name "Campaign hero" ``` Import a file already hosted online: ```bash simplified assets:import \ --url "https://cdn.example.com/campaign-hero.png" \ --name "Campaign hero" ``` The remote URL must be accessible to the service. A URL that only works in your signed-in browser is not sufficient. Local uploads support PNG, JPG/JPEG, GIF, WebP, BMP, TIFF, MP4, MOV, AVI, MKV, WebM, MP3, WAV, and PDF files. ## 2. Save the asset ID Both commands return an asset record while processing continues. Keep its `id`. A successful upload or import submission does not mean the file is ready for the next operation. ## 3. Check processing ```bash simplified assets:get --id "ASSET_UUID" ``` Repeat the read until the asset reaches ready status (`status: 4`) and provides its `file_url`. If processing reports a failure, investigate the source file instead of repeatedly creating new copies. Asset types identify images (`0`), video (`2`), audio (`8`), and PDFs (`17`). ## 4. Pass the right value to the next command | Destination | Value to use | | ------------------------------------------------------ | ---------------------------------------------------- | | `posts:create --media` or `posts:update-draft --media` | Reachable media URL, such as `file_url` | | Image or video editing `--url` | Reachable source file URL | | AI generation `--reference-images` | Asset UUIDs | | AI video model fields typed as files | Asset UUIDs, even when the field name ends in `_url` | | LinkedIn document `additional.linkedin.document.url` | A reachable PDF URL, not the UUID | For example, create a draft using the processed image's URL: ```bash simplified posts:create --accounts "ACCOUNT_ID" --action draft \ --content "A closer look at our new collection." --media "IMAGE_FILE_URL" ``` For AI reference generation, use the ID instead: ```bash simplified ai-image:generate --model "REFERENCE_MODEL_ID" \ --capability reference_image --reference-images "ASSET_UUID" \ --prompt "Create a studio product photograph using this reference." --wait ``` Choose an available model through [model discovery](/cli/ai-image-generation). If a stored URL is signed and has expired, fetch the asset again for a fresh URL. ## Organize files in a workflow Keep the original asset ID in your job records along with any generated output IDs. This lets you fetch current URLs later without importing the same source again. Use [projects](/cli/projects-and-items) to organize the deliverables and [brand context](/cli/brand-kits-and-context) to keep the guidance for creating them. > Bring files into your workspace and reuse them in content workflows.