Back

Krea

Generate and upscale images and video.

MCP server URL

https://krea.gumstack.com/mcp

Works with

Tools 33

  • List Files

    Recursively list authorized Krea Files by user/workspace scope, type, filename, and exact tags.

  • List File Tags

    Discover exact tags already used on accessible Krea Files, with counts. Tags are labels for retrieval and do not grant access.

  • Read Files

    Batch read Krea Files by URI. Content lives on "file:<uuid>" rows, as returned by list_files and the write tools; container URIs (folder:, session:, moodboard:) come back with error "not a content file". This tool is not a URL fetcher: https:// URLs (generated images, uploads) and bare ids are not Krea Files URIs and fail. Text is returned inline; binary files return short-lived download URLs.

  • Write Files

    LEGACY: prefer write_files_inline (inline text) or write_files_upload (binary/large files via signed URL). Batch create Krea Files with optional exact tags. Pass content inline for text up to 200000 bytes. Omit content (or pass null) for a large or binary file: the item returns a signed uploadUrl instead — POST the raw file bytes as the whole request body within 15 minutes (curl --data-binary @file). Never send a multipart body (curl -F): the server rejects it with 415. Files have no size limit; over 20 MB, also pass the exact size_bytes to get a direct storage upload instead: PUT the bytes to uploadUrl (or each slice to multipart.partUrls, collecting the ETag response headers), echo the returned headers, then POST commitUrl (multipart: with a JSON body {"parts":[{"partNumber":1,"etag":"..."}]}) — the file does not exist until the commit succeeds.

  • Write Files Inline

    Batch write small text Krea Files with inline content and optional exact tags. Each item creates or overwrites: pass name (with optional parent_uri or scope) to create, or pass uri to overwrite that file. On overwrite an empty string truncates the file, existing tags are preserved unless replacement tags are supplied, and name renames. content is the file body, up to 200000 bytes. For binary or larger files use write_files_upload.

  • Write Files Upload

    Batch mint signed upload URLs for binary or large Krea Files. Each item creates or overwrites: pass name (with optional parent_uri or scope) to create, or pass uri to overwrite that file. The item returns an uploadUrl — send the raw file bytes as the whole request body within 15 minutes with the returned method (POST creates, PUT overwrites; curl --data-binary @file). Never send a multipart body (curl -F): the server rejects it with 415. Files have no size limit; over 20 MB also pass the exact size_bytes to get a direct storage grant instead: PUT the bytes to uploadUrl (or each slice to multipart.partUrls, collecting the ETag response headers), echo the returned headers, then POST commitUrl (multipart: with a JSON body {"parts":[{"partNumber":1,"etag":"..."}]}) — the write lands only when the commit succeeds. Tags cannot ride an upload: call tag_files with the uri after the upload lands.

  • Create Folders

    Batch create folders in Krea Files. Each folder lands under parent_uri, or at the context root of the given scope when parent_uri is omitted. Use the returned "folder:<uuid>" URI as parent_uri in write_files or in later create_folders calls to build nested paths. Idempotent: when a live folder with the same name already exists under the parent, the item returns that folder with existing: true.

  • Overwrite Files

    LEGACY: prefer write_files_inline or write_files_upload with the uri field. Batch replace content in existing Krea Files. Existing tags are preserved unless replacement tags are supplied. Pass content inline for text up to 200000 bytes (an empty string truncates the file). Omit content (or pass null) for a large or binary file: the item returns a signed uploadUrl instead — PUT the raw file bytes as the whole request body within 15 minutes (curl -X PUT --data-binary @file). Never send a multipart body (curl -F): the server rejects it with 415. Files have no size limit; over 20 MB, also pass the exact size_bytes to get a direct storage upload instead: PUT the bytes to uploadUrl (or each slice to multipart.partUrls, collecting the ETag response headers), echo the returned headers, then POST commitUrl (multipart: with a JSON body {"parts":[{"partNumber":1,"etag":"..."}]}) — the overwrite lands only when the commit succeeds.

  • Tag Files

    Transactionally add or remove exact tags across Krea Files.

  • List Models

    List supported Krea public API generation models. Pass category to list only one of image, video, enhance, or 3d.

  • Get Model Schema

    Return the full public API input/output schema for a supported Krea generation model.

  • List Styles

    List Krea styles/LoRAs available to the authenticated user, with cursor pagination.