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

# Modèles d’IA

> Modèles d’IA disponibles dans Windsurf Cascade, y compris SWE-1.5, Claude, GPT et les options BYOK. Comparez les capacités des modèles, les coûts en crédits et les performances.

export const ModelsTable = () => {
  const [activeTab, setActiveTab] = useState('recommended');
  const [showScrollHint, setShowScrollHint] = useState(true);
  const tableContainerRef = useRef(null);
  const windsurfIcon = {
    light: "https://exafunction.github.io/public/icons/docs/Windsurf-black-symbol.png",
    dark: "https://exafunction.github.io/public/icons/docs/Windsurf-white-symbol.png"
  };
  const openaiIcon = {
    light: "https://exafunction.github.io/public/icons/docs/OpenAI-black-monoblossom.png",
    dark: "https://exafunction.github.io/public/icons/docs/OpenAI-white-monoblossom.png"
  };
  const claudeIcon = {
    light: "https://exafunction.github.io/public/icons/docs/claude-logo-clay.png",
    dark: "https://exafunction.github.io/public/icons/docs/claude-logo-clay.png"
  };
  const deepseekIcon = {
    light: "https://exafunction.github.io/public/icons/docs/deepseek-logo.png",
    dark: "https://exafunction.github.io/public/icons/docs/deepseek-logo.png"
  };
  const geminiIcon = {
    light: "https://exafunction.github.io/public/icons/docs/gemini-models-icon.png",
    dark: "https://exafunction.github.io/public/icons/docs/gemini-models-icon.png"
  };
  const grokIcon = {
    light: "https://exafunction.github.io/public/icons/docs/Grok_Logomark_Dark.png",
    dark: "https://exafunction.github.io/public/icons/docs/Grok_Logomark_Light.png"
  };
  const qwenIcon = {
    light: "https://exafunction.github.io/public/icons/docs/qwen-logo.png",
    dark: "https://exafunction.github.io/public/icons/docs/qwen-logo.png"
  };
  const kimiIcon = {
    light: "https://exafunction.github.io/public/icons/docs/kimi-k2-icon.png",
    dark: "https://exafunction.github.io/public/icons/docs/kimi-k2-icon.png"
  };
  const minimaxIcon = {
    light: "https://exafunction.github.io/public/icons/docs/minimax-icon.png",
    dark: "https://exafunction.github.io/public/icons/docs/minimax-icon.png"
  };
  const zhipuIcon = {
    light: "https://exafunction.github.io/public/icons/docs/zai_light.png",
    dark: "https://exafunction.github.io/public/icons/docs/zai_dark.png"
  };
  const allModels = [{
    name: "Adaptive",
    icon: windsurfIcon,
    credits: "*",
    provider: "windsurf",
    recommended: true
  }, {
    name: "SWE-1.6",
    icon: windsurfIcon,
    credits: "0",
    hasGift: true,
    provider: "windsurf",
    recommended: true
  }, {
    name: "SWE-1.6 Fast",
    icon: windsurfIcon,
    credits: "0.5",
    provider: "windsurf"
  }, {
    name: "SWE-1.5",
    icon: windsurfIcon,
    credits: "0",
    hasGift: true,
    provider: "windsurf"
  }, {
    name: "SWE-1.5 Fast",
    icon: windsurfIcon,
    credits: "0.5",
    provider: "windsurf"
  }, {
    name: "Claude Opus 4.6",
    icon: claudeIcon,
    credits: "6",
    provider: "anthropic"
  }, {
    name: "Claude Opus 4.6 (Thinking)",
    icon: claudeIcon,
    credits: "8",
    provider: "anthropic"
  }, {
    name: "Claude Opus 4.6 1M",
    icon: claudeIcon,
    credits: "10",
    provider: "anthropic"
  }, {
    name: "Claude Opus 4.6 Thinking 1M",
    icon: claudeIcon,
    credits: "12",
    provider: "anthropic"
  }, {
    name: "Claude Opus 4.6 Fast",
    icon: claudeIcon,
    credits: "24",
    provider: "anthropic"
  }, {
    name: "Claude Opus 4.6 Fast Thinking",
    icon: claudeIcon,
    credits: "30",
    provider: "anthropic"
  }, {
    name: "Claude Opus 4.7 (Low Thinking)",
    icon: claudeIcon,
    credits: "20",
    provider: "anthropic"
  }, {
    name: "Claude Opus 4.7 (Medium Thinking)",
    icon: claudeIcon,
    credits: "40",
    provider: "anthropic"
  }, {
    name: "Claude Opus 4.7 (High Thinking)",
    icon: claudeIcon,
    credits: "60",
    provider: "anthropic"
  }, {
    name: "Claude Opus 4.7 (XHigh Thinking)",
    icon: claudeIcon,
    credits: "65",
    provider: "anthropic"
  }, {
    name: "Claude Opus 4.7 (Max Thinking)",
    icon: claudeIcon,
    credits: "75",
    provider: "anthropic"
  }, {
    name: "Claude Opus 4.8 (Low Thinking)",
    icon: claudeIcon,
    credits: "7.5",
    hasGift: true,
    provider: "anthropic",
    recommended: true
  }, {
    name: "Claude Opus 4.8 (Medium Thinking)",
    icon: claudeIcon,
    credits: "15",
    hasGift: true,
    provider: "anthropic",
    recommended: true
  }, {
    name: "Claude Opus 4.8 (High Thinking)",
    icon: claudeIcon,
    credits: "25",
    hasGift: true,
    provider: "anthropic",
    recommended: true
  }, {
    name: "Claude Opus 4.8 (XHigh Thinking)",
    icon: claudeIcon,
    credits: "28",
    hasGift: true,
    provider: "anthropic",
    recommended: true
  }, {
    name: "Claude Opus 4.8 (Max Thinking)",
    icon: claudeIcon,
    credits: "30",
    hasGift: true,
    provider: "anthropic",
    recommended: true
  }, {
    name: "Claude Opus 4.8 Fast (Low Thinking)",
    icon: claudeIcon,
    credits: "15",
    hasGift: true,
    provider: "anthropic"
  }, {
    name: "Claude Opus 4.8 Fast (Medium Thinking)",
    icon: claudeIcon,
    credits: "30",
    hasGift: true,
    provider: "anthropic"
  }, {
    name: "Claude Opus 4.8 Fast (High Thinking)",
    icon: claudeIcon,
    credits: "50",
    hasGift: true,
    provider: "anthropic"
  }, {
    name: "Claude Opus 4.8 Fast (XHigh Thinking)",
    icon: claudeIcon,
    credits: "56",
    hasGift: true,
    provider: "anthropic"
  }, {
    name: "Claude Opus 4.8 Fast (Max Thinking)",
    icon: claudeIcon,
    credits: "60",
    hasGift: true,
    provider: "anthropic"
  }, {
    name: "Claude Sonnet 4.6",
    icon: claudeIcon,
    credits: "4",
    provider: "anthropic",
    recommended: true
  }, {
    name: "Claude Sonnet 4.6 (Thinking)",
    icon: claudeIcon,
    credits: "6",
    provider: "anthropic"
  }, {
    name: "Claude Sonnet 4.6 1M",
    icon: claudeIcon,
    credits: "12",
    provider: "anthropic"
  }, {
    name: "Claude Sonnet 4.6 Thinking 1M",
    icon: claudeIcon,
    credits: "16",
    provider: "anthropic"
  }, {
    name: "Claude Opus 4.5",
    icon: claudeIcon,
    credits: "6",
    provider: "anthropic",
    recommended: true
  }, {
    name: "Claude Opus 4.5 (Thinking)",
    icon: claudeIcon,
    credits: "8",
    provider: "anthropic"
  }, {
    name: "Claude Sonnet 4.5",
    icon: claudeIcon,
    credits: "3",
    provider: "anthropic",
    recommended: true
  }, {
    name: "Claude Sonnet 4.5 (Thinking)",
    icon: claudeIcon,
    credits: "4",
    provider: "anthropic"
  }, {
    name: "Claude Haiku 4.5",
    icon: claudeIcon,
    credits: "1",
    provider: "anthropic"
  }, {
    name: "Claude Sonnet 4",
    icon: claudeIcon,
    credits: "3",
    provider: "anthropic"
  }, {
    name: "Claude Sonnet 4 (Thinking)",
    icon: claudeIcon,
    credits: "4",
    provider: "anthropic"
  }, {
    name: "GPT-5.4 (No Reasoning)",
    icon: openaiIcon,
    credits: "1.5",
    provider: "openai"
  }, {
    name: "GPT-5.4 (Low Reasoning)",
    icon: openaiIcon,
    credits: "1.5",
    provider: "openai"
  }, {
    name: "GPT-5.4 (Medium Reasoning)",
    icon: openaiIcon,
    credits: "3",
    provider: "openai"
  }, {
    name: "GPT-5.4 (High Reasoning)",
    icon: openaiIcon,
    credits: "4",
    provider: "openai"
  }, {
    name: "GPT-5.4 (Extra High Reasoning)",
    icon: openaiIcon,
    credits: "12",
    provider: "openai"
  }, {
    name: "GPT-5.4 (No Reasoning) Fast",
    icon: openaiIcon,
    credits: "3",
    provider: "openai"
  }, {
    name: "GPT-5.4 (Low Reasoning) Fast",
    icon: openaiIcon,
    credits: "3",
    provider: "openai"
  }, {
    name: "GPT-5.4 (Medium Reasoning) Fast",
    icon: openaiIcon,
    credits: "6",
    provider: "openai"
  }, {
    name: "GPT-5.4 (High Reasoning) Fast",
    icon: openaiIcon,
    credits: "8",
    provider: "openai"
  }, {
    name: "GPT-5.4 (Extra High Reasoning) Fast",
    icon: openaiIcon,
    credits: "24",
    provider: "openai"
  }, {
    name: "GPT-5.5 (No Reasoning)",
    icon: openaiIcon,
    credits: "7",
    provider: "openai"
  }, {
    name: "GPT-5.5 (Low Reasoning)",
    icon: openaiIcon,
    credits: "8",
    provider: "openai"
  }, {
    name: "GPT-5.5 (Medium Reasoning)",
    icon: openaiIcon,
    credits: "14",
    provider: "openai"
  }, {
    name: "GPT-5.5 (High Reasoning)",
    icon: openaiIcon,
    credits: "24",
    provider: "openai"
  }, {
    name: "GPT-5.5 (Extra High Reasoning)",
    icon: openaiIcon,
    credits: "32",
    provider: "openai"
  }, {
    name: "GPT-5.5 (No Reasoning) Fast",
    icon: openaiIcon,
    credits: "17.5",
    provider: "openai"
  }, {
    name: "GPT-5.5 (Low Reasoning) Fast",
    icon: openaiIcon,
    credits: "20",
    provider: "openai"
  }, {
    name: "GPT-5.5 (Medium Reasoning) Fast",
    icon: openaiIcon,
    credits: "35",
    provider: "openai"
  }, {
    name: "GPT-5.5 (High Reasoning) Fast",
    icon: openaiIcon,
    credits: "60",
    provider: "openai"
  }, {
    name: "GPT-5.5 (Extra High Reasoning) Fast",
    icon: openaiIcon,
    credits: "80",
    provider: "openai"
  }, {
    name: "GPT-5.4 Mini (Low Reasoning)",
    icon: openaiIcon,
    credits: "1.5",
    provider: "openai",
    recommended: true
  }, {
    name: "GPT-5.4 Mini (Medium Reasoning)",
    icon: openaiIcon,
    credits: "1.5",
    provider: "openai"
  }, {
    name: "GPT-5.4 Mini (High Reasoning)",
    icon: openaiIcon,
    credits: "4.5",
    provider: "openai"
  }, {
    name: "GPT-5.4 Mini (Extra High Reasoning)",
    icon: openaiIcon,
    credits: "12",
    provider: "openai"
  }, {
    name: "GPT-5.3-Codex (Low Reasoning)",
    icon: openaiIcon,
    credits: "1.5",
    provider: "openai"
  }, {
    name: "GPT-5.3-Codex (Medium Reasoning)",
    icon: openaiIcon,
    credits: "2",
    provider: "openai"
  }, {
    name: "GPT-5.3-Codex (High Reasoning)",
    icon: openaiIcon,
    credits: "2.5",
    provider: "openai"
  }, {
    name: "GPT-5.3-Codex (Extra High Reasoning)",
    icon: openaiIcon,
    credits: "3",
    provider: "openai"
  }, {
    name: "GPT-5.3-Codex (Low Reasoning Fast)",
    icon: openaiIcon,
    credits: "3",
    provider: "openai"
  }, {
    name: "GPT-5.3-Codex (Medium Reasoning Fast)",
    icon: openaiIcon,
    credits: "4",
    provider: "openai"
  }, {
    name: "GPT-5.3-Codex (High Reasoning Fast)",
    icon: openaiIcon,
    credits: "5",
    provider: "openai"
  }, {
    name: "GPT-5.3-Codex (Extra High Reasoning Fast)",
    icon: openaiIcon,
    credits: "6",
    provider: "openai"
  }, {
    name: "GPT-5.3-Codex-Spark",
    icon: openaiIcon,
    credits: "—",
    provider: "openai"
  }, {
    name: "GPT-5.2 (No Reasoning)",
    icon: openaiIcon,
    credits: "1",
    provider: "openai"
  }, {
    name: "GPT-5.2 (Low Reasoning)",
    icon: openaiIcon,
    credits: "1",
    provider: "openai"
  }, {
    name: "GPT-5.2 (Medium Reasoning)",
    icon: openaiIcon,
    credits: "2",
    provider: "openai"
  }, {
    name: "GPT-5.2 (High Reasoning)",
    icon: openaiIcon,
    credits: "3",
    provider: "openai"
  }, {
    name: "GPT-5.2 (Extra High Reasoning)",
    icon: openaiIcon,
    credits: "8",
    provider: "openai"
  }, {
    name: "GPT-5.2 (No Reasoning Fast)",
    icon: openaiIcon,
    credits: "2",
    provider: "openai"
  }, {
    name: "GPT-5.2 (Low Reasoning Fast)",
    icon: openaiIcon,
    credits: "2",
    provider: "openai"
  }, {
    name: "GPT-5.2 (Medium Reasoning Fast)",
    icon: openaiIcon,
    credits: "4",
    provider: "openai"
  }, {
    name: "GPT-5.2 (High Reasoning Fast)",
    icon: openaiIcon,
    credits: "6",
    provider: "openai"
  }, {
    name: "GPT-5.2 (Extra High Reasoning Fast)",
    icon: openaiIcon,
    credits: "16",
    provider: "openai"
  }, {
    name: "GPT-5.2-Codex (Low Reasoning)",
    icon: openaiIcon,
    credits: "1",
    provider: "openai"
  }, {
    name: "GPT-5.2-Codex (Medium Reasoning)",
    icon: openaiIcon,
    credits: "1",
    provider: "openai"
  }, {
    name: "GPT-5.2-Codex (High Reasoning)",
    icon: openaiIcon,
    credits: "2",
    provider: "openai"
  }, {
    name: "GPT-5.2-Codex (Extra High Reasoning)",
    icon: openaiIcon,
    credits: "3",
    provider: "openai"
  }, {
    name: "GPT-5.2-Codex (Low Reasoning Fast)",
    icon: openaiIcon,
    credits: "2",
    provider: "openai",
    recommended: true
  }, {
    name: "GPT-5.2-Codex (Medium Reasoning Fast)",
    icon: openaiIcon,
    credits: "2",
    provider: "openai"
  }, {
    name: "GPT-5.2-Codex (High Reasoning Fast)",
    icon: openaiIcon,
    credits: "4",
    provider: "openai"
  }, {
    name: "GPT-5.2-Codex (Extra High Reasoning Fast)",
    icon: openaiIcon,
    credits: "6",
    provider: "openai"
  }, {
    name: "GPT-5.1 (No Reasoning)",
    icon: openaiIcon,
    credits: "0.5",
    provider: "openai"
  }, {
    name: "GPT-5.1 (Low Reasoning)",
    icon: openaiIcon,
    credits: "0.5",
    provider: "openai"
  }, {
    name: "GPT-5.1 (Medium Reasoning)",
    icon: openaiIcon,
    credits: "1",
    provider: "openai"
  }, {
    name: "GPT-5.1 (High Reasoning)",
    icon: openaiIcon,
    credits: "2",
    provider: "openai"
  }, {
    name: "GPT-5.1 (No Reasoning Fast)",
    icon: openaiIcon,
    credits: "1",
    provider: "openai"
  }, {
    name: "GPT-5.1 (Low Reasoning Fast)",
    icon: openaiIcon,
    credits: "1",
    provider: "openai"
  }, {
    name: "GPT-5.1 (Medium Reasoning Fast)",
    icon: openaiIcon,
    credits: "2",
    provider: "openai"
  }, {
    name: "GPT-5.1 (High Reasoning Fast)",
    icon: openaiIcon,
    credits: "4",
    provider: "openai"
  }, {
    name: "GPT-5.1-Codex Max (Low Reasoning)",
    icon: openaiIcon,
    credits: "1",
    provider: "openai"
  }, {
    name: "GPT-5.1-Codex Max (Medium Reasoning)",
    icon: openaiIcon,
    credits: "1.25",
    provider: "openai"
  }, {
    name: "GPT-5.1-Codex Max (High Reasoning)",
    icon: openaiIcon,
    credits: "1.5",
    provider: "openai"
  }, {
    name: "GPT-5.1-Codex Low",
    icon: openaiIcon,
    credits: "0.5",
    provider: "openai"
  }, {
    name: "GPT-5.1-Codex Mini",
    icon: openaiIcon,
    credits: "0.5",
    provider: "openai"
  }, {
    name: "GPT-5.1-Codex Mini Low",
    icon: openaiIcon,
    credits: "0.25",
    provider: "openai"
  }, {
    name: "GPT-5 (Low Reasoning)",
    icon: openaiIcon,
    credits: "0.5",
    provider: "openai"
  }, {
    name: "GPT-5 (Medium Reasoning)",
    icon: openaiIcon,
    credits: "1",
    provider: "openai"
  }, {
    name: "GPT-5 (High Reasoning)",
    icon: openaiIcon,
    credits: "2",
    provider: "openai"
  }, {
    name: "GPT-5-Codex",
    icon: openaiIcon,
    credits: "0.5",
    provider: "openai"
  }, {
    name: "o3",
    icon: openaiIcon,
    credits: "1",
    provider: "openai"
  }, {
    name: "o3 (high reasoning)",
    icon: openaiIcon,
    credits: "1",
    provider: "openai"
  }, {
    name: "gpt-oss 120B (Medium)",
    icon: openaiIcon,
    credits: "0.25",
    provider: "openai"
  }, {
    name: "GPT-4o",
    icon: openaiIcon,
    credits: "1",
    provider: "openai"
  }, {
    name: "GPT-4.1",
    icon: openaiIcon,
    credits: "1",
    provider: "openai"
  }, {
    name: "Gemini 3.1 Pro Low",
    icon: geminiIcon,
    credits: "1",
    provider: "google"
  }, {
    name: "Gemini 3.1 Pro High",
    icon: geminiIcon,
    credits: "2",
    provider: "google"
  }, {
    name: "Gemini 3 Flash Minimal",
    icon: geminiIcon,
    credits: "0.75",
    provider: "google"
  }, {
    name: "Gemini 3 Flash Low",
    icon: geminiIcon,
    credits: "1",
    provider: "google"
  }, {
    name: "Gemini 3 Flash Medium",
    icon: geminiIcon,
    credits: "1",
    provider: "google"
  }, {
    name: "Gemini 3 Flash High",
    icon: geminiIcon,
    credits: "1.75",
    provider: "google"
  }, {
    name: "Gemini 2.5 Pro",
    icon: geminiIcon,
    credits: "1",
    provider: "google"
  }, {
    name: "xAI Grok Code Fast",
    icon: grokIcon,
    credits: "0.5",
    provider: "xai"
  }, {
    name: "Kimi K2.5",
    icon: kimiIcon,
    credits: "1",
    provider: "opensource"
  }, {
    name: "GLM-5",
    icon: zhipuIcon,
    credits: "1.5",
    provider: "opensource"
  }, {
    name: "Minimax M2.5",
    icon: minimaxIcon,
    credits: "1",
    provider: "opensource"
  }, {
    name: "GLM 4.7",
    icon: zhipuIcon,
    credits: "0.25",
    provider: "opensource"
  }];
  const tabs = [{
    id: 'recommended',
    label: 'Recommended'
  }, {
    id: 'windsurf',
    label: 'Windsurf'
  }, {
    id: 'anthropic',
    label: 'Anthropic'
  }, {
    id: 'openai',
    label: 'OpenAI'
  }, {
    id: 'google',
    label: 'Google'
  }, {
    id: 'xai',
    label: 'xAI'
  }, {
    id: 'opensource',
    label: 'Open Source'
  }];
  const getFilteredModels = () => {
    if (activeTab === 'recommended') {
      return allModels.filter(m => m.recommended);
    }
    return allModels.filter(m => m.provider === activeTab);
  };
  const models = getFilteredModels();
  useEffect(() => {
    const container = tableContainerRef.current;
    if (!container) return;
    const handleScroll = () => {
      if (container.scrollLeft > 10) {
        setShowScrollHint(false);
      }
    };
    container.addEventListener('scroll', handleScroll);
    return () => container.removeEventListener('scroll', handleScroll);
  }, []);
  return <>
      <style>{`
        .gift-tooltip-container:hover .gift-tooltip {
          opacity: 1 !important;
          visibility: visible !important;
        }
        .models-tab-button {
          padding: 8px 16px;
          font-size: 14px;
          font-weight: 500;
          border: none;
          background: transparent;
          cursor: pointer;
          border-bottom: 2px solid transparent;
          transition: all 0.2s ease;
          white-space: nowrap;
        }
        .models-tab-button:hover {
          background: rgba(0, 0, 0, 0.05);
        }
        .models-tab-button.active {
          border-bottom-color: #34E8BB;
        }
        .dark .models-tab-button:hover {
          background: rgba(255, 255, 255, 0.05);
        }
        #table-container {
          overflow-x: auto !important;
          overflow-y: visible !important;
          max-height: none !important;
          height: auto !important;
          -webkit-overflow-scrolling: touch !important;
        }
        #models-table {
          overflow: visible !important;
          max-height: none !important;
          height: auto !important;
        }
        @media (max-width: 768px) {
          #models-table {
            min-width: 700px !important;
          }
        }
        @keyframes scrollHintPulse {
          0%, 100% { opacity: 0.7; transform: translateX(0); }
          50% { opacity: 1; transform: translateX(4px); }
        }
        .scroll-hint-arrow {
          animation: scrollHintPulse 1.5s ease-in-out infinite;
        }
      `}</style>

      {}
      <div style={{
    display: 'flex',
    overflowX: 'auto',
    borderBottom: '1px solid',
    marginBottom: '0',
    gap: '4px'
  }} className="border-black/10 dark:border-white/10">
        {tabs.map(tab => <button key={tab.id} onClick={() => setActiveTab(tab.id)} className={`models-tab-button text-gray-700 dark:text-white ${activeTab === tab.id ? 'active' : ''}`}>
            {tab.label}
          </button>)}
      </div>

      {}
      <div style={{
    position: 'relative'
  }}>
        {}
        <div style={{
    position: 'absolute',
    top: 0,
    right: 0,
    bottom: 0,
    width: '40px',
    background: 'linear-gradient(to right, transparent, rgba(0,0,0,0.08))',
    pointerEvents: 'none',
    zIndex: 10,
    borderTopRightRadius: '8px',
    borderBottomRightRadius: '8px',
    opacity: showScrollHint ? 1 : 0,
    transition: 'opacity 0.3s ease',
    display: 'flex',
    alignItems: 'center',
    justifyContent: 'center'
  }} className="dark:[background:linear-gradient(to_right,transparent,rgba(0,0,0,0.3))]">
          <span className="scroll-hint-arrow text-gray-400 dark:text-gray-500" style={{
    fontSize: '18px',
    marginRight: '-4px'
  }}>→</span>
        </div>

        <div id="table-container" ref={tableContainerRef} style={{
    width: '100%',
    borderRadius: '8px',
    overflowX: 'auto',
    overflowY: 'visible',
    maxHeight: 'none',
    height: 'auto'
  }} className="light:bg-white dark:bg-zinc-900 border border-black/10 dark:border-white/10">
        <table id="models-table" style={{
    width: '100%',
    borderCollapse: 'collapse',
    fontSize: '14px',
    tableLayout: 'auto',
    margin: '0',
    padding: '0',
    height: 'auto',
    maxHeight: 'none'
  }}>
          <thead style={{
    margin: '0',
    padding: '0'
  }}>
            <tr className="border-b border-black/10 dark:!border-white/10">
              <th style={{
    padding: '16px 16px',
    textAlign: 'left',
    fontWeight: '500',
    minWidth: '200px'
  }} className="text-gray-700 dark:text-white">Model</th>
              <th style={{
    padding: '16px 8px',
    textAlign: 'center',
    fontWeight: '500',
    minWidth: '80px'
  }} className="text-gray-700 dark:text-white">Credits</th>
            </tr>
          </thead>
          <tbody style={{
    margin: '0',
    padding: '0'
  }}>
            {models.map((model, index) => <tr key={model.name} className={`${index === models.length - 1 ? '' : 'border-b border-black/10 dark:!border-white/10'}`}>
                <td style={{
    padding: '8px',
    fontWeight: '500',
    verticalAlign: 'middle'
  }}>
                  <div style={{
    display: 'flex',
    alignItems: 'center',
    gap: '8px',
    whiteSpace: 'nowrap'
  }}>
                    <span style={{
    display: 'inline-flex',
    alignItems: 'center',
    justifyContent: 'center',
    width: '20px',
    height: '20px',
    flexShrink: 0
  }}>
                      <img className="block dark:hidden" src={model.icon.light} alt={`${model.name} icon`} style={{
    width: '20px',
    height: '20px',
    objectFit: 'contain',
    pointerEvents: 'none',
    userSelect: 'none'
  }} />
                      <img className="hidden dark:block" src={model.icon.dark} alt={`${model.name} icon`} style={{
    width: '20px',
    height: '20px',
    objectFit: 'contain',
    pointerEvents: 'none',
    userSelect: 'none'
  }} />
                    </span>
                    <span className="text-gray-700 dark:text-white">{model.name}</span>
                  </div>
                </td>
                <td style={{
    padding: '10px',
    textAlign: 'center',
    verticalAlign: 'middle'
  }}>
                  <div style={{
    display: 'flex',
    alignItems: 'center',
    justifyContent: 'center',
    gap: '4px'
  }}>
                    <span className="text-gray-700 dark:text-white">{model.credits}</span>
                    {model.hasGift && <div className="gift-tooltip-container" style={{
    position: 'relative',
    display: 'inline-flex'
  }}>
                        <span style={{
    display: 'inline-flex',
    alignItems: 'center',
    justifyContent: 'center',
    width: '16px',
    height: '16px'
  }}>
                          <img className="block dark:hidden" src="https://exafunction.github.io/public/icons/docs/gift-black.png" alt="Gift icon" style={{
    width: '16px',
    height: '16px',
    objectFit: 'contain',
    pointerEvents: 'none',
    userSelect: 'none'
  }} />
                          <img className="hidden dark:block" src="https://exafunction.github.io/public/icons/docs/gift-white.png" alt="Gift icon" style={{
    width: '16px',
    height: '16px',
    objectFit: 'contain',
    pointerEvents: 'none',
    userSelect: 'none'
  }} />
                        </span>
                        <div className="gift-tooltip" style={{
    position: 'absolute',
    bottom: '100%',
    left: '50%',
    transform: 'translateX(-50%)',
    marginBottom: '8px',
    padding: '8px 12px',
    backgroundColor: '#333',
    color: 'white',
    borderRadius: '6px',
    fontSize: '12px',
    whiteSpace: 'nowrap',
    opacity: '0',
    visibility: 'hidden',
    transition: 'opacity 0.2s, visibility 0.2s',
    zIndex: '1000',
    pointerEvents: 'none'
  }}>
                          Promo pricing only available for a limited time
                          <div style={{
    position: 'absolute',
    top: '100%',
    left: '50%',
    transform: 'translateX(-50%)',
    width: '0',
    height: '0',
    borderLeft: '5px solid transparent',
    borderRight: '5px solid transparent',
    borderTop: '5px solid #333'
  }}></div>
                        </div>
                      </div>}
                  </div>
                </td>
              </tr>)}
          </tbody>
        </table>
        </div>
      </div>
      {models.some(m => m.name === "Adaptive") && <div style={{
    marginTop: '8px',
    fontSize: '12px'
  }} className="text-gray-600 dark:text-gray-400">
          * Adaptive uses variable per-request credit pricing based on the underlying model the router selects. <a href="https://docs.windsurf.com/windsurf/adaptive" className="text-[#34E8BB] hover:underline">Learn more</a>.
        </div>}
    </>;
};

Dans Cascade, vous pouvez facilement passer d’un modèle d’IA à un autre, selon vos besoins.

Selon le modèle d’IA sélectionné, chacun de vos prompts consommera un nombre différent de [crédits de prompt](/fr/windsurf/cascade/usage).

<Note>Les crédits de prompt associés aux modèles ne s’appliquent pas aux offres Cognition Platform. Pour les clients Cognition Platform, reportez-vous à la consommation d’ACU indiquée dans vos paramètres Cognition Platform.</Note>

Sous le champ de saisie, vous trouverez un menu déroulant de sélection du modèle qui contient les modèles suivants :

<Info>Pour connaître les tarifs et la disponibilité les plus récents, consultez le sélecteur de modèle de Cascade dans l’IDE Windsurf.</Info>

<ModelsTable />

<div id="swe-15-swe-grep-swe-1">
  # SWE-1.5, swe-grep, SWE-1
</div>

Selon nos évaluations internes, leur performance se rapproche de celle des modèles de pointe, et ils sont conçus spécifiquement pour les tâches d’ingénierie logicielle.

Notre dernier modèle de pointe, SWE-1.5, atteint des performances proches de l’état de l’art en une fraction du temps.

Nos modèles internes incluent :

* `SWE-1.5` : notre meilleur modèle d’IA agentique pour le code publié à ce jour. Des performances proches de Claude 4.5, avec une vitesse 13× supérieure. Lisez notre [annonce de recherche](https://cognition.ai/blog/swe-1-5).
* `SWE-1` : notre premier modèle d’IA agentique pour le code. A atteint des performances de niveau Claude 3.5 pour une fraction du coût.
* `SWE-1-mini` : alimente les suggestions passives dans Windsurf Tab, optimisé pour une latence en temps réel.
* `swe-grep` : alimente la récupération de contexte et [Fast Context](context-awareness/fast-context)

<div id="bring-your-own-key-byok">
  # Apportez votre propre clé (BYOK)
</div>

<Warning>Disponible uniquement pour les utilisateurs individuels, gratuits et payants.</Warning>

Pour certains modèles d’IA, nous autorisons les utilisateurs à utiliser leurs propres clés API. Dans le menu déroulant des modèles, les utilisateurs individuels verront des modèles marqués `BYOK`.

Pour saisir votre clé API, rendez-vous sur [cette page](https://windsurf.com/subscription/provider-api-keys) dans les paramètres d’abonnement et ajoutez votre clé.

Si vous n’avez pas configuré de clé API, une erreur s’affichera si vous essayez d’utiliser un modèle BYOK.

Actuellement, BYOK est pris en charge uniquement pour ces modèles :

* `Claude 4 Sonnet`
* `Claude 4 Sonnet (Thinking)`
* `Claude 4 Opus`
* `Claude 4 Opus (Thinking)`
