> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mindli.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Guidelines & Limits

> Platform guidelines and limits for Sparks and Boxes in MindLi

export const MndIcon = ({icon, size = 20, color, circle = false}) => {
  const iconUrl = `https://app.mindli.com/api/icon/${icon}`;
  const [isDarkMode, setIsDarkMode] = React.useState(false);
  React.useEffect(() => {
    const checkTheme = () => {
      const darkClass = document.documentElement.classList.contains('dark');
      const darkAttr = document.documentElement.getAttribute('data-theme') === 'dark';
      setIsDarkMode(darkClass || darkAttr);
    };
    checkTheme();
    const observer = new MutationObserver(checkTheme);
    observer.observe(document.documentElement, {
      attributes: true,
      attributeFilter: ['class', 'data-theme']
    });
    return () => observer.disconnect();
  }, []);
  let finalColor = color;
  if (!color) {
    finalColor = isDarkMode ? '#FFFFFF' : '#333333';
  }
  const iconElement = <span style={{
    width: `${size}px`,
    height: `${size}px`,
    backgroundColor: finalColor,
    maskImage: `url(${iconUrl})`,
    maskSize: 'contain',
    maskRepeat: 'no-repeat',
    WebkitMaskImage: `url(${iconUrl})`,
    WebkitMaskSize: 'contain',
    display: 'inline-block',
    verticalAlign: 'middle'
  }} />;
  if (!circle) {
    return <span style={{
      display: 'inline-flex',
      alignItems: 'center',
      justifyContent: 'center',
      verticalAlign: 'middle',
      transform: 'translateY(-0.08em)'
    }}>
        {iconElement}
      </span>;
  }
  const circleSize = Math.max(size + 6, 20);
  return <span style={{
    display: 'inline-flex',
    width: `${circleSize}px`,
    height: `${circleSize}px`,
    border: `2px solid ${finalColor}`,
    borderRadius: '9999px',
    alignItems: 'center',
    justifyContent: 'center',
    verticalAlign: 'middle',
    transform: 'translateY(-0.08em)'
  }}>
      {iconElement}
    </span>;
};

This article covers the guidelines and types of limits that apply to Sparks and Boxes across MindLi platforms.

## <MndIcon icon="MNDIconType" color="#FFA500" size={20} /> Field Guidelines & Limits

The following guidelines and limits apply to both Mobile (Android & iOS) and Web:

### <MndIcon icon="MNDIconOneSpark" size={16} /> Spark Fields

| # | Spark Field     | Required? | Guidelines and Limits                                                                                                                       |
| - | --------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | Spark Name      | Yes       | 3–100 characters. `<` and `>` are not allowed.                                                                                              |
| 2 | Connected Boxes | Yes       | Select at least one Box where the user has permission to add the Spark. Multiple Boxes may be selected.                                     |
| 3 | Content         | No        | No explicit maximum is currently enforced.                                                                                                  |
| 4 | Attached        | No        | One Link, Image, Audio, or File can be attached. Links must be valid URLs, and uploads must meet the supported format and file-size limits. |
| 5 | Cover Image     | No        | Must be a supported image. It may be uploaded, pasted, generated, or derived from an attached image.                                        |

### <MndIcon icon="MNDIconBox" size={16} /> Box Fields

| # | Box Field   | Required? | Guidelines and Limits                                                                     |
| - | ----------- | --------- | ----------------------------------------------------------------------------------------- |
| 1 | Box Name    | Yes       | 2–50 characters. `<` and `>` are not allowed.                                             |
| 2 | Parent Box  | Yes       | A Box may have one Parent Box, or it may be placed directly under Home at the main level. |
| 3 | Description | No        | No explicit maximum is currently enforced.                                                |

***

## <MndIcon icon="MNDIconFileDefault" color="#FFA500" size={20} /> Supported File Formats

### <MndIcon icon="MNDWhatsAppIcon" size={16} /> WhatsApp Add Spark

For setup and usage instructions, see the [WhatsApp Sensor](/get-started/patterns/whatsapp-sensor) article.

Add Spark by WhatsApp sensor accepts:

| Type      | Formats                       |
| --------- | ----------------------------- |
| Images    | JPG, JPEG, PNG, WEBP\*        |
| Audio     | OGG, AMR, 3GP, AAC, MPEG      |
| Documents | PDF, DOC, DOCX, PPTX, XLSX    |
| Video     | MP4 (H.264 video + AAC audio) |

<div style={{ fontSize: '13px' }}>
  <p>\* WEBP images are treated as stickers by WhatsApp and may have size/format restrictions.</p>
</div>

<Note>Other formats are not supported by WhatsApp.</Note>

### <MndIcon icon="MNDIconUpload" size={16} /> Manual Upload (Mobile & Web)

| Category      | Supported Formats                                                                      |
| ------------- | -------------------------------------------------------------------------------------- |
| Images        | PNG, JPG, JPEG, WebP, GIF, BMP, TIFF, SVG, HEIC, HEIF, AVIF                            |
| Documents     | PDF, DOC, DOCX, RTF, ODT                                                               |
| Spreadsheets  | XLS, XLSX, CSV                                                                         |
| Presentations | PPT, PPTX                                                                              |
| Text          | TXT, MD, JSON, HTML, XML                                                               |
| Code          | JS, JSX, TS, TSX, PY, JAVA, CPP, C, CS, RB, GO, RS, PHP, SWIFT, KT, SH, SQL, YAML, YML |
| Audio         | MP3, MPGA, WAV, OGG, M4A, AAC, FLAC, WMA, MIDI, AIFF                                   |
| Video         | MP4, MOV, AVI, MKV, WebM, MPEG, MPG, M4V, FLV, WMV, 3GP, 3G2                           |
| Archives      | ZIP, GZ, TAR                                                                           |

**Maximum total message size:** 16MB\
**Images specifically:** 5MB

<Note>On mobile, HEIC and HEIF images are automatically converted to JPEG on upload for broader compatibility.</Note>

<div style={{ display: 'flex', justifyContent: 'flex-start', marginTop: '2rem', paddingTop: '2rem' }}>
  <a href="/get-started/thinking-patterns" style={{ display: 'flex', alignItems: 'center', gap: '0.5rem', color: 'currentColor', textDecoration: 'none', fontSize: '0.95rem', border: 'none' }}>
    <span>‹</span> <MndIcon icon="MNDIconBrain" size={16} color="currentColor" /> <span>Thinking Patterns</span>
  </a>
</div>
