Commands
tracee media
Upload files, generate images and videos with AI.
media upload
Upload a photo or video.
tracee media upload <file> [--alt <text>]Calls uploadMedia.
media from-url
Add an image or video from a link.
tracee media from-url <url> [--alt <text>]Calls addMediaFromUrl.
media list
List media, page by page.
tracee media list [--kind image|video] [--limit <n>]Calls listMedia.
library
Search the media library. Uploads, AI images and videos, designs and imports, newest first, with names, brand roles and how many posts use each. GET /media pages through every file with a cursor.
tracee media library [--query <query>] [--kind <kind>] [--limit <limit>]--querystringSearch names and descriptions
up to 100 characters
--kindstringOnly images or videos
Available options:
imagevideo--limitintegerThe limit
1–100
tracee media library --query dashboard --kind image --limit 10generate-image
Generate an image with AI. An on-brand image sized for one platform (a LinkedIn post 1080×1350, a Story 1080×1920, a YouTube thumbnail 1280×720…). Write the prompt like an art director; words that must appear go in quotes. About 40 seconds: the answer has the media_id when done, or status running and a generation_id to follow.
tracee media generate-image --prompt <prompt> [--platform <platform>] [--aspect-ratio <aspect_ratio>] [--logo] [--reference-media-ids <reference_media_ids>] [--brand] [--wait <seconds>]--promptstringrequired3–4,000 characters
--platformstringWhere it will be posted. The channel's platform (linkedin, instagram, facebook, x, threads, tiktok, youtube, pinterest, reddit, google_business, devto, hashnode) or a placement: instagram_story, facebook_story, youtube_short. youtube alone is a thumbnail (image) or a landscape video
Available options:
linkedininstagraminstagram_storyfacebookfacebook_storyxthreadstiktokyoutubeyoutube_short--aspect-ratiostringOnly without platform: 1:1 square (default for images), 4:5 portrait, 9:16 vertical (default for video), 16:9 landscape
Available options:
1:14:53:49:1616:9--logo / --no-logobooleanPut the brand's real logo in the bottom-right corner
--reference-media-idsstring[]Library images to work from, from GET /api/v1/media/library Repeat the flag or separate values with commas.
up to 6 itemseach uuid
--brand / --no-brandbooleanFollow the brand profile; default true. false for an off-brand image
--data <json|@file|-> sends the whole body instead of flags.--wait <seconds> waits for the job (0–290). See Background jobs.
tracee media generate-image \
--prompt "A laptop on an oak desk showing a clean analytics dashboard, soft morning light" \
--platform linkedin \
--logogenerate-video
Generate a video with AI. A short clip with sound for one platform (vertical 1080×1920 or landscape 1920×1080). Describe one continuous shot; video models can't write text. One to three minutes: follow it with GET /media/generations/{generation_id}.
tracee media generate-video --prompt <prompt> [--platform <platform>] [--aspect-ratio <aspect_ratio>] [--duration <duration>] [--first-frame-media-id <first_frame_media_id>] [--audio] [--brand] [--wait <seconds>]--promptstringrequired3–4,000 characters
--platformstringWhere it will be posted. The channel's platform (linkedin, instagram, facebook, x, threads, tiktok, youtube, pinterest, reddit, google_business, devto, hashnode) or a placement: instagram_story, facebook_story, youtube_short. youtube alone is a thumbnail (image) or a landscape video
Available options:
linkedininstagraminstagram_storyfacebookfacebook_storyxthreadstiktokyoutubeyoutube_short--aspect-ratiostringOnly without platform: 1:1 square (default for images), 4:5 portrait, 9:16 vertical (default for video), 16:9 landscape
Available options:
1:14:53:49:1616:9--durationintegerSeconds, default 8
2–15
--first-frame-media-idstringAn image to start from and bring to life. From POST /api/v1/media/images
uuid
--audio / --no-audiobooleanWith sound; default true
--brand / --no-brandbooleanFollow the brand profile; default true. false for an off-brand image
--data <json|@file|-> sends the whole body instead of flags.--wait <seconds> waits for the job (0–290). See Background jobs.
tracee media generate-video \
--prompt "Slow push-in on a laptop showing a live dashboard, soft office light, quiet keyboard sounds" \
--platform linkedin \
--duration 8generation
Follow an AI image or video. Waits for it (see ?wait); returns its media_id once done.
tracee media generation <generation_id> [--wait <seconds>]<generation_id>argumentrequiredFrom POST /api/v1/media/images or generate_video.
uuid
--wait <seconds> waits for the job (0–290). See Background jobs.
tracee media generation $GENERATION_IDapp-files
Browse a connected app's files. Folders, pictures, videos and docs in a connected Google Drive, Dropbox, OneDrive, Box, Canva, Figma, Google Docs, Notion or Confluence. Without folder_id: the top folder; query searches by name. Figma: pass a file link as folder_id.
tracee media app-files <app> [--folder-id <folder_id>] [--query <query>] [--cursor <cursor>]<app>argumentrequiredThe connected app
Available options:
googledrivedropboxone_driveboxcanvafigmagoogledocsnotionconfluence
--folder-idstringA folder's id from an earlier browse (figma: a file link). From GET /api/v1/media/apps/{app}/files (an item with kind=folder)
up to 500 characters
--querystringup to 100 characters
--cursorstringNext_cursor from the last page
up to 4,000 characters
tracee media app-files googledriveimport-from-app
Import files from a connected app. Brings pictures and videos (Canva designs and Figma frames as PNG) into the media library like an upload; each file's media_ids attach to posts. A file imported before isn't copied again.
tracee media import-from-app <app> --file-ids <file_ids><app>argumentrequiredThe connected app
Available options:
googledrivedropboxone_driveboxcanvafigmagoogledocsnotionconfluence
--file-idsstring[]requiredIds from browse_app_files. From GET /api/v1/media/apps/{app}/files (items[].id) Repeat the flag or separate values with commas.
1–20 itemseach 1–500 characters
--data <json|@file|-> sends the whole body instead of flags.
tracee media import-from-app googledrive --file-ids $FILE_IDread-doc
Read a doc from a connected app. A Google Doc, a doc or text file in Drive, a Notion or a Confluence page, as plain text.
tracee media read-doc <app> <doc_id><app>argumentrequiredThe connected app
Available options:
googledrivedropboxone_driveboxcanvafigmagoogledocsnotionconfluence<doc_id>argumentrequiredThe doc's id from browse_app_files. From GET /api/v1/media/apps/{app}/files (an item with kind=doc)
up to 500 characters
tracee media read-doc googledrive $DOC_IDadd-many
Add several images or videos from links. Up to 20 links; each answers with its media_id or its own error.
tracee media add-many --urls <urls> [--alt-text <alt_text>]--urlsstring[]requiredSeveral images or videos at once; each gets its own media_id or error Repeat the flag or separate values with commas.
1–20 itemseach uri
--alt-textstringThe alt text
up to 1,000 characters
--data <json|@file|-> sends the whole body instead of flags.
tracee media add-many --urls https://acme.comdescribe
Rename a file or set its alt text.
tracee media describe <media_id> [--name <name>] [--alt-text <alt_text>]<media_id>argumentrequiredThe file to change. From GET /api/v1/media/library (or the media_id POST /api/v1/media/from-url / generate_image returns)
uuid
--namestringThe file's new name
up to 120 characters
--alt-textstringThe alt text
up to 1,000 characters
--data <json|@file|-> sends the whole body instead of flags.
tracee media describe $MEDIA_ID --name "Launch week"