This guide will walk you through the process of creating your first model run in Labelbox. By the end of this tutorial, you will have a new model run configured with your model’s predictions, ready for analysis.
Import data rows: You’ll need to have a set of data rows to upload the predictions on. If you do not already have a set of data rows in Labelbox, you’ll need to import that data first.
Create an ontology: In order to create a model run, you’ll need to specify the ontology (also called taxonomy) that corresponds to the set of predictions. You may want to re-use an ontology that already exists in Labelbox (e.g., an ontology already used for a labeling project). Or, you may want to use an ontology for your model predictions that does not exist in Labelbox yet. In the latter case, you’ll need to create an ontology.
Step 1: Create an experiment and your first model run
An experiment is the top-level container for a specific modeling task (e.g., “Detecting Defects in Solar Panels”). Within that experiment, each training iteration is tracked as a model run. A model run holds a specific set of predictions and the model configuration used to generate them.You have two primary ways to create an experiment:
Option A: Start from Catalog
Go to the Catalog tab.
Use the filters to select the dataset or a subset of data rows you want to use for this experiment.
Click the Manage selection button at the bottom of the screen.
Select New experiment from the action menu.
Option B: Start from the Model tab
Navigate to the Model tab.
Click the + Create button in the top right and select Experiment.
Select the batch of data rows you wish to include in this experiment.
Once you create the experiment, you will be immediately prompted to configure its first model run. Give your model run a descriptive name that will help you identify it later, such as YOLOv8-baseline-v1 or ResNet50-initial-training. Then, specify the ontology to use for the model run.
If you are iterating multiple model experiments on a machine learning task, the best practice is to put your model runs under the same experiment. This allows you to visualize and compare the performance of the different model runs.
Next, you will see several optional but highly recommended steps for configuring your model run. While you can adjust these settings at any time, configuring them now will significantly streamline your analysis workflow.
To automatically calculate performance metrics like precision, recall, and IoU, Labelbox needs to compare your model’s predictions against a “source of truth”. This step allows you to link your model run to a Labelbox Project that contains your ground truth annotations.
Why this is important: Without ground truth, you can visualize your model’s predictions, but you cannot quantitatively score its performance or identify where it is correct or incorrect.
How to do it: Simply select the project containing the relevant, reviewed labels from the dropdown menu. If you don’t have labeled data yet or if it resides in a different project, you can skip this for now and link it later from the model run settings.
If you have already generated a set of predictions from your model, you can associate them with this run immediately.
Why this is important: This step populates your model run with your model’s output, making it ready for analysis as soon as you finish the setup.
How to do it: The primary method for uploading predictions is via our Python SDK. In this initial setup screen, you can select an existing upload or choose to upload them in the next step. The detailed, step-by-step guide for generating and uploading this payload is covered in the next section of this tutorial.
A fundamental practice in machine learning is to segment your data into Training, Validation, and Test sets. This helps you evaluate your model’s ability to generalize to new, unseen data.
Why this is important: Creating splits allows you to analyze your model’s performance on your validation or test data separately from the data it was trained on. This is critical for diagnosing overfitting and ensuring your model will perform well in the real world.
How to do it: You have two flexible options for creating splits:
Split by percentage: Easily divide your data by specifying a percentage for each split (e.g., 80% training, 10% validation, 10% test). Labelbox will handle the random assignment of data rows.
Use existing slices: For more control, you can assign pre-existing Slices to your splits. This is useful if you have specific, curated datasets you want to use for validation or testing.
After completing these optional steps, click Create model run. You have now created a fully configured structure for your experiment. The next step is to populate it with your model’s outputs.
This is the most critical step. Here, you will upload your model’s predictions to the model run you just created. This allows Labelbox to visualize your model’s outputs against the ground truth labels and calculate performance metrics.The most powerful and flexible way to upload predictions is by using our Python SDK.
The process involves formatting your predictions into a specific structure that Labelbox can understand and then using an SDK command to upload them. Each prediction must be linked to a specific Data Row ID to ensure it is matched with the correct source media (image, text, or video).Your predictions can be simple (e.g., a bounding box and a class name) or they can include optional information like confidence scores, which unlock more powerful analysis like building precision-recall curves.
For your experiments to be scientific and reproducible, you must keep track of what changed between each model run. Labelbox allows you to store a configuration file (as JSON) with every run. This is the perfect place to log hyperparameters, model versions, or data preprocessing steps.Steps to edit the model run’s configuration file:
Go to your Model Run page.
Click the Settings icon and select Model run config.
Edit the JSON file to include the hyperparameters for this model run.
Congratulations! You have successfully created and configured your first Model Run. You are now ready to dive into the analysis tools to see what your model has learned.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Labelbox","description":"Documentation for Recursion Managed Agents and the Labelbox platform.","colors":{"primary":"#36707F","light":"#7EB3C1","dark":"#274E58"},"logo":{"light":"https://mintcdn.com/labelbox-1db23ff4/badqlfNjN52ySAbU/logo/light.svg?fit=max\u0026auto=format\u0026n=badqlfNjN52ySAbU\u0026q=85\u0026s=2e7592619836dadfb7384597f9e48bec","dark":"https://mintcdn.com/labelbox-1db23ff4/badqlfNjN52ySAbU/logo/dark.svg?fit=max\u0026auto=format\u0026n=badqlfNjN52ySAbU\u0026q=85\u0026s=080727ffefbdc01f5e275a0f13cdd5c2","href":"/"},"favicon":"https://mintcdn.com/labelbox-1db23ff4/badqlfNjN52ySAbU/favicon.svg?fit=max\u0026auto=format\u0026n=badqlfNjN52ySAbU\u0026q=85\u0026s=35e9a808129eb1b044e5cc202e88eaa7","appearance":{"default":"light"},"background":{"color":{"light":"#FFFDF8","dark":"#202020"}},"navbar":{"primary":{"type":"button","label":"Open console","href":"https://recursion.labelbox.com"}},"footer":{"socials":{"github":"https://github.com/Labelbox","linkedin":"https://www.linkedin.com/company/labelbox"},"links":[{"header":"Products","items":[{"label":"Recursion","href":"/recursion"},{"label":"Horizon","href":"/horizon"}]},{"header":"Resources","items":[{"label":"Release notes","href":"/horizon/release-notes"},{"label":"Status","href":"https://status.labelbox.com"},{"label":"Blog","href":"https://labelbox.com/blog"}]},{"header":"Company","items":[{"label":"labelbox.com","href":"https://labelbox.com"},{"label":"Contact sales","href":"https://labelbox.com/sales"}]}]},"fonts":{"heading":{"family":"The Future","source":"https://labelbox.com/static/fonts/The-future/the-future-regular.woff2","format":"woff2"},"body":{"family":"IBM Plex Sans"}},"styling":{"eyebrows":"section","codeblocks":{"theme":"css-variables"},"latex":true},"integrations":{"amplitude":{"apiKey":"b375bb454cbc0ba0b780648b3f4ddc18"}},"contextual":{"options":["copy","view","chatgpt","claude","cursor","mcp"],"display":"header"},"variables":{"recursion-api-base":"https://api.recursion.labelbox.com","recursion-console-url":"https://recursion.labelbox.com","recursion-docs-mcp-url":"https://docs.labelbox.com/mcp","recursion-mcp-url":"https://api.recursion.labelbox.com/mcp"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"labelbox-1db23ff4","hasAudioNarration":false,"actualSubdomain":"labelbox-1db23ff4","customDomains":["docs.labelbox.com"],"gitSource":{"_id":"6ad7fa91692c7c940ff17a10","type":"github","owner":"labelbox","repo":"lbx-docs-mintlify","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","isBase":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af5614cd7fada81d39207ec","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Recursion","count":256},{"language":"default","tag":"API reference","count":224},{"language":"default","tag":"Endpoints","count":210},{"language":"default","tag":"Horizon","count":179},{"language":"default","tag":"Guides","count":132},{"language":"default","tag":"Developer guides","count":83},{"language":"default","tag":"Sessions","count":47},{"language":"default","tag":"Import/Export","count":43},{"language":"default","tag":"Skills","count":36},{"language":"default","tag":"Label data","count":35}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"styles/design-tokens.css","content":":root{--lb-color-primary-50: #eff6f8;--lb-color-primary-100: #dcecef;--lb-color-primary-200: #bcd9e0;--lb-color-primary-300: #9cc6d1;--lb-color-primary-400: #7eb3c1;--lb-color-primary-500: #5a98a7;--lb-color-primary-600: #36707f;--lb-color-primary-700: #2b5965;--lb-color-primary-800: #21454e;--lb-color-primary-900: #173138;--lb-color-secondary-50: #fbf1eb;--lb-color-secondary-100: #f4ddd0;--lb-color-secondary-200: #e7bda4;--lb-color-secondary-300: #dba47f;--lb-color-secondary-400: #d09372;--lb-color-secondary-500: #c1764f;--lb-color-secondary-600: #b15e3a;--lb-color-secondary-700: #8f4a2d;--lb-color-secondary-800: #6d3922;--lb-color-secondary-900: #4b2718;--lb-color-error-50: #fbeef0;--lb-color-error-100: #f3d4da;--lb-color-error-200: #e8aeb8;--lb-color-error-300: #df97a4;--lb-color-error-400: #db8090;--lb-color-error-500: #bd5e72;--lb-color-error-600: #9e3b52;--lb-color-error-700: #7e2f42;--lb-color-error-800: #5e2331;--lb-color-error-900: #3f1721;--lb-color-warning-50: #fdf3e4;--lb-color-warning-100: #f9e2bf;--lb-color-warning-200: #f4cd8f;--lb-color-warning-300: #efb162;--lb-color-warning-400: #e89a3e;--lb-color-warning-500: #e0892a;--lb-color-warning-600: #c2701a;--lb-color-warning-700: #9b5614;--lb-color-warning-800: #74400f;--lb-color-warning-900: #4e2b0a;--lb-color-info-50: #eef5fa;--lb-color-info-100: #d4e7f2;--lb-color-info-200: #b3d3e6;--lb-color-info-300: #9cc3df;--lb-color-info-400: #7bb0d4;--lb-color-info-500: #5390bb;--lb-color-info-600: #2f6f9e;--lb-color-info-700: #275d84;--lb-color-info-800: #1f4a6a;--lb-color-info-900: #163750;--lb-color-success-50: #eef7f2;--lb-color-success-100: #d3ece0;--lb-color-success-200: #aedcc4;--lb-color-success-300: #8fcdab;--lb-color-success-400: #74bd97;--lb-color-success-500: #519a76;--lb-color-success-600: #3a785c;--lb-color-success-700: #2f6149;--lb-color-success-800: #244a38;--lb-color-success-900: #183227;--lb-color-grey-50: #faf8f5;--lb-color-grey-100: #f1ede6;--lb-color-grey-200: #e5dfd5;--lb-color-grey-300: #d4ccbf;--lb-color-grey-400: #b0a89b;--lb-color-grey-500: #847c70;--lb-color-grey-600: #5f574d;--lb-color-grey-700: #46403a;--lb-color-grey-800: #2b2724;--lb-color-grey-900: #1a1714;--lb-color-grey-a100: #efe9e0;--lb-color-grey-a200: #e0d8cc;--lb-color-grey-a400: #b0a89b;--lb-color-grey-a700: #6b6359;--lb-font-sans:\n \"IBM Plex Sans\", \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;--lb-font-display: \"The Future\", \"IBM Plex Sans\", sans-serif;--lb-ease: cubic-bezier(0.22, 1, 0.36, 1);--lb-duration-fast: 200ms;--lb-duration-base: 300ms;--lb-duration-slow: 500ms;--lb-font-mono:\n \"IBM Plex Mono\", \"JetBrains Mono\", \"SFMono-Regular\", Menlo, Consolas,\n \"Courier New\", monospace;--lb-radius: 8px;--lb-blur-panel: blur(12px) saturate(180%);--lb-blur-scrim: blur(6px);--lb-tag-teal: #4d97a5;--lb-tag-petrol: #2f7e86;--lb-tag-sky: #5b8ec9;--lb-tag-steel: #41699e;--lb-tag-indigo: #6a6ec7;--lb-tag-violet: #8567bf;--lb-tag-plum: #9b5fae;--lb-tag-mauve: #ab7196;--lb-tag-magenta: #b85792;--lb-tag-rose: #c65f81;--lb-tag-crimson: #b94a59;--lb-tag-red: #cf6253;--lb-tag-terracotta: #c9774f;--lb-tag-clay: #a96a4a;--lb-tag-orange: #d2883c;--lb-tag-amber: #c39a39;--lb-tag-gold: #ab9a3f;--lb-tag-olive: #8b9a48;--lb-tag-moss: #6f9a4f;--lb-tag-green: #4f9e63;--lb-tag-emerald: #3a9d7e;--lb-tag-sage: #7fae93;--lb-tag-slate: #6b7a8c;--lb-tag-taupe: #9a8a78;--lb-tag-cyan: #3fa7b5;--lb-tag-navy: #3a5687;--lb-tag-periwinkle: #8a9fd6;--lb-tag-lavender: #b3a3d6;--lb-tag-fuchsia: #c473ad;--lb-tag-coral: #d97f6a;--lb-tag-peach: #dba074;--lb-tag-khaki: #bcae6a;--lb-tag-lime: #a3b94f;--lb-tag-mint: #84c4a6;--lb-tag-cocoa: #8a6a52;--lb-tag-pewter: #8c8a86;--lb-card-teal-accent: var(--lb-tag-teal);--lb-card-teal-surface: color-mix(\n in srgb,\n var(--lb-tag-teal) 14%,\n var(--lb-bg-light)\n );--lb-card-teal-border: color-mix(\n in srgb,\n var(--lb-tag-teal) 36%,\n var(--lb-border-main)\n );--lb-card-teal-glow: color-mix(\n in srgb,\n var(--lb-tag-teal) 26%,\n transparent\n );--lb-card-petrol-accent: var(--lb-tag-petrol);--lb-card-petrol-surface: color-mix(\n in srgb,\n var(--lb-tag-petrol) 14%,\n var(--lb-bg-light)\n );--lb-card-petrol-border: color-mix(\n in srgb,\n var(--lb-tag-petrol) 36%,\n var(--lb-border-main)\n );--lb-card-petrol-glow: color-mix(\n in srgb,\n var(--lb-tag-petrol) 26%,\n transparent\n );--lb-card-sky-accent: var(--lb-tag-sky);--lb-card-sky-surface: color-mix(\n in srgb,\n var(--lb-tag-sky) 14%,\n var(--lb-bg-light)\n );--lb-card-sky-border: color-mix(\n in srgb,\n var(--lb-tag-sky) 36%,\n var(--lb-border-main)\n );--lb-card-sky-glow: color-mix(\n in srgb,\n var(--lb-tag-sky) 26%,\n transparent\n );--lb-card-steel-accent: var(--lb-tag-steel);--lb-card-steel-surface: color-mix(\n in srgb,\n var(--lb-tag-steel) 14%,\n var(--lb-bg-light)\n );--lb-card-steel-border: color-mix(\n in srgb,\n var(--lb-tag-steel) 36%,\n var(--lb-border-main)\n );--lb-card-steel-glow: color-mix(\n in srgb,\n var(--lb-tag-steel) 26%,\n transparent\n );--lb-card-indigo-accent: var(--lb-tag-indigo);--lb-card-indigo-surface: color-mix(\n in srgb,\n var(--lb-tag-indigo) 14%,\n var(--lb-bg-light)\n );--lb-card-indigo-border: color-mix(\n in srgb,\n var(--lb-tag-indigo) 36%,\n var(--lb-border-main)\n );--lb-card-indigo-glow: color-mix(\n in srgb,\n var(--lb-tag-indigo) 26%,\n transparent\n );--lb-card-violet-accent: var(--lb-tag-violet);--lb-card-violet-surface: color-mix(\n in srgb,\n var(--lb-tag-violet) 14%,\n var(--lb-bg-light)\n );--lb-card-violet-border: color-mix(\n in srgb,\n var(--lb-tag-violet) 36%,\n var(--lb-border-main)\n );--lb-card-violet-glow: color-mix(\n in srgb,\n var(--lb-tag-violet) 26%,\n transparent\n );--lb-card-plum-accent: var(--lb-tag-plum);--lb-card-plum-surface: color-mix(\n in srgb,\n var(--lb-tag-plum) 14%,\n var(--lb-bg-light)\n );--lb-card-plum-border: color-mix(\n in srgb,\n var(--lb-tag-plum) 36%,\n var(--lb-border-main)\n );--lb-card-plum-glow: color-mix(\n in srgb,\n var(--lb-tag-plum) 26%,\n transparent\n );--lb-card-mauve-accent: var(--lb-tag-mauve);--lb-card-mauve-surface: color-mix(\n in srgb,\n var(--lb-tag-mauve) 14%,\n var(--lb-bg-light)\n );--lb-card-mauve-border: color-mix(\n in srgb,\n var(--lb-tag-mauve) 36%,\n var(--lb-border-main)\n );--lb-card-mauve-glow: color-mix(\n in srgb,\n var(--lb-tag-mauve) 26%,\n transparent\n );--lb-card-magenta-accent: var(--lb-tag-magenta);--lb-card-magenta-surface: color-mix(\n in srgb,\n var(--lb-tag-magenta) 14%,\n var(--lb-bg-light)\n );--lb-card-magenta-border: color-mix(\n in srgb,\n var(--lb-tag-magenta) 36%,\n var(--lb-border-main)\n );--lb-card-magenta-glow: color-mix(\n in srgb,\n var(--lb-tag-magenta) 26%,\n transparent\n );--lb-card-rose-accent: var(--lb-tag-rose);--lb-card-rose-surface: color-mix(\n in srgb,\n var(--lb-tag-rose) 14%,\n var(--lb-bg-light)\n );--lb-card-rose-border: color-mix(\n in srgb,\n var(--lb-tag-rose) 36%,\n var(--lb-border-main)\n );--lb-card-rose-glow: color-mix(\n in srgb,\n var(--lb-tag-rose) 26%,\n transparent\n );--lb-card-crimson-accent: var(--lb-tag-crimson);--lb-card-crimson-surface: color-mix(\n in srgb,\n var(--lb-tag-crimson) 14%,\n var(--lb-bg-light)\n );--lb-card-crimson-border: color-mix(\n in srgb,\n var(--lb-tag-crimson) 36%,\n var(--lb-border-main)\n );--lb-card-crimson-glow: color-mix(\n in srgb,\n var(--lb-tag-crimson) 26%,\n transparent\n );--lb-card-red-accent: var(--lb-tag-red);--lb-card-red-surface: color-mix(\n in srgb,\n var(--lb-tag-red) 14%,\n var(--lb-bg-light)\n );--lb-card-red-border: color-mix(\n in srgb,\n var(--lb-tag-red) 36%,\n var(--lb-border-main)\n );--lb-card-red-glow: color-mix(\n in srgb,\n var(--lb-tag-red) 26%,\n transparent\n );--lb-card-terracotta-accent: var(--lb-tag-terracotta);--lb-card-terracotta-surface: color-mix(\n in srgb,\n var(--lb-tag-terracotta) 14%,\n var(--lb-bg-light)\n );--lb-card-terracotta-border: color-mix(\n in srgb,\n var(--lb-tag-terracotta) 36%,\n var(--lb-border-main)\n );--lb-card-terracotta-glow: color-mix(\n in srgb,\n var(--lb-tag-terracotta) 26%,\n transparent\n );--lb-card-clay-accent: var(--lb-tag-clay);--lb-card-clay-surface: color-mix(\n in srgb,\n var(--lb-tag-clay) 14%,\n var(--lb-bg-light)\n );--lb-card-clay-border: color-mix(\n in srgb,\n var(--lb-tag-clay) 36%,\n var(--lb-border-main)\n );--lb-card-clay-glow: color-mix(\n in srgb,\n var(--lb-tag-clay) 26%,\n transparent\n );--lb-card-orange-accent: var(--lb-tag-orange);--lb-card-orange-surface: color-mix(\n in srgb,\n var(--lb-tag-orange) 14%,\n var(--lb-bg-light)\n );--lb-card-orange-border: color-mix(\n in srgb,\n var(--lb-tag-orange) 36%,\n var(--lb-border-main)\n );--lb-card-orange-glow: color-mix(\n in srgb,\n var(--lb-tag-orange) 26%,\n transparent\n );--lb-card-amber-accent: var(--lb-tag-amber);--lb-card-amber-surface: color-mix(\n in srgb,\n var(--lb-tag-amber) 14%,\n var(--lb-bg-light)\n );--lb-card-amber-border: color-mix(\n in srgb,\n var(--lb-tag-amber) 36%,\n var(--lb-border-main)\n );--lb-card-amber-glow: color-mix(\n in srgb,\n var(--lb-tag-amber) 26%,\n transparent\n );--lb-card-gold-accent: var(--lb-tag-gold);--lb-card-gold-surface: color-mix(\n in srgb,\n var(--lb-tag-gold) 14%,\n var(--lb-bg-light)\n );--lb-card-gold-border: color-mix(\n in srgb,\n var(--lb-tag-gold) 36%,\n var(--lb-border-main)\n );--lb-card-gold-glow: color-mix(\n in srgb,\n var(--lb-tag-gold) 26%,\n transparent\n );--lb-card-olive-accent: var(--lb-tag-olive);--lb-card-olive-surface: color-mix(\n in srgb,\n var(--lb-tag-olive) 14%,\n var(--lb-bg-light)\n );--lb-card-olive-border: color-mix(\n in srgb,\n var(--lb-tag-olive) 36%,\n var(--lb-border-main)\n );--lb-card-olive-glow: color-mix(\n in srgb,\n var(--lb-tag-olive) 26%,\n transparent\n );--lb-card-moss-accent: var(--lb-tag-moss);--lb-card-moss-surface: color-mix(\n in srgb,\n var(--lb-tag-moss) 14%,\n var(--lb-bg-light)\n );--lb-card-moss-border: color-mix(\n in srgb,\n var(--lb-tag-moss) 36%,\n var(--lb-border-main)\n );--lb-card-moss-glow: color-mix(\n in srgb,\n var(--lb-tag-moss) 26%,\n transparent\n );--lb-card-green-accent: var(--lb-tag-green);--lb-card-green-surface: color-mix(\n in srgb,\n var(--lb-tag-green) 14%,\n var(--lb-bg-light)\n );--lb-card-green-border: color-mix(\n in srgb,\n var(--lb-tag-green) 36%,\n var(--lb-border-main)\n );--lb-card-green-glow: color-mix(\n in srgb,\n var(--lb-tag-green) 26%,\n transparent\n );--lb-card-emerald-accent: var(--lb-tag-emerald);--lb-card-emerald-surface: color-mix(\n in srgb,\n var(--lb-tag-emerald) 14%,\n var(--lb-bg-light)\n );--lb-card-emerald-border: color-mix(\n in srgb,\n var(--lb-tag-emerald) 36%,\n var(--lb-border-main)\n );--lb-card-emerald-glow: color-mix(\n in srgb,\n var(--lb-tag-emerald) 26%,\n transparent\n );--lb-card-sage-accent: var(--lb-tag-sage);--lb-card-sage-surface: color-mix(\n in srgb,\n var(--lb-tag-sage) 14%,\n var(--lb-bg-light)\n );--lb-card-sage-border: color-mix(\n in srgb,\n var(--lb-tag-sage) 36%,\n var(--lb-border-main)\n );--lb-card-sage-glow: color-mix(\n in srgb,\n var(--lb-tag-sage) 26%,\n transparent\n );--lb-card-slate-accent: var(--lb-tag-slate);--lb-card-slate-surface: color-mix(\n in srgb,\n var(--lb-tag-slate) 14%,\n var(--lb-bg-light)\n );--lb-card-slate-border: color-mix(\n in srgb,\n var(--lb-tag-slate) 36%,\n var(--lb-border-main)\n );--lb-card-slate-glow: color-mix(\n in srgb,\n var(--lb-tag-slate) 26%,\n transparent\n );--lb-card-taupe-accent: var(--lb-tag-taupe);--lb-card-taupe-surface: color-mix(\n in srgb,\n var(--lb-tag-taupe) 14%,\n var(--lb-bg-light)\n );--lb-card-taupe-border: color-mix(\n in srgb,\n var(--lb-tag-taupe) 36%,\n var(--lb-border-main)\n );--lb-card-taupe-glow: color-mix(\n in srgb,\n var(--lb-tag-taupe) 26%,\n transparent\n );--lb-card-cyan-accent: var(--lb-tag-cyan);--lb-card-cyan-surface: color-mix(\n in srgb,\n var(--lb-tag-cyan) 14%,\n var(--lb-bg-light)\n );--lb-card-cyan-border: color-mix(\n in srgb,\n var(--lb-tag-cyan) 36%,\n var(--lb-border-main)\n );--lb-card-cyan-glow: color-mix(\n in srgb,\n var(--lb-tag-cyan) 26%,\n transparent\n );--lb-card-navy-accent: var(--lb-tag-navy);--lb-card-navy-surface: color-mix(\n in srgb,\n var(--lb-tag-navy) 14%,\n var(--lb-bg-light)\n );--lb-card-navy-border: color-mix(\n in srgb,\n var(--lb-tag-navy) 36%,\n var(--lb-border-main)\n );--lb-card-navy-glow: color-mix(\n in srgb,\n var(--lb-tag-navy) 26%,\n transparent\n );--lb-card-periwinkle-accent: var(--lb-tag-periwinkle);--lb-card-periwinkle-surface: color-mix(\n in srgb,\n var(--lb-tag-periwinkle) 14%,\n var(--lb-bg-light)\n );--lb-card-periwinkle-border: color-mix(\n in srgb,\n var(--lb-tag-periwinkle) 36%,\n var(--lb-border-main)\n );--lb-card-periwinkle-glow: color-mix(\n in srgb,\n var(--lb-tag-periwinkle) 26%,\n transparent\n );--lb-card-lavender-accent: var(--lb-tag-lavender);--lb-card-lavender-surface: color-mix(\n in srgb,\n var(--lb-tag-lavender) 14%,\n var(--lb-bg-light)\n );--lb-card-lavender-border: color-mix(\n in srgb,\n var(--lb-tag-lavender) 36%,\n var(--lb-border-main)\n );--lb-card-lavender-glow: color-mix(\n in srgb,\n var(--lb-tag-lavender) 26%,\n transparent\n );--lb-card-fuchsia-accent: var(--lb-tag-fuchsia);--lb-card-fuchsia-surface: color-mix(\n in srgb,\n var(--lb-tag-fuchsia) 14%,\n var(--lb-bg-light)\n );--lb-card-fuchsia-border: color-mix(\n in srgb,\n var(--lb-tag-fuchsia) 36%,\n var(--lb-border-main)\n );--lb-card-fuchsia-glow: color-mix(\n in srgb,\n var(--lb-tag-fuchsia) 26%,\n transparent\n );--lb-card-coral-accent: var(--lb-tag-coral);--lb-card-coral-surface: color-mix(\n in srgb,\n var(--lb-tag-coral) 14%,\n var(--lb-bg-light)\n );--lb-card-coral-border: color-mix(\n in srgb,\n var(--lb-tag-coral) 36%,\n var(--lb-border-main)\n );--lb-card-coral-glow: color-mix(\n in srgb,\n var(--lb-tag-coral) 26%,\n transparent\n );--lb-card-peach-accent: var(--lb-tag-peach);--lb-card-peach-surface: color-mix(\n in srgb,\n var(--lb-tag-peach) 14%,\n var(--lb-bg-light)\n );--lb-card-peach-border: color-mix(\n in srgb,\n var(--lb-tag-peach) 36%,\n var(--lb-border-main)\n );--lb-card-peach-glow: color-mix(\n in srgb,\n var(--lb-tag-peach) 26%,\n transparent\n );--lb-card-khaki-accent: var(--lb-tag-khaki);--lb-card-khaki-surface: color-mix(\n in srgb,\n var(--lb-tag-khaki) 14%,\n var(--lb-bg-light)\n );--lb-card-khaki-border: color-mix(\n in srgb,\n var(--lb-tag-khaki) 36%,\n var(--lb-border-main)\n );--lb-card-khaki-glow: color-mix(\n in srgb,\n var(--lb-tag-khaki) 26%,\n transparent\n );--lb-card-lime-accent: var(--lb-tag-lime);--lb-card-lime-surface: color-mix(\n in srgb,\n var(--lb-tag-lime) 14%,\n var(--lb-bg-light)\n );--lb-card-lime-border: color-mix(\n in srgb,\n var(--lb-tag-lime) 36%,\n var(--lb-border-main)\n );--lb-card-lime-glow: color-mix(\n in srgb,\n var(--lb-tag-lime) 26%,\n transparent\n );--lb-card-mint-accent: var(--lb-tag-mint);--lb-card-mint-surface: color-mix(\n in srgb,\n var(--lb-tag-mint) 14%,\n var(--lb-bg-light)\n );--lb-card-mint-border: color-mix(\n in srgb,\n var(--lb-tag-mint) 36%,\n var(--lb-border-main)\n );--lb-card-mint-glow: color-mix(\n in srgb,\n var(--lb-tag-mint) 26%,\n transparent\n );--lb-card-cocoa-accent: var(--lb-tag-cocoa);--lb-card-cocoa-surface: color-mix(\n in srgb,\n var(--lb-tag-cocoa) 14%,\n var(--lb-bg-light)\n );--lb-card-cocoa-border: color-mix(\n in srgb,\n var(--lb-tag-cocoa) 36%,\n var(--lb-border-main)\n );--lb-card-cocoa-glow: color-mix(\n in srgb,\n var(--lb-tag-cocoa) 26%,\n transparent\n );--lb-card-pewter-accent: var(--lb-tag-pewter);--lb-card-pewter-surface: color-mix(\n in srgb,\n var(--lb-tag-pewter) 14%,\n var(--lb-bg-light)\n );--lb-card-pewter-border: color-mix(\n in srgb,\n var(--lb-tag-pewter) 36%,\n var(--lb-border-main)\n );--lb-card-pewter-glow: color-mix(\n in srgb,\n var(--lb-tag-pewter) 26%,\n transparent\n )}.light{--lb-primary-main: #36707f;--lb-primary-light: #5d99a8;--lb-primary-dark: #274e58;--lb-primary-contrast-text: #ffffff;--lb-secondary-main: #b15e3a;--lb-secondary-light: #c8855f;--lb-secondary-dark: #854227;--lb-secondary-contrast-text: #ffffff;--lb-error-main: #9e3b52;--lb-error-light: #b9697a;--lb-error-dark: #6f2737;--lb-error-contrast-text: #ffffff;--lb-warning-main: #e0892a;--lb-warning-light: #eaa658;--lb-warning-dark: #a8631a;--lb-warning-contrast-text: #2a1c06;--lb-info-main: #2f6f9e;--lb-info-light: #5e93bb;--lb-info-dark: #21506f;--lb-info-contrast-text: #ffffff;--lb-success-main: #3a785c;--lb-success-light: #6aae89;--lb-success-dark: #25503c;--lb-success-contrast-text: #ffffff;--lb-text-primary: #2a2622;--lb-text-secondary: rgba(42, 38, 34, 0.74);--lb-text-muted: rgba(42, 38, 34, 0.68);--lb-text-disabled: rgba(42, 38, 34, 0.4);--lb-bg-default: var(--lb-color-grey-100);--lb-bg-paper: color-mix(\n in srgb,\n var(--lb-color-grey-100) 50%,\n var(--lb-color-grey-50)\n );--lb-bg-light: #fffdf8;--lb-divider: rgba(67, 126, 142, 0.18);--lb-border-main: rgba(67, 126, 142, 0.22);--lb-border-dark: rgba(67, 126, 142, 0.34);--lb-border-transparent: rgba(67, 126, 142, 0);--lb-action-active: rgba(42, 38, 34, 0.54);--lb-action-hover: rgba(54, 112, 127, 0.06);--lb-action-selected: rgba(54, 112, 127, 0.12);--lb-action-disabled: rgba(42, 38, 34, 0.26);--lb-action-disabled-bg: rgba(42, 38, 34, 0.12);--lb-action-focus: rgba(54, 112, 127, 0.16);--lb-focus-ring: #36707f;--lb-focus-glow: rgba(54, 112, 127, 0.24);--lb-focus-shadow:\n 0 0 0 2px var(--lb-bg-paper), 0 0 0 4px #36707f,\n 0 0 0 7px rgba(54, 112, 127, 0.24);--lb-focus-outline: 2px solid #36707f;--lb-focus-outline-offset: 2px;--lb-shadow-xs: 0 1px 2px rgba(42, 38, 34, 0.06);--lb-shadow-sm:\n 0 1px 2px rgba(42, 38, 34, 0.06), 0 2px 6px rgba(42, 38, 34, 0.06);--lb-shadow-md:\n 0 2px 6px rgba(42, 38, 34, 0.06), 0 8px 16px rgba(42, 38, 34, 0.08);--lb-shadow-lg:\n 0 6px 16px rgba(42, 38, 34, 0.08), 0 16px 32px rgba(42, 38, 34, 0.1);--lb-shadow-xl:\n 0 12px 28px rgba(42, 38, 34, 0.1), 0 28px 56px rgba(42, 38, 34, 0.14);--lb-glass-bg: color-mix(in srgb, var(--lb-bg-paper) 72%, transparent);--lb-glass-bg-subtle: color-mix(in srgb, var(--lb-bg-paper) 42%, transparent);--lb-glass-border: rgba(67, 126, 142, 0.22);--lb-scrim: rgba(42, 38, 34, 0.2);--lb-scrollbar-size: 8px;--lb-scrollbar-size-thin: 5px;--lb-scrollbar-radius: 9999px;--lb-scrollbar-track: transparent;--lb-scrollbar-rail: var(--lb-action-hover);--lb-scrollbar-thumb-border: 3px solid var(--lb-bg-default);--lb-scrollbar-fade-duration: 0.28s;--lb-scrollbar-thumb-solid: color-mix(\n in srgb,\n var(--lb-primary-main) 26%,\n transparent\n );--lb-scrollbar-thumb-solid-hover: color-mix(\n in srgb,\n var(--lb-primary-main) 52%,\n transparent\n );--lb-scrollbar-thumb-solid-active: var(--lb-primary-main);--lb-scrollbar-thumb-gradient: linear-gradient(\n 180deg,\n color-mix(in srgb, var(--lb-soft-primary-bg) 88%, var(--lb-primary-light)) 0%,\n color-mix(in srgb, var(--lb-soft-primary-bg-active) 82%, var(--lb-primary-main)) 100%\n );--lb-scrollbar-thumb-gradient-hover: linear-gradient(\n 180deg,\n var(--lb-primary-light) 0%,\n var(--lb-primary-main) 100%\n );--lb-scrollbar-thumb-gradient-active: linear-gradient(\n 180deg,\n var(--lb-primary-main) 0%,\n var(--lb-primary-dark) 100%\n );--lb-scrollbar-thumb-shadow:\n 0 1px 2px rgba(42, 38, 34, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.28);--lb-scrollbar-thumb-shadow-hover:\n 0 2px 6px rgba(42, 38, 34, 0.14), 0 0 10px var(--lb-focus-glow),\n inset 0 1px 0 rgba(255, 255, 255, 0.34);--lb-soft-primary-text: #274e58;--lb-soft-primary-bg: #dcecef;--lb-soft-primary-bg-hover: #bcd9e0;--lb-soft-primary-bg-active: #9cc6d1;--lb-soft-secondary-text: #854227;--lb-soft-secondary-bg: #f4ddd0;--lb-soft-secondary-bg-hover: #e7bda4;--lb-soft-secondary-bg-active: #dba47f;--lb-soft-error-text: #6f2737;--lb-soft-error-bg: #f3d4da;--lb-soft-error-bg-hover: #e8aeb8;--lb-soft-error-bg-active: #df97a4;--lb-soft-warning-text: #a8631a;--lb-soft-warning-bg: #f9e2bf;--lb-soft-warning-bg-hover: #f4cd8f;--lb-soft-warning-bg-active: #efb162;--lb-soft-info-text: #21506f;--lb-soft-info-bg: #d4e7f2;--lb-soft-info-bg-hover: #b3d3e6;--lb-soft-info-bg-active: #9cc3df;--lb-soft-success-text: #25503c;--lb-soft-success-bg: #d3ece0;--lb-soft-success-bg-hover: #aedcc4;--lb-soft-success-bg-active: #8fcdab}.dark{--lb-primary-main: #7eb3c1;--lb-primary-light: #a3c9d2;--lb-primary-dark: #5d99a8;--lb-primary-contrast-text: #0f242b;--lb-secondary-main: #d09372;--lb-secondary-light: #e2b095;--lb-secondary-dark: #a86f4f;--lb-secondary-contrast-text: #2b160c;--lb-error-main: #db8090;--lb-error-light: #e8a6b1;--lb-error-dark: #b3596b;--lb-error-contrast-text: #2b1015;--lb-warning-main: #e89a3e;--lb-warning-light: #f2bd78;--lb-warning-dark: #c17a22;--lb-warning-contrast-text: #2a1c06;--lb-info-main: #7bb0d4;--lb-info-light: #a6cce5;--lb-info-dark: #5891bb;--lb-info-contrast-text: #0e1f2b;--lb-success-main: #74bd97;--lb-success-light: #9ed5b6;--lb-success-dark: #4c9670;--lb-success-contrast-text: #0f2419;--lb-text-primary: #f5f5f4;--lb-text-secondary: rgba(245, 245, 244, 0.78);--lb-text-muted: rgba(245, 245, 244, 0.64);--lb-text-disabled: rgba(245, 245, 244, 0.42);--lb-bg-default: #181818;--lb-bg-paper: #202020;--lb-bg-light: #262626;--lb-divider: rgba(126, 179, 193, 0.14);--lb-border-main: rgba(126, 179, 193, 0.18);--lb-border-dark: rgba(126, 179, 193, 0.3);--lb-border-transparent: rgba(126, 179, 193, 0);--lb-action-active: rgba(245, 245, 244, 0.56);--lb-action-hover: rgba(126, 179, 193, 0.08);--lb-action-selected: rgba(126, 179, 193, 0.16);--lb-action-disabled: rgba(245, 245, 244, 0.3);--lb-action-disabled-bg: rgba(245, 245, 244, 0.12);--lb-action-focus: rgba(126, 179, 193, 0.24);--lb-focus-ring: #7eb3c1;--lb-focus-glow: rgba(126, 179, 193, 0.34);--lb-focus-shadow:\n 0 0 0 2px #202020, 0 0 0 4px #7eb3c1, 0 0 0 7px rgba(126, 179, 193, 0.34);--lb-focus-outline: 2px solid #7eb3c1;--lb-focus-outline-offset: 2px;--lb-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.22);--lb-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.22), 0 2px 4px rgba(0, 0, 0, 0.18);--lb-shadow-md: 0 2px 5px rgba(0, 0, 0, 0.22), 0 6px 12px rgba(0, 0, 0, 0.24);--lb-shadow-lg:\n 0 4px 10px rgba(0, 0, 0, 0.26), 0 12px 24px rgba(0, 0, 0, 0.3);--lb-shadow-xl:\n 0 8px 16px rgba(0, 0, 0, 0.28), 0 18px 36px rgba(0, 0, 0, 0.34);--lb-glass-bg: rgba(32, 32, 32, 0.62);--lb-glass-bg-subtle: rgba(32, 32, 32, 0.38);--lb-glass-border: rgba(126, 179, 193, 0.18);--lb-scrim: rgba(0, 0, 0, 0.45);--lb-scrollbar-size: 8px;--lb-scrollbar-size-thin: 5px;--lb-scrollbar-radius: 9999px;--lb-scrollbar-track: transparent;--lb-scrollbar-rail: var(--lb-action-hover);--lb-scrollbar-thumb-border: 3px solid var(--lb-bg-default);--lb-scrollbar-fade-duration: 0.28s;--lb-scrollbar-thumb-solid: color-mix(\n in srgb,\n var(--lb-primary-main) 30%,\n transparent\n );--lb-scrollbar-thumb-solid-hover: color-mix(\n in srgb,\n var(--lb-primary-main) 56%,\n transparent\n );--lb-scrollbar-thumb-solid-active: var(--lb-primary-main);--lb-scrollbar-thumb-gradient: linear-gradient(\n 180deg,\n color-mix(in srgb, var(--lb-soft-primary-bg) 92%, var(--lb-primary-light)) 0%,\n color-mix(in srgb, var(--lb-soft-primary-bg-hover) 88%, var(--lb-primary-main)) 100%\n );--lb-scrollbar-thumb-gradient-hover: linear-gradient(\n 180deg,\n var(--lb-primary-light) 0%,\n var(--lb-primary-main) 100%\n );--lb-scrollbar-thumb-gradient-active: linear-gradient(\n 180deg,\n var(--lb-primary-main) 0%,\n var(--lb-primary-dark) 100%\n );--lb-scrollbar-thumb-shadow:\n 0 1px 3px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.08);--lb-scrollbar-thumb-shadow-hover:\n 0 2px 8px rgba(0, 0, 0, 0.36), 0 0 12px var(--lb-focus-glow),\n inset 0 1px 0 rgba(255, 255, 255, 0.12);--lb-soft-primary-text: #a3c9d2;--lb-soft-primary-bg: rgba(126, 179, 193, 0.16);--lb-soft-primary-bg-hover: rgba(126, 179, 193, 0.26);--lb-soft-primary-bg-active: rgba(126, 179, 193, 0.32);--lb-soft-secondary-text: #e2b095;--lb-soft-secondary-bg: rgba(208, 147, 114, 0.16);--lb-soft-secondary-bg-hover: rgba(208, 147, 114, 0.26);--lb-soft-secondary-bg-active: rgba(208, 147, 114, 0.32);--lb-soft-error-text: #e8a6b1;--lb-soft-error-bg: rgba(219, 128, 144, 0.16);--lb-soft-error-bg-hover: rgba(219, 128, 144, 0.26);--lb-soft-error-bg-active: rgba(219, 128, 144, 0.32);--lb-soft-warning-text: #f2bd78;--lb-soft-warning-bg: rgba(232, 154, 62, 0.16);--lb-soft-warning-bg-hover: rgba(232, 154, 62, 0.26);--lb-soft-warning-bg-active: rgba(232, 154, 62, 0.32);--lb-soft-info-text: #a6cce5;--lb-soft-info-bg: rgba(123, 176, 212, 0.16);--lb-soft-info-bg-hover: rgba(123, 176, 212, 0.26);--lb-soft-info-bg-active: rgba(123, 176, 212, 0.32);--lb-soft-success-text: #9ed5b6;--lb-soft-success-bg: rgba(116, 189, 151, 0.16);--lb-soft-success-bg-hover: rgba(116, 189, 151, 0.26);--lb-soft-success-bg-active: rgba(116, 189, 151, 0.32)}"},{"filePath":"styles/docs-theme.css","content":"@font-face{font-family:\"The Future\";src:url(\"https://labelbox.com/static/fonts/The-future/the-future-light.woff2\") format(\"woff2\");font-weight:300;font-display:swap}@font-face{font-family:\"The Future\";src:url(\"https://labelbox.com/static/fonts/The-future/the-future-regular.woff2\") format(\"woff2\");font-weight:400;font-display:swap}@font-face{font-family:\"The Future\";src:url(\"https://labelbox.com/static/fonts/The-future/the-future-medium.woff2\") format(\"woff2\");font-weight:500 700;font-display:swap}@font-face{font-family:\"IBM Plex Mono\";src:url(\"https://labelbox.com/static/fonts/IBM-Plex-Mono/woff2/IBMPlexMono-Regular.woff2\") format(\"woff2\");font-weight:400;font-display:swap}@font-face{font-family:\"IBM Plex Mono\";src:url(\"https://labelbox.com/static/fonts/IBM-Plex-Mono/woff2/IBMPlexMono-Medium.woff2\") format(\"woff2\");font-weight:500;font-display:swap}@font-face{font-family:\"IBM Plex Mono\";src:url(\"https://labelbox.com/static/fonts/IBM-Plex-Mono/woff2/IBMPlexMono-SemiBold.woff2\") format(\"woff2\");font-weight:600 700;font-display:swap}html:root{--gray-50: 250 248 245;--gray-100: 241 237 230;--gray-200: 229 223 213;--gray-300: 212 204 191;--gray-400: 176 168 155;--gray-500: 132 124 112;--gray-600: 95 87 77;--gray-700: 70 64 58;--gray-800: 43 39 36;--gray-900: 26 23 20;--gray-950: 17 15 13;--lb-font-mono: \"IBM Plex Mono\", \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;--font-family-mono-custom: var(--lb-font-mono);--lb-panel: var(--lb-bg-light);--lb-code-bg: var(--lb-color-grey-900);--lb-code-border: color-mix(in srgb, var(--lb-primary-main) 22%, transparent);color-scheme:light}html.dark:root{--lb-panel: var(--lb-bg-paper);--lb-code-bg: var(--lb-bg-default);color-scheme:dark}html:root{--mint-background: var(--lb-code-bg);--mint-color-background: var(--lb-code-bg);--mint-color-text: var(--lb-color-grey-100);--mint-token-keyword: var(--lb-color-primary-300);--mint-token-string: var(--lb-color-success-300);--mint-token-string-expression: var(--lb-tag-mint);--mint-token-constant: var(--lb-color-warning-300);--mint-token-function: var(--lb-color-secondary-300);--mint-token-parameter: var(--lb-tag-lavender);--mint-token-comment: var(--lb-color-grey-500);--mint-token-punctuation: var(--lb-color-grey-400);--mint-token-link: var(--lb-color-primary-300);--mint-ansi-black: var(--lb-color-grey-800);--mint-ansi-red: var(--lb-color-error-300);--mint-ansi-green: var(--lb-color-success-300);--mint-ansi-yellow: var(--lb-color-warning-300);--mint-ansi-blue: var(--lb-color-info-300);--mint-ansi-magenta: var(--lb-tag-fuchsia);--mint-ansi-cyan: var(--lb-color-primary-300);--mint-ansi-white: var(--lb-color-grey-100);--mint-ansi-bright-black: var(--lb-color-grey-600);--mint-ansi-bright-red: var(--lb-color-error-200);--mint-ansi-bright-green: var(--lb-color-success-200);--mint-ansi-bright-yellow: var(--lb-color-warning-200);--mint-ansi-bright-blue: var(--lb-color-info-200);--mint-ansi-bright-magenta: var(--lb-tag-lavender);--mint-ansi-bright-cyan: var(--lb-color-primary-200);--mint-ansi-bright-white: var(--lb-color-grey-50)}html,body{background-color:var(--lb-panel)}::selection{background:var(--lb-soft-primary-bg-active);color:var(--lb-text-primary)}:focus-visible{outline:var(--lb-focus-outline);outline-offset:var(--lb-focus-outline-offset)}*{scrollbar-width:thin;scrollbar-color:var(--lb-scrollbar-thumb-solid) transparent}html #sidebar-content{border-color:var(--lb-divider)}html #navbar>.border-b{border-color:var(--lb-divider)}html #navbar>.bg-background-light{background:var(--lb-panel)}html img:is([src$=\"recursion-mark.svg\"],[src$=\"labelbox-mark.svg\"])[class]{object-position:-9999px 0;background-color:var(--lb-text-primary);-webkit-mask:center / contain no-repeat;mask:center / contain no-repeat}html img[src$=\"recursion-mark.svg\"][class]{-webkit-mask-image:url(\"/images/recursion-mark.svg\");mask-image:url(\"/images/recursion-mark.svg\")}html img[src$=\"labelbox-mark.svg\"][class]{-webkit-mask-image:url(\"/images/labelbox-mark.svg\");mask-image:url(\"/images/labelbox-mark.svg\")}html #navbar .nav-dropdown-products-selector-trigger{gap:0.55rem;height:2.125rem;padding:0 0.75rem 0 0.4rem;border:1px solid var(--lb-border-main);border-radius:9999px;background:var(--lb-glass-bg);color:var(--lb-text-primary);font-weight:500;transition:border-color var(--lb-duration-fast) var(--lb-ease), background-color var(--lb-duration-fast) var(--lb-ease)}html #navbar .nav-dropdown-products-selector-trigger:hover,html #navbar .nav-dropdown-products-selector-trigger[aria-expanded=\"true\"]{border-color:var(--lb-border-dark);background:var(--lb-soft-primary-bg)!important}html #navbar .nav-dropdown-products-selector-trigger>svg:first-child{box-sizing:content-box;width:0.875rem;height:0.875rem;padding:0.3rem;border-radius:9999px;background:var(--lb-primary-main);color:var(--lb-primary-contrast-text)}html .nav-dropdown-products-selector-content{border:1px solid var(--lb-border-main);border-radius:1rem;background:var(--lb-glass-bg);box-shadow:var(--lb-shadow-lg);backdrop-filter:var(--lb-blur-panel);-webkit-backdrop-filter:var(--lb-blur-panel)}html .nav-dropdown-products-selector-item{border-radius:0.75rem}html .nav-dropdown-products-selector-item:hover,html .nav-dropdown-products-selector-item[data-active]{background:var(--lb-action-hover)}html .nav-dropdown-products-selector-item-icon{color:var(--lb-primary-main)}html .nav-dropdown-products-selector-item-title{color:var(--lb-text-primary);font-weight:600}html .nav-dropdown-products-selector-item-description{color:var(--lb-text-muted)}html #navbar .navbar-link a,html #navbar a.navbar-link{color:var(--lb-text-secondary)}html #navbar .navbar-link a:hover,html #navbar a.navbar-link:hover{color:var(--lb-text-primary)}html #topbar-cta-button a,html a#topbar-cta-button{border-radius:var(--lb-radius);background:var(--lb-primary-main);color:var(--lb-primary-contrast-text);box-shadow:var(--lb-shadow-xs), inset 0 1px 0 color-mix(in srgb, var(--lb-color-grey-50) 16%, transparent);transition:background-color var(--lb-duration-fast) var(--lb-ease)}html #topbar-cta-button a:hover,html a#topbar-cta-button:hover{background:var(--lb-primary-dark)}html #topbar-cta-button a>span.absolute{display:none}html #topbar-cta-button :is(span,svg){color:var(--lb-primary-contrast-text)}html .nav-tabs-item{color:var(--lb-text-secondary)}html .nav-tabs-item:hover,html .nav-tabs-item[data-active]{color:var(--lb-text-primary)}html #navbar div:has(>#search-bar-entry){gap:0.5rem}html :is(#search-bar-entry,#assistant-entry){height:2.25rem;border:1px solid var(--lb-border-main);border-radius:9999px;background:var(--lb-bg-paper);color:var(--lb-text-muted);box-shadow:none;filter:none;transition:border-color var(--lb-duration-fast) var(--lb-ease),\n background-color var(--lb-duration-fast) var(--lb-ease)}html :is(#search-bar-entry,#assistant-entry):hover{border-color:var(--lb-border-dark);background:var(--lb-bg-paper);filter:none}html #assistant-entry>span:not(:last-child){color:var(--lb-text-secondary)}html :is(#search-bar-entry>span,#assistant-entry>span:last-child){padding:0.05rem 0.4rem;border:1px solid var(--lb-divider);border-radius:0.375rem;color:var(--lb-text-muted);font-family:var(--lb-font-mono);font-weight:500}html .sidebar-group-header{font-family:var(--lb-font-mono);font-size:0.6875rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--lb-text-muted)}html #sidebar-content li>a,html #sidebar-content li>button{border-radius:0.625rem;color:var(--lb-text-secondary);transition:background-color var(--lb-duration-fast) var(--lb-ease), color var(--lb-duration-fast) var(--lb-ease)}html #sidebar-content li>a:hover,html #sidebar-content li>button:hover{background:var(--lb-action-hover);color:var(--lb-text-primary)}html #sidebar-content li[data-active-nav-item]>a{position:relative;background:var(--lb-soft-primary-bg);color:var(--lb-soft-primary-text);text-shadow:none;font-weight:500}html #sidebar-content li[data-active-nav-item]>a::before{content:\"\";position:absolute;left:0.3rem;top:50%;width:3px;height:1rem;border-radius:9999px;background:var(--lb-primary-main);transform:translateY(-50%)}html .eyebrow{display:none}html #page-title{font-family:var(--lb-font-display);font-weight:400;font-size:clamp(1.875rem, 1.5rem + 0.9vw, 2.25rem);line-height:1.1;letter-spacing:-0.02em;color:var(--lb-text-primary)}html .mdx-content{--tw-prose-body: var(--lb-text-secondary);--tw-prose-headings: var(--lb-text-primary);--tw-prose-bold: var(--lb-text-primary);--tw-prose-links: var(--lb-primary-main);--tw-prose-counters: var(--lb-text-muted);--tw-prose-bullets: var(--lb-color-primary-400);--tw-prose-hr: var(--lb-divider);--tw-prose-quotes: var(--lb-text-primary);--tw-prose-quote-borders: var(--lb-primary-main);--tw-prose-th-borders: var(--lb-border-main);--tw-prose-td-borders: var(--lb-divider);--tw-prose-invert-body: var(--lb-text-secondary);--tw-prose-invert-headings: var(--lb-text-primary);--tw-prose-invert-bold: var(--lb-text-primary);--tw-prose-invert-links: var(--lb-primary-main);--tw-prose-invert-bullets: var(--lb-color-primary-400);color:var(--lb-text-secondary)}html .mdx-content :is(h2,h3,h4){font-family:var(--lb-font-display);font-weight:400;color:var(--lb-text-primary);letter-spacing:-0.012em}html .mdx-content>h2{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--lb-divider);font-size:1.625rem;line-height:1.2}html .mdx-content>h2:first-child{margin-top:0;padding-top:0;border-top:0}html .mdx-content>h3{font-size:1.25rem}html .mdx-content a:not(.card,[class*=\"not-prose\"],.hub *){color:var(--lb-primary-main);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--lb-primary-main) 35%, transparent);text-decoration-thickness:1px;text-underline-offset:3px;border-bottom:0;font-weight:500;transition:text-decoration-color var(--lb-duration-fast) var(--lb-ease)}html .mdx-content a:not(.card,[class*=\"not-prose\"],.hub *):hover{text-decoration-color:currentColor}html .mdx-content :not(pre)>code{padding:0.12em 0.4em;border:1px solid var(--lb-divider);border-radius:0.375rem;background:color-mix(in srgb, var(--lb-primary-main) 6%, var(--lb-panel));color:var(--lb-text-primary);font-family:var(--lb-font-mono);font-size:0.85em;font-weight:500}html .mdx-content :not(pre)>code::before,html .mdx-content :not(pre)>code::after{content:none}html .mdx-content table{border-collapse:separate;border-spacing:0;font-size:0.875rem}html .mdx-content thead th{background:var(--lb-bg-paper);color:var(--lb-text-primary);font-weight:600;border-bottom:1px solid var(--lb-border-main)}html .mdx-content tbody td{border-bottom:1px solid var(--lb-divider)}html .mdx-content tbody tr:hover td{background:var(--lb-action-hover)}html .mdx-content :is(thead th,tbody td){padding:0.625rem 0.875rem}html .code-block,html .code-group{border:1px solid var(--lb-code-border);border-radius:0.875rem;background:var(--lb-code-bg);box-shadow:var(--lb-shadow-md), inset 0 1px 0 color-mix(in srgb, var(--lb-color-grey-50) 5%, transparent);overflow:hidden}html .code-group .code-block{border:0;box-shadow:none}html .code-block [data-component-part=\"code-block-root\"],html .code-block pre{background-color:var(--lb-code-bg)!important}html :is(.code-block,.code-group) :is(pre,code,.line){font-family:var(--lb-font-mono)}html :is(.code-block,.code-group) :is(.whitespace-pre,pre,code,.line){white-space:pre-wrap;overflow-wrap:anywhere}html :is(.code-block,.code-group) pre>code{width:auto!important}html #content-side-layout :is(.whitespace-pre,pre,code,.line){white-space:pre;overflow-wrap:normal}html #content-side-layout pre>code{width:max-content!important}html .code-block-copy-button button{background:transparent!important;color:var(--lb-color-grey-400)}html .code-block-copy-button button:hover{color:var(--lb-color-grey-50)}html .callout{--callout-bg: var(--lb-soft-primary-bg);--callout-accent: var(--lb-primary-main);border:1px solid color-mix(in srgb, var(--callout-accent) 22%, transparent);border-radius:0.875rem;background:color-mix(in srgb, var(--callout-bg) 70%, var(--lb-panel));box-shadow:inset 3px 0 0 var(--callout-accent)}html .callout [data-component-part=\"callout-icon\"]{color:var(--callout-accent)}html .callout [data-component-part=\"callout-icon\"] svg{fill:currentColor;color:currentColor}html .callout [data-component-part=\"callout-content\"]{color:var(--lb-text-primary)}html .callout[data-callout-type=\"info\"]{--callout-bg: var(--lb-soft-info-bg);--callout-accent: var(--lb-info-main)}html .callout[data-callout-type=\"tip\"],html .callout[data-callout-type=\"check\"]{--callout-bg: var(--lb-soft-success-bg);--callout-accent: var(--lb-success-main)}html .callout[data-callout-type=\"warning\"]{--callout-bg: var(--lb-soft-warning-bg);--callout-accent: var(--lb-warning-main)}html .callout[data-callout-type=\"danger\"]{--callout-bg: var(--lb-soft-error-bg);--callout-accent: var(--lb-error-main)}html .card{border:1px solid var(--lb-border-main);border-radius:1rem;background:var(--lb-bg-light);box-shadow:var(--lb-shadow-xs);transition:transform var(--lb-duration-base) var(--lb-ease),\n box-shadow var(--lb-duration-base) var(--lb-ease),\n border-color var(--lb-duration-base) var(--lb-ease)}html .card:hover{transform:translateY(-2px);border-color:var(--lb-border-dark)!important;box-shadow:var(--lb-shadow-md), 0 0 0 4px var(--lb-card-teal-glow)}html .card [data-component-part=\"card-icon\"]{box-sizing:content-box;width:1.125rem;height:1.125rem;padding:0.5rem;border-radius:0.625rem;background:var(--lb-soft-primary-bg);color:var(--lb-soft-primary-text);fill:var(--lb-soft-primary-text)}html .card [data-component-part=\"card-icon\"]>svg{width:1.125rem;height:1.125rem;background-color:var(--lb-soft-primary-text)!important}html .card [data-component-part=\"card-title\"]{font-family:var(--lb-font-display);font-weight:500;letter-spacing:-0.005em;color:var(--lb-text-primary)}html .card [data-component-part=\"card-content\"]{color:var(--lb-text-muted);font-size:0.9375rem}html .step [data-component-part=\"step-indicator\"]{background:var(--lb-soft-primary-bg);color:var(--lb-soft-primary-text);box-shadow:0 0 0 4px var(--lb-panel), 0 0 0 5px var(--lb-border-main);font-family:var(--lb-font-mono)}html .step [data-component-part=\"step-line\"]{background:linear-gradient(var(--lb-border-dark), var(--lb-divider))}html .tabs [data-component-part=\"tabs-list\"]{border-color:var(--lb-divider)}html .tabs [data-component-part=\"tab-button\"]{color:var(--lb-text-muted)}html .tabs [data-component-part=\"tab-button\"][data-active=\"true\"]{color:var(--lb-primary-main);border-color:var(--lb-primary-main)}html .accordion,html .accordion-group{border-color:var(--lb-border-main);border-radius:0.875rem;background:var(--lb-bg-light)}html .mermaid svg{--lb-diagram-edge: color-mix(in srgb, var(--lb-primary-main) 55%, var(--lb-color-grey-400));font-family:var(--lb-font-sans)!important}html .mermaid svg :where(.node rect,.node polygon,.node circle,.node path,rect.basic,rect.actor,.cluster rect){fill:var(--lb-bg-light)!important;stroke:var(--lb-border-dark)!important;stroke-width:1px!important;rx:8px;ry:8px}html .mermaid svg .statediagram-state rect.basic{stroke:var(--lb-primary-main)!important}html .mermaid svg :is(.nodeLabel,.node .label,.node text,text.actor,.actor tspan,.cluster-label,.cluster text){color:var(--lb-text-primary)!important;fill:var(--lb-text-primary)!important;font-size:14px!important;font-weight:500!important}html .mermaid svg :is(.flowchart-link,path.transition,.edgePath path,.messageLine0,.messageLine1,line.actor-line){stroke:var(--lb-diagram-edge)!important;stroke-width:1.5px!important}html .mermaid svg line.actor-line{stroke-dasharray:3 4;stroke-width:1px!important}html .mermaid svg :is(marker path,.arrowheadPath){fill:var(--lb-diagram-edge)!important;stroke:var(--lb-diagram-edge)!important}html .mermaid svg :is(.edgeLabel,.edgeLabel p,.edgeLabel span,.labelBkg,text.messageText){background-color:var(--lb-bg-light)!important;color:var(--lb-text-secondary)!important;fill:var(--lb-text-secondary)!important;font-size:12px!important;font-weight:400!important}html .mermaid svg .edgeLabel rect{fill:var(--lb-bg-light)!important;opacity:1!important}html .mermaid svg circle.state-start,html .mermaid svg[aria-roledescription=\"stateDiagram\"] .node .outer-path>g>path{fill:var(--lb-primary-main)!important;stroke:var(--lb-primary-main)!important}html .mermaid svg[aria-roledescription=\"stateDiagram\"] .node .outer-path>path{fill:var(--lb-bg-light)!important;stroke:var(--lb-primary-main)!important}html .toc-item>a{color:var(--lb-text-muted);border-color:var(--lb-divider)}html .toc-item>a:hover{color:var(--lb-text-primary)}html .toc-item[data-active-deepest]>a{color:var(--lb-primary-main);border-color:var(--lb-primary-main)}html #pagination a{border:1px solid var(--lb-border-main);border-radius:1rem;background:var(--lb-bg-light);transition:border-color var(--lb-duration-fast) var(--lb-ease), box-shadow var(--lb-duration-fast) var(--lb-ease)}html #pagination a:hover{border-color:var(--lb-border-dark);box-shadow:var(--lb-shadow-sm)}html #footer{border-color:var(--lb-divider)}html .method-pill,html .method-nav-pill{font-family:var(--lb-font-mono);letter-spacing:0.02em}html .method-pill[class*=\"bg-green\"],html .method-nav-pill>span[class*=\"bg-green\"]{background-color:var(--lb-soft-success-bg);color:var(--lb-soft-success-text)}html .method-pill[class*=\"bg-blue\"],html .method-nav-pill>span[class*=\"bg-blue\"]{background-color:var(--lb-soft-info-bg);color:var(--lb-soft-info-text)}html .method-pill[class*=\"bg-yellow\"],html .method-pill[class*=\"bg-orange\"],html .method-nav-pill>span[class*=\"bg-yellow\"],html .method-nav-pill>span[class*=\"bg-orange\"]{background-color:var(--lb-soft-warning-bg);color:var(--lb-soft-warning-text)}html .method-pill[class*=\"bg-red\"],html .method-nav-pill>span[class*=\"bg-red\"],html [class*=\"bg-red-100/50\"][class*=\"text-red-600\"]{background-color:var(--lb-soft-error-bg);color:var(--lb-soft-error-text)}html .method-nav-pill>span[class*=\"3064E3\"]{background-color:var(--lb-primary-main);color:var(--lb-primary-contrast-text)}html .tryit-button{border-radius:10px;background-color:var(--lb-primary-main);color:var(--lb-primary-contrast-text);transition:background-color var(--lb-duration-fast) var(--lb-ease)}html .tryit-button:hover{opacity:1;background-color:var(--lb-primary-dark)}@media (prefers-reduced-motion: reduce){html .card,html .card:hover{transform:none;transition:none}}"},{"filePath":"styles/home.css","content":".hub{--hub-container: 92rem;--hub-gutter: calc(var(--spacing, 0.25rem) * 4);position:relative;color:var(--lb-text-primary);font-family:var(--lb-font-sans);overflow-x:clip}@media (min-width: 1024px){.hub{--hub-gutter: calc(var(--spacing, 0.25rem) * 9)}}html:has(.hub:not(.hub--embedded)),html:has(.hub:not(.hub--embedded)) body{background-color:var(--lb-bg-default)}html:has(.hub:not(.hub--embedded)) #navbar>.bg-background-light{background:color-mix(in srgb, var(--lb-bg-default) 82%, transparent);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}html:has(.hub:not(.hub--embedded)) #navbar div:has(>.nav-tabs){display:none}.hub .hub-icon{display:block;flex:none}.hub-wrap{box-sizing:border-box;width:100%;max-width:var(--hub-container);margin:0 auto;padding:0 var(--hub-gutter)}.hub-hero{padding:clamp(48px, 6vw, 96px) 0 clamp(8px, 2vw, 24px)}.hub-hero__grid{display:grid;grid-template-columns:minmax(0, 460px) minmax(0, 1fr);gap:48px;align-items:center}.hub .hub-display{margin:0;font-family:var(--lb-font-display);font-size:clamp(2.4rem, 1.1rem + 3.2vw, 3.25rem);font-weight:400;line-height:1.04;letter-spacing:-0.032em;color:var(--lb-text-primary)}.hub-display__accent{display:block;color:var(--lb-text-muted)}.hub .hub-lede{max-width:36rem;margin:22px 0 0;font-size:clamp(1.02rem, 0.98rem + 0.2vw, 1.125rem);line-height:1.6;color:var(--lb-text-secondary)}.hub-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.hub .hub-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border:1px solid transparent;border-radius:10px;font-size:14.5px;font-weight:500;transition:background-color var(--lb-duration-fast) var(--lb-ease),\n border-color var(--lb-duration-fast) var(--lb-ease)}.hub .hub-btn .hub-icon{transition:transform var(--lb-duration-fast) var(--lb-ease)}.hub .hub-btn:hover .hub-icon{transform:translateX(2px)}.hub .hub-btn--primary{background:var(--lb-primary-main);color:var(--lb-primary-contrast-text)}.hub .hub-btn--primary:hover{background:var(--lb-primary-dark)}.hub .hub-btn--ghost{border-color:var(--lb-border-main);color:var(--lb-text-primary)}.hub .hub-btn--ghost:hover{border-color:var(--lb-border-dark);background:var(--lb-action-hover)}.hub-hero__copy{position:relative;z-index:20}.hub-hero__setup{display:flex;margin-top:14px}.hub-agents{position:relative;display:inline-flex;flex-direction:column;align-items:flex-start}.hub-agents__trigger{display:inline-flex;align-items:center;gap:10px;margin-left:-12px;padding:6px 12px;border:0;border-radius:10px;background:transparent;color:var(--lb-text-secondary);font:inherit;font-size:15px;line-height:24px;cursor:pointer;transition:background-color var(--lb-duration-fast) var(--lb-ease),\n color var(--lb-duration-fast) var(--lb-ease)}.hub-agents__trigger:hover,.hub-agents__trigger[aria-expanded=\"true\"]{background:var(--lb-action-hover);color:var(--lb-text-primary)}.hub-agents__marks{display:inline-flex;align-items:center;gap:6px;color:var(--lb-text-muted)}.hub-agents__chevron{display:inline-flex;transition:transform var(--lb-duration-base) var(--lb-ease)}.hub-agents__chevron.is-open{transform:rotate(180deg)}.hub-agents__panel{position:absolute;top:calc(100% + 8px);left:-12px;z-index:30;width:min(40rem, calc(100vw - 2rem));padding:12px;border:1px solid var(--lb-border-main);border-radius:16px;background:var(--lb-bg-paper);box-shadow:var(--lb-shadow-lg);animation:hub-rise var(--lb-duration-base) var(--lb-ease) both}.hub-agents__tabs{display:flex;gap:4px}.hub-agents__tab{padding:6px 12px;border:0;border-radius:10px;background:transparent;color:var(--lb-text-secondary);font:inherit;font-size:14px;line-height:20px;cursor:pointer;transition:background-color var(--lb-duration-fast) var(--lb-ease),\n color var(--lb-duration-fast) var(--lb-ease)}.hub-agents__tab:hover{background:var(--lb-action-hover);color:var(--lb-text-primary)}.hub-agents__tab.is-active{background:var(--lb-action-selected);color:var(--lb-text-primary)}.hub-agents__code{position:relative;margin-top:12px;overflow:hidden;border:1px solid var(--lb-border-main);border-radius:10px;background:var(--lb-bg-default)}.hub .hub-agents__pre{max-height:16rem;margin:0;padding:16px 48px 32px 16px;overflow:auto;background:transparent;color:var(--lb-text-primary);font-family:var(--lb-font-mono);font-size:12.5px;line-height:20px;white-space:pre-wrap;overflow-wrap:anywhere}.hub-agents__fade{position:absolute;right:0;bottom:0;left:0;height:40px;background:linear-gradient(to top, var(--lb-bg-default), transparent);pointer-events:none}.hub-agents__copy{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:10px;background:var(--lb-bg-default);color:var(--lb-text-secondary);cursor:pointer;transition:background-color var(--lb-duration-fast) var(--lb-ease),\n color var(--lb-duration-fast) var(--lb-ease)}.hub-agents__copy:hover{background:var(--lb-action-hover);color:var(--lb-text-primary)}.hub .hub-agents__hint{margin:10px 0 0;padding:0 4px;color:var(--lb-text-muted);font-size:14px;line-height:20px}.hub-agents__guide{margin-left:6px;color:var(--lb-primary-main);font-weight:500;text-decoration:none}.hub-agents__guide:hover{text-decoration:underline}@keyframes hub-rise{from{opacity:0;transform:translateY(6px)}}.hub-hero__stage{min-width:0;padding:6px;border:1px solid var(--lb-divider);border-radius:18px;background:var(--lb-bg-paper)}.hub-console{--hub-console-canvas: var(--lb-bg-default);--hub-console-surface: var(--lb-bg-light);position:relative;width:100%;overflow:hidden;border-radius:12px;background:var(--hub-console-canvas);color:var(--lb-text-primary);font-family:var(--lb-font-sans);user-select:none}.dark .hub-console{--hub-console-surface: var(--lb-bg-paper)}.hub-console .hue-violet{--hue: var(--lb-tag-violet)}.hub-console .hue-teal{--hue: var(--lb-tag-teal)}.hub-console .hue-terracotta{--hue: var(--lb-tag-terracotta)}.hub-console .hue-sky{--hue: var(--lb-info-main)}.hub-console .hue-green{--hue: var(--lb-success-main)}.hub-console .hue-amber{--hue: var(--lb-warning-main)}.hub-console .hue-crimson{--hue: var(--lb-error-main)}.hub-console .hue-slate{--hue: var(--lb-text-muted)}.hc-stage{position:absolute;top:0;left:0;display:grid;grid-template-columns:188px minmax(0, 1fr);transform-origin:0 0;font-size:12.5px;line-height:1.35}.hc-nav{display:flex;flex-direction:column;min-height:0;padding:12px 10px;border-right:1px solid var(--lb-divider);color:var(--lb-text-secondary)}.hc-brand{display:flex;align-items:center;gap:10px;padding:2px 6px 14px;color:var(--lb-text-muted)}.hc-brand__mark{color:var(--lb-text-primary)}.hc-brand__text{display:flex;flex:1;flex-direction:column;min-width:0}.hc-brand__text b{font-size:13px;font-weight:600;color:var(--lb-text-primary)}.hc-brand__text small{font-size:10.5px;color:var(--lb-text-muted)}.hc-nav__list,.hc-nav__foot{display:flex;flex-direction:column;gap:2px}.hc-nav__foot{margin-top:auto;padding-top:10px;border-top:1px solid var(--lb-divider)}.hc-nav__item{display:flex;align-items:center;gap:10px;height:30px;padding:0 8px;border-radius:7px;font-size:13px;white-space:nowrap}.hc-nav__item>span{flex:1}.hc-nav__item.is-sub{margin-left:12px}.hc-nav__item.is-active{background:var(--lb-action-selected);color:var(--lb-text-primary)}.hc-nav__item--small{height:26px;font-size:11.5px;color:var(--lb-text-muted)}.hc-main{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;padding:10px 14px 14px}.hc-header{display:flex;flex:none;align-items:center;gap:10px;height:40px}.hc-sqbtn{display:grid;flex:none;place-items:center;width:26px;height:26px;border:1px solid var(--lb-border-main);border-radius:7px;color:var(--lb-text-secondary)}.hc-sqbtn--sm{width:20px;height:20px;border-radius:5px}.hc-sqbtn--on{border-color:var(--lb-primary-main);color:var(--lb-primary-main)}.hc-title{font-size:14px;font-weight:600;white-space:nowrap}.hc-state{display:inline-flex;align-items:center;gap:6px;color:var(--hue);font-size:12.5px;font-weight:500;white-space:nowrap}.hc-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--hue, currentColor)}.hc-dot.is-live{animation:hc-pulse 1.2s ease-in-out infinite}.hc-id{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--lb-text-muted);font-family:var(--lb-font-mono);font-size:11.5px}.hc-metrics{display:flex;gap:22px;margin-left:auto}.hc-metric{display:flex;flex-direction:column;gap:1px;white-space:nowrap}.hc-metric small{color:var(--lb-text-muted);font-size:9.5px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase}.hc-metric b{font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums}.hc-more{color:var(--lb-text-muted)}.hc-btn{display:inline-flex;flex:none;align-items:center;justify-content:center;height:30px;padding:0 12px;border:1px solid var(--lb-border-main);border-radius:8px;background:var(--hub-console-surface);font-size:12.5px;font-weight:600;white-space:nowrap}.hc-toolbar{display:flex;flex:none;align-items:center;gap:8px;height:28px}.hc-find{display:inline-flex;align-items:center;gap:8px;width:176px;height:26px;padding:0 12px;border:1px solid var(--lb-border-main);border-radius:999px;color:var(--lb-text-muted);font-size:12px}.hc-spacer{flex:1}.hc-select{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 8px 0 10px;border:1px solid var(--lb-border-main);border-radius:7px;color:var(--lb-text-secondary);font-size:12px}.hc-zoom{display:inline-flex;gap:10px;padding:0 6px;color:var(--lb-text-secondary);font-size:11.5px;font-variant-numeric:tabular-nums}.hc-zoom i{font-style:normal;color:var(--lb-text-muted)}.hc-card{border:1px solid var(--lb-border-main);border-radius:8px;background:var(--hub-console-surface)}.hc-strip{position:relative;display:flex;flex:none;flex-direction:column;gap:6px;padding:28px 14px 18px}.hc-lane{position:relative;height:18px;border:1px solid var(--lb-divider);border-radius:999px;background:var(--lb-bg-default)}.hc-mark{position:absolute;top:3px;bottom:3px;width:3px;margin-left:-1px;border-radius:2px;background:var(--hue)}.hc-mark.is-span{margin-left:0;border-radius:3px;background:color-mix(in srgb, var(--hue) 72%, transparent)}.hc-lane__pill{position:absolute;z-index:1;top:50%;margin-left:2px;padding:1px 8px;transform:translateY(-50%);border:1px solid color-mix(in srgb, var(--hue) 55%, transparent);border-radius:999px;background:color-mix(in srgb, var(--hue) 30%, var(--hub-console-surface));color:var(--lb-text-primary);font-size:10.5px;font-weight:600;white-space:nowrap}.hc-lane__pill.is-idle{opacity:0.35}.hc-lane__end{position:absolute;top:1px;bottom:1px;width:10px;margin-left:-10px;border:1.5px solid var(--lb-text-muted);border-radius:5px}.hc-playhead{position:absolute;z-index:2;top:10px;bottom:12px;width:1px;background:var(--lb-primary-main)}.hc-playhead__time{position:absolute;top:-4px;left:50%;padding:1px 6px;transform:translateX(-50%);border:1px solid var(--lb-border-main);border-radius:4px;background:var(--lb-bg-light);font-family:var(--lb-font-mono);font-size:10px;white-space:nowrap}.hc-body{display:grid;flex:1;grid-template-columns:minmax(0, 1fr) 272px;gap:12px;min-height:0}.hc-left{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0}.hc-outcome{display:flex;flex:none;align-items:center;gap:10px;height:36px;padding:0 12px;white-space:nowrap}.hc-outcome b{font-weight:600}.hc-objective{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--lb-text-secondary)}.hc-details{color:var(--lb-text-secondary);font-size:12px;font-weight:600}.hc-transcript{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.hc-feed{display:flex;flex:1;flex-direction:column;justify-content:flex-end;gap:6px;min-height:0;padding:10px 12px;overflow:hidden;mask-image:linear-gradient(to bottom, transparent, black 64px)}.hc-row{flex:none;animation:hc-in 420ms var(--lb-ease) both}.hc-tool{display:flex;align-items:center;gap:8px;min-width:0;height:30px;padding:0 10px;border:1px solid var(--lb-divider);border-radius:6px;color:var(--lb-text-muted);white-space:nowrap}.hc-tool b{color:var(--lb-text-primary);font-family:var(--lb-font-mono);font-size:12px;font-weight:600}.hc-arg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--lb-text-secondary);font-family:var(--lb-font-mono);font-size:11.5px}.hc-ms{color:var(--lb-text-muted);font-family:var(--lb-font-mono);font-size:11px}.hc-thread{padding:1px 7px;border-radius:999px;background:color-mix(in srgb, var(--hue) 30%, var(--hub-console-surface));color:var(--lb-text-primary);font-size:10.5px;font-weight:600}.hc-chip{padding:2px 7px;border-radius:4px;background:var(--lb-action-selected);color:var(--lb-text-secondary);font-size:10.5px;font-weight:600}.hc-msg{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--lb-divider);border-radius:6px;line-height:1.45}.hc-msg>span{flex:1}.hc-msg>svg{color:var(--lb-text-muted)}.hc-msg.is-user{flex-direction:column;align-items:flex-start;gap:2px;border-color:color-mix(in srgb, var(--lb-info-main) 35%, transparent);background:color-mix(in srgb, var(--lb-info-main) 8%, transparent)}.hc-msg small{color:var(--lb-info-main);font-size:10.5px;font-weight:600}.hc-statusline{display:flex;align-items:center;justify-content:center;gap:6px;height:22px;color:var(--lb-text-secondary);font-size:11px;font-weight:500}.hc-composer{flex:none;padding:10px 12px 12px;border-top:1px solid var(--lb-divider)}.hc-input{height:44px;padding:9px 11px;border:1px solid var(--lb-border-main);border-radius:6px;background:var(--lb-bg-default);color:var(--lb-text-muted)}.hc-composer__foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;color:var(--lb-text-muted);font-size:11px}.hc-send{padding:5px 14px;border-radius:6px;background:color-mix(in srgb, var(--lb-primary-main) 30%, var(--hub-console-surface));color:var(--lb-text-secondary);font-size:12px;font-weight:600}.hc-rail{display:flex;flex-direction:column;min-height:0;overflow:hidden}.hc-tabs{display:flex;flex:none;gap:14px;padding:0 12px;border-bottom:1px solid var(--lb-divider)}.hc-tabs span{margin-bottom:-1px;padding:9px 0 8px;border-bottom:2px solid transparent;color:var(--lb-text-muted);font-size:12px;font-weight:500}.hc-tabs .is-active{border-bottom-color:var(--lb-primary-main);color:var(--lb-primary-main)}.hc-sect{flex:none;padding:10px 12px 12px;border-bottom:1px solid var(--lb-divider)}.hc-sect--last{border-bottom:0}.hc-sect__title{margin-bottom:6px;font-size:12.5px;font-weight:600;color:var(--lb-text-primary)}.hub-console .hc-note{margin:0 0 6px;color:var(--lb-text-secondary);font-size:12px;line-height:1.4}.hc-kv{display:grid;grid-template-columns:104px minmax(0, 1fr);gap:8px;padding:3px 0;font-size:12px}.hc-kv span{color:var(--lb-text-secondary)}.hc-kv b{font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.hc-kv--title{grid-template-columns:minmax(0, 1fr) auto}.hc-kv--title .hc-sect__title{margin:0;color:var(--lb-text-primary)}.hc-spark{display:block;width:100%;height:44px;margin-top:6px}.hc-spark__area{fill:color-mix(in srgb, var(--lb-primary-main) 18%, transparent)}.hc-spark__line{fill:none;stroke:var(--lb-primary-main);stroke-width:1.5;vector-effect:non-scaling-stroke}.hc-stage.is-compact{grid-template-columns:minmax(0, 1fr)}.hc-stage.is-compact .hc-nav,.hc-stage.is-compact .hc-metric--model,.hc-stage:is(.is-medium,.is-compact) .hc-rail,.hc-stage:is(.is-medium,.is-compact) .hc-id,.hc-stage:is(.is-medium,.is-compact) .hc-sqbtn--sm,.hc-stage:is(.is-medium,.is-compact) .hc-more{display:none}.hc-stage:is(.is-medium,.is-compact) .hc-body{grid-template-columns:minmax(0, 1fr)}.hc-stage:is(.is-medium,.is-compact) .hc-sqbtn--on{border-color:var(--lb-border-main);color:var(--lb-text-secondary)}@keyframes hc-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes hc-pulse{50%{opacity:0.35}}.hub-section{padding:clamp(56px, 7vw, 104px) 0 0}.hub-section__head{max-width:40rem;margin-bottom:clamp(24px, 3vw, 36px)}.hub .hub-h2{margin:0;font-family:var(--lb-font-display);font-size:clamp(1.75rem, 1.25rem + 1.3vw, 2.4rem);font-weight:400;line-height:1.1;letter-spacing:-0.022em;color:var(--lb-text-primary);text-wrap:balance}.hub .hub-h2--spaced{margin:clamp(40px, 5vw, 64px) 0 20px;font-size:clamp(1.4rem, 1.15rem + 0.7vw, 1.75rem)}.hub .hub-section__desc{max-width:36rem;margin:12px 0 0;font-size:1.0625rem;line-height:1.6;color:var(--lb-text-secondary)}.hub-paths{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:1px;overflow:hidden;border:1px solid var(--lb-divider);border-radius:14px;background:var(--lb-divider)}.hub .hub-path{display:flex;flex-direction:column;min-height:208px;padding:24px;background:var(--lb-bg-light);color:var(--lb-text-primary);transition:background-color var(--lb-duration-fast) var(--lb-ease)}.hub .hub-path:hover{background:color-mix(in srgb, var(--lb-action-hover) 60%, var(--lb-bg-light))}.hub-path__icon{color:var(--lb-text-secondary)}.hub-path__title{margin-top:28px;font-size:15.5px;font-weight:600;letter-spacing:-0.005em}.hub-path__desc{flex:1;margin-top:6px;font-size:14px;line-height:1.55;color:var(--lb-text-secondary)}.hub-path__cta{display:inline-flex;align-items:center;gap:6px;margin-top:20px;font-size:13.5px;font-weight:500;color:var(--lb-primary-main)}.hub-path__cta .hub-icon{transition:transform var(--lb-duration-fast) var(--lb-ease)}.hub .hub-path:hover .hub-path__cta .hub-icon{transform:translateX(3px)}.hub-split{display:grid;grid-template-columns:minmax(0, 0.82fr) minmax(0, 1.18fr);gap:clamp(28px, 5vw, 72px);align-items:center}.hub-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:26px}.hub .hub-link{display:inline-flex;align-items:center;gap:6px;color:var(--lb-primary-main);font-size:14.5px;font-weight:500}.hub .hub-link .hub-icon{transition:transform var(--lb-duration-fast) var(--lb-ease)}.hub .hub-link:hover .hub-icon{transform:translateX(3px)}html .hub-split__code .code-group{margin:0;box-shadow:none}.hub-caps{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));column-gap:32px}.hub .hub-cap{display:flex;gap:12px;padding:18px 0 20px;border-top:1px solid var(--lb-divider);color:var(--lb-text-primary)}.hub-cap__icon{margin-top:2px;color:var(--lb-text-muted);transition:color var(--lb-duration-fast) var(--lb-ease)}.hub .hub-cap:hover .hub-cap__icon,.hub .hub-cap:hover .hub-cap__title{color:var(--lb-primary-main)}.hub-cap__title,.hub-band__title{display:flex;align-items:center;gap:6px;font-size:14.5px;font-weight:600;transition:color var(--lb-duration-fast) var(--lb-ease)}.hub-cap__text,.hub-band__text{display:block;margin-top:3px;font-size:13.5px;line-height:1.45;color:var(--lb-text-secondary)}.hub-band{display:grid;grid-template-columns:minmax(0, 0.9fr) minmax(0, 1.1fr);gap:clamp(28px, 5vw, 72px);padding:clamp(28px, 4vw, 52px);border:1px solid var(--lb-border-main);border-radius:18px;background:var(--lb-panel);color:var(--lb-text-primary)}.hub-band__copy{align-self:center}.hub-band__links{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));column-gap:28px}.hub .hub-band__link{display:block;padding:16px 0 18px;border-top:1px solid var(--lb-divider);color:var(--lb-text-primary)}.hub-band__title .hub-icon{color:var(--lb-text-muted);transition:transform var(--lb-duration-fast) var(--lb-ease)}.hub .hub-band__link:hover .hub-band__title{color:var(--lb-primary-main)}.hub .hub-band__link:hover .hub-band__title .hub-icon{transform:translateX(2px);color:var(--lb-primary-main)}.hub-foot{margin-top:clamp(64px, 8vw, 112px);padding:28px 0 44px;border-top:1px solid var(--lb-divider)}.hub-foot__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.hub-foot__brand{display:inline-flex;align-items:center;gap:8px;color:var(--lb-text-primary);font-size:14px;font-weight:600}.hub-foot__links{display:flex;flex-wrap:wrap;gap:8px 22px}.hub .hub-foot__links a{font-size:14px;color:var(--lb-text-secondary);transition:color var(--lb-duration-fast) var(--lb-ease)}.hub .hub-foot__links a:hover{color:var(--lb-text-primary)}.hub--embedded{margin-top:8px}.hub--embedded .hub-paths{grid-template-columns:repeat(3, minmax(0, 1fr))}.hub--embedded .hub-path{min-height:196px;background:var(--lb-panel)}.hub--embedded .hub-split{margin-top:clamp(40px, 5vw, 64px);padding:clamp(24px, 3vw, 36px);border:1px solid var(--lb-divider);border-radius:14px}.hub--embedded .hub-caps{grid-template-columns:repeat(3, minmax(0, 1fr))}@media (max-width: 1180px){.hub-hero__grid{grid-template-columns:minmax(0, 1fr);gap:clamp(40px, 6vw, 56px)}.hub-hero__copy{max-width:40rem}}@media (max-width: 1100px){.hub-paths{grid-template-columns:repeat(2, minmax(0, 1fr))}.hub-caps{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media (max-width: 1023px){.hub-split,.hub-band{grid-template-columns:minmax(0, 1fr)}}@media (max-width: 640px){.hub-paths,.hub--embedded .hub-paths,.hub-band__links{grid-template-columns:minmax(0, 1fr)}.hub-caps,.hub--embedded .hub-caps{grid-template-columns:repeat(2, minmax(0, 1fr))}.hub .hub-path,.hub--embedded .hub-path{min-height:0}.hub-path__title{margin-top:18px}.hub-hero__stage{padding:4px;border-radius:14px}}@media (prefers-reduced-motion: reduce){.hc-row,.hc-dot.is-live,.hub-agents__panel{animation:none}}"}],"page":{"pagePath":"horizon/guides/create-a-model-run","slug":"/horizon/guides/create-a-model-run","pageMetadata":{"title":"Create a model run","public":true,"hidden":true,"description":null,"href":"/horizon/guides/create-a-model-run","hiddenSetByFrontmatter":true},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Card,CodeBlock,Column,Columns,Heading,Tip}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Column)_missingMdxReference(`Column`,true);if(!Columns)_missingMdxReference(`Columns`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`This guide will walk you through the process of creating your first model run in Labelbox. By the end of this tutorial, you will have a new model run configured with your model’s predictions, ready for analysis.`}),`\n`,_jsx(Heading,{level:`2`,id:`before-you-start`,children:`Before you start`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Import data rows`}),`: You’ll need to have a set of data rows to upload the predictions on. If you do not already have a set of data rows in Labelbox, you’ll need to import that data first.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Create an ontology`}),`: In order to create a model run, you’ll need to specify the ontology (also called taxonomy) that corresponds to the set of predictions. You may want to re-use an ontology that already exists in Labelbox (e.g., an ontology already used for a labeling project). Or, you may want to use an ontology for your model predictions that does not exist in Labelbox yet. In the latter case, you’ll need to create an ontology.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`step-1-create-an-experiment-and-your-first-model-run`,children:`Step 1: Create an experiment and your first model run`}),`\n`,_jsxs(_components.p,{children:[`An `,_jsx(_components.strong,{children:`experiment`}),` is the top-level container for a specific modeling task (e.g., “Detecting Defects in Solar Panels”). Within that experiment, each training iteration is tracked as a `,_jsx(_components.strong,{children:`model run`}),`. A model run holds a specific set of predictions and the model configuration used to generate them.`]}),`\n`,_jsx(_components.p,{children:`You have two primary ways to create an experiment:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Option A: Start from Catalog`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Go to the `,_jsx(_components.strong,{children:`Catalog`}),` tab.`]}),`\n`,_jsx(_components.li,{children:`Use the filters to select the dataset or a subset of data rows you want to use for this experiment.`}),`\n`,_jsxs(_components.li,{children:[`Click the `,_jsx(_components.strong,{children:`Manage selection`}),` button at the bottom of the screen.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`New experiment`}),` from the action menu.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Option B: Start from the Model tab`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Navigate to the `,_jsx(_components.strong,{children:`Model`}),` tab.`]}),`\n`,_jsxs(_components.li,{children:[`Click the `,_jsx(_components.strong,{children:`+ Create`}),` button in the top right and select `,_jsx(_components.strong,{children:`Experiment`}),`.`]}),`\n`,_jsx(_components.li,{children:`Select the batch of data rows you wish to include in this experiment.`}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Once you create the experiment, you will be immediately prompted to configure its first model run. Give your model run a descriptive name that will help you identify it later, such as `,_jsx(_components.code,{children:`YOLOv8-baseline-v1`}),` or `,_jsx(_components.code,{children:`ResNet50-initial-training`}),`. Then, specify the ontology to use for the model run.`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`If you are iterating multiple model experiments on a machine learning task, the best practice is to put your model runs under the same experiment. This allows you to visualize and compare the performance of the different model runs.`})}),`\n`,_jsx(_components.p,{children:`Next, you will see several optional but highly recommended steps for configuring your model run. While you can adjust these settings at any time, configuring them now will significantly streamline your analysis workflow.`}),`\n`,_jsx(Heading,{level:`3`,id:`optional-step-include-ground-truth-labels`,children:`Optional step: Include ground truth labels`}),`\n`,_jsx(_components.p,{children:`To automatically calculate performance metrics like precision, recall, and IoU, Labelbox needs to compare your model’s predictions against a “source of truth”. This step allows you to link your model run to a Labelbox Project that contains your ground truth annotations.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Why this is important:`}),` Without ground truth, you can visualize your model’s predictions, but you cannot quantitatively score its performance or identify where it is correct or incorrect.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`How to do it:`}),` Simply select the project containing the relevant, reviewed labels from the dropdown menu. If you don’t have labeled data yet or if it resides in a different project, you can skip this for now and link it later from the model run settings.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`optional-step-include-existing-model-predictions`,children:`Optional step: Include existing model predictions`}),`\n`,_jsx(_components.p,{children:`If you have already generated a set of predictions from your model, you can associate them with this run immediately.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Why this is important:`}),` This step populates your model run with your model’s output, making it ready for analysis as soon as you finish the setup.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`How to do it:`}),` The primary method for uploading predictions is via our Python SDK. In this initial setup screen, you can select an existing upload or choose to upload them in the next step. The detailed, step-by-step guide for generating and uploading this payload is covered in the next section of this tutorial.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`optional-step-define-data-splits`,children:`Optional step: Define data splits`}),`\n`,_jsxs(_components.p,{children:[`A fundamental practice in machine learning is to segment your data into `,_jsx(_components.code,{children:`Training`}),`, `,_jsx(_components.code,{children:`Validation`}),`, and `,_jsx(_components.code,{children:`Test`}),` sets. This helps you evaluate your model’s ability to generalize to new, unseen data.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Why this is important:`}),` Creating splits allows you to analyze your model’s performance on your validation or test data separately from the data it was trained on. This is critical for diagnosing overfitting and ensuring your model will perform well in the real world.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`How to do it:`}),` You have two flexible options for creating splits:`,`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Split by percentage:`}),` Easily divide your data by specifying a percentage for each split (e.g., 80% training, 10% validation, 10% test). Labelbox will handle the random assignment of data rows.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Use existing slices:`}),` For more control, you can assign pre-existing Slices to your splits. This is useful if you have specific, curated datasets you want to use for validation or testing.`]}),`\n`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`After completing these optional steps, click `,_jsx(_components.strong,{children:`Create model run`}),`. You have now created a fully configured structure for your experiment. The next step is to populate it with your model’s outputs.`]}),`\n`,_jsx(Heading,{level:`2`,id:`step-2-upload-predictions-to-the-model-run`,children:`Step 2: Upload predictions to the model run`}),`\n`,_jsx(_components.p,{children:`This is the most critical step. Here, you will upload your model’s predictions to the model run you just created. This allows Labelbox to visualize your model’s outputs against the ground truth labels and calculate performance metrics.`}),`\n`,_jsx(_components.p,{children:`The most powerful and flexible way to upload predictions is by using our Python SDK.`}),`\n`,_jsx(Heading,{level:`3`,id:`conceptual-overview`,children:`Conceptual overview`}),`\n`,_jsxs(_components.p,{children:[`The process involves formatting your predictions into a specific structure that Labelbox can understand and then using an SDK command to upload them. Each prediction must be linked to a specific `,_jsx(_components.code,{children:`Data Row ID`}),` to ensure it is matched with the correct source media (image, text, or video).`]}),`\n`,_jsx(_components.p,{children:`Your predictions can be simple (e.g., a bounding box and a class name) or they can include optional information like confidence scores, which unlock more powerful analysis like building precision-recall curves.`}),`\n`,_jsx(Heading,{level:`3`,id:`step-by-step-guides`,children:`Step-by-step guides`}),`\n`,_jsx(_components.p,{children:`For detailed instructions and code examples for uploading predictions to your model via the Python SDK, please visit these pages:`}),`\n`,_jsxs(Columns,{cols:2,children:[_jsxs(Column,{children:[_jsx(Card,{title:`Upload image predictions`,icon:`sparkles`,horizontal:true,href:`/horizon/developer-guides/upload-image-predictions`}),_jsx(Card,{title:`Upload text predictions`,icon:`sparkles`,horizontal:true,href:`/horizon/developer-guides/upload-text-predictions`}),_jsx(Card,{title:`Upload document predictions`,icon:`sparkles`,horizontal:true,href:`/horizon/developer-guides/upload-document-prediction`}),_jsx(Card,{title:`Upload conversational text predictions`,icon:`sparkles`,horizontal:true,href:`/horizon/developer-guides/upload-conversational-text-predictions`})]}),_jsxs(Column,{children:[_jsx(Card,{title:`Upload video predictions`,icon:`sparkles`,horizontal:true,href:`/horizon/developer-guides/upload-video-predictions`}),_jsx(Card,{title:`Upload geospatial predictions`,icon:`sparkles`,horizontal:true,href:`/horizon/developer-guides/upload-geospatial-predictions`}),_jsx(Card,{title:`Upload HTML predictions`,icon:`sparkles`,horizontal:true,href:`/horizon/developer-guides/upload-html-predictions`})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`step-3-update-your-model-run-config-file`,children:`Step 3: Update your model run config file`}),`\n`,_jsx(_components.p,{children:`For your experiments to be scientific and reproducible, you must keep track of what changed between each model run. Labelbox allows you to store a configuration file (as JSON) with every run. This is the perfect place to log hyperparameters, model versions, or data preprocessing steps.`}),`\n`,_jsx(_components.p,{children:`Steps to edit the model run’s configuration file:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Go to your `,_jsx(_components.strong,{children:`Model Run`}),` page.`]}),`\n`,_jsxs(_components.li,{children:[`Click the Settings icon and select `,_jsx(_components.strong,{children:`Model run config`}),`.`]}),`\n`,_jsx(_components.li,{children:`Edit the JSON file to include the hyperparameters for this model run.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Example configuration:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes css-variables css-variables`,style:{backgroundColor:`var(--mint-background)`,\"--shiki-dark-bg\":`var(--mint-background)`,color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` \"model_architecture\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-punctuation, #171717)`,\"--shiki-dark\":`var(--mint-token-punctuation, #171717)`},children:`:`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"YOLOv8-large\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-punctuation, #171717)`,\"--shiki-dark\":`var(--mint-token-punctuation, #171717)`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` \"training_epochs\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-punctuation, #171717)`,\"--shiki-dark\":`var(--mint-token-punctuation, #171717)`},children:`:`}),_jsx(_components.span,{style:{color:`var(--mint-token-constant, #171717)`,\"--shiki-dark\":`var(--mint-token-constant, #171717)`},children:` 150`}),_jsx(_components.span,{style:{color:`var(--mint-token-punctuation, #171717)`,\"--shiki-dark\":`var(--mint-token-punctuation, #171717)`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` \"learning_rate\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-punctuation, #171717)`,\"--shiki-dark\":`var(--mint-token-punctuation, #171717)`},children:`:`}),_jsx(_components.span,{style:{color:`var(--mint-token-constant, #171717)`,\"--shiki-dark\":`var(--mint-token-constant, #171717)`},children:` 0.001`}),_jsx(_components.span,{style:{color:`var(--mint-token-punctuation, #171717)`,\"--shiki-dark\":`var(--mint-token-punctuation, #171717)`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` \"optimizer\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-punctuation, #171717)`,\"--shiki-dark\":`var(--mint-token-punctuation, #171717)`},children:`:`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"Adam\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-punctuation, #171717)`,\"--shiki-dark\":`var(--mint-token-punctuation, #171717)`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` \"image_size\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-punctuation, #171717)`,\"--shiki-dark\":`var(--mint-token-punctuation, #171717)`},children:`:`}),_jsx(_components.span,{style:{color:`var(--mint-token-string-expression, #297a3a)`,\"--shiki-dark\":`var(--mint-token-string-expression, #297a3a)`},children:` \"640x640\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-punctuation, #171717)`,\"--shiki-dark\":`var(--mint-token-punctuation, #171717)`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` \"data_augmentation\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-punctuation, #171717)`,\"--shiki-dark\":`var(--mint-token-punctuation, #171717)`},children:`:`}),_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` \"horizontal_flip\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-punctuation, #171717)`,\"--shiki-dark\":`var(--mint-token-punctuation, #171717)`},children:`:`}),_jsx(_components.span,{style:{color:`var(--mint-token-constant, #171717)`,\"--shiki-dark\":`var(--mint-token-constant, #171717)`},children:` true`}),_jsx(_components.span,{style:{color:`var(--mint-token-punctuation, #171717)`,\"--shiki-dark\":`var(--mint-token-punctuation, #171717)`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`var(--mint-token-keyword, #bd2864)`,\"--shiki-dark\":`var(--mint-token-keyword, #bd2864)`},children:` \"rotation_range\"`}),_jsx(_components.span,{style:{color:`var(--mint-token-punctuation, #171717)`,\"--shiki-dark\":`var(--mint-token-punctuation, #171717)`},children:`:`}),_jsx(_components.span,{style:{color:`var(--mint-token-constant, #171717)`,\"--shiki-dark\":`var(--mint-token-constant, #171717)`},children:` 15`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`var(--mint-foreground)`,\"--shiki-dark\":`var(--mint-foreground)`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Congratulations!`}),` You have successfully created and configured your first Model Run. You are now ready to dive into the analysis tools to see what your model has learned.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":"css-variables"},"config":{},"pageMetadata":{"title":"Create a model run","public":true,"hidden":true,"description":null,"href":"/horizon/guides/create-a-model-run","hiddenSetByFrontmatter":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Before you start","slug":"before-you-start","depth":2,"children":[]},{"title":"Step 1: Create an experiment and your first model run","slug":"step-1-create-an-experiment-and-your-first-model-run","depth":2,"children":[{"title":"Optional step: Include ground truth labels","slug":"optional-step-include-ground-truth-labels","depth":3,"children":[]},{"title":"Optional step: Include existing model predictions","slug":"optional-step-include-existing-model-predictions","depth":3,"children":[]},{"title":"Optional step: Define data splits","slug":"optional-step-define-data-splits","depth":3,"children":[]}]},{"title":"Step 2: Upload predictions to the model run","slug":"step-2-upload-predictions-to-the-model-run","depth":2,"children":[{"title":"Conceptual overview","slug":"conceptual-overview","depth":3,"children":[]},{"title":"Step-by-step guides","slug":"step-by-step-guides","depth":3,"children":[]}]},{"title":"Step 3: Update your model run config file","slug":"step-3-update-your-model-run-config-file","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/labelbox-1db23ff4/9ed4bd14b1b0eec8/navbar.js"],"subdomain":"labelbox-1db23ff4","siteName":"Labelbox","title":"Create a model run - Labelbox","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T06:49:09.573Z","originalFileLocation":"horizon/guides/create-a-model-run.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Labelbox\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"noindex\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a model run - Labelbox\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Labelbox\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.labelbox.com/horizon/guides/create-a-model-run\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://labelbox-1db23ff4.mintlify.site/_mintlify/api/og/v2?division=Model+evaluation\u0026amp;title=Create+a+model+run\u0026amp;theme=b1d44b9999769e15b161dbaa\u0026amp;signature=884adafe2c1d9db3be30b811f46844b810217290325f2b934fa22e9c645f2725\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a model run - Labelbox\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://labelbox-1db23ff4.mintlify.site/_mintlify/api/og/v2?division=Model+evaluation\u0026amp;title=Create+a+model+run\u0026amp;theme=b1d44b9999769e15b161dbaa\u0026amp;signature=884adafe2c1d9db3be30b811f46844b810217290325f2b934fa22e9c645f2725\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Labelbox\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#36707F\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.labelbox.com/horizon/guides/create-a-model-run\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/horizon/guides/create-a-model-run.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.labelbox.com/#organization\",\"name\":\"Labelbox\",\"url\":\"https://docs.labelbox.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/labelbox-1db23ff4/badqlfNjN52ySAbU/logo/light.svg?fit=max\u0026auto=format\u0026n=badqlfNjN52ySAbU\u0026q=85\u0026s=2e7592619836dadfb7384597f9e48bec\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.labelbox.com#website\",\"name\":\"Labelbox\",\"url\":\"https://docs.labelbox.com\",\"publisher\":{\"@id\":\"https://docs.labelbox.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.labelbox.com/horizon/guides/create-a-model-run#webpage\",\"url\":\"https://docs.labelbox.com/horizon/guides/create-a-model-run\",\"name\":\"Create a model run\",\"dateModified\":\"2026-11-12T06:49:09.573Z\",\"isPartOf\":{\"@id\":\"https://docs.labelbox.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.labelbox.com/horizon/guides/create-a-model-run#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.labelbox.com/horizon/guides/create-a-model-run#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Manage models\",\"item\":\"https://docs.labelbox.com/horizon/guides/model-evaluation-overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Model evaluation\",\"item\":\"https://docs.labelbox.com/horizon/guides/model-evaluation-overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create a model run\",\"item\":\"https://docs.labelbox.com/horizon/guides/create-a-model-run\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.labelbox.com/horizon/guides/create-a-model-run#article\",\"headline\":\"Create a model run\",\"name\":\"Create a model run\",\"url\":\"https://docs.labelbox.com/horizon/guides/create-a-model-run\",\"mainEntityOfPage\":{\"@id\":\"https://docs.labelbox.com/horizon/guides/create-a-model-run#webpage\"},\"dateModified\":\"2026-11-12T06:49:09.573Z\",\"publisher\":{\"@id\":\"https://docs.labelbox.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.labelbox.com#website\"}}]}\u003c/script>","agentPointerHref":"/horizon/guides/create-a-model-run.md","siteName":"Labelbox","nav":{"global":null,"products":[{"product":"Recursion","icon":"https://mintlify.s3.us-west-1.amazonaws.com/labelbox-1db23ff4/images/recursion-mark.svg","description":"Managed agents that work in your apps, learn, and run on schedule","pages":[{"title":"Recursion","href":"/recursion"}]},{"product":"Horizon","icon":"https://mintlify.s3.us-west-1.amazonaws.com/labelbox-1db23ff4/images/labelbox-mark.svg","description":"RL environments, evals, labeling, and the Python SDK","tabs":[{"tab":"Guides","pages":[{"group":"Getting started","pages":[{"title":"Horizon","sidebarTitle":"Home","mode":"wide","href":"/horizon"},{"title":"Get started with Labelbox","sidebarTitle":"Overview","href":"/horizon/guides/overview"},{"title":"Key definitions","href":"/horizon/guides/key-definitions"},{"title":"Technical requirements \u0026 best practices","sidebarTitle":"Technical requirements","href":"/horizon/guides/technical-prerequisites"},{"title":"Customer support","href":"/horizon/guides/contacting-customer-support"},{"title":"Limits","href":"/horizon/guides/limits"}]},{"group":"Integrations","pages":[{"title":"Labelbox MCP server","sidebarTitle":"Labelbox MCP","href":"/horizon/guides/labelbox-mcp"}]},{"group":"Label data","pages":[{"title":"Overview","href":"/horizon/guides/annotate-overview"},{"group":"Project setup","pages":[{"title":"Project overview","sidebarTitle":"Overview","href":"/horizon/guides/what-is-a-project"},{"title":"Create a project","href":"/horizon/guides/create-a-project"},{"title":"Labeling instructions","href":"/horizon/guides/instructions-and-quizzes"},{"title":"Quiz","href":"/horizon/guides/quiz"},{"title":"Configure the labeling queue","sidebarTitle":"Labeling queue","href":"/horizon/guides/labeling-queue"},{"title":"Manage your project's data rows","sidebarTitle":"Manage data rows","href":"/horizon/guides/data-rows-activity"},{"title":"Workflows","href":"/horizon/guides/workflows"},{"title":"Performance dashboard","href":"/horizon/guides/performance-dashboard"},{"title":"Send project updates","sidebarTitle":"Project updates","href":"/horizon/guides/annotate-project-updates"},{"title":"Using issues to share feedback","sidebarTitle":"Create issues","href":"/horizon/guides/issues-comments"},{"title":"Create pre-labels with Foundry model-assisted labeling","sidebarTitle":"Model-assisted labeling","href":"/horizon/guides/foundry-model-assisted-labeling"}]},{"group":"Labeling editors","pages":[{"title":"Labeling editors","sidebarTitle":"Overview","href":"/horizon/guides/label-data"},{"title":"Images","href":"/horizon/guides/image-editor"},{"title":"Videos","href":"/horizon/guides/video-editor"},{"title":"Text","href":"/horizon/guides/text-editor"},{"title":"Geospatial / tiled imagery","sidebarTitle":"Geospatial / Tiled Imagery","href":"/horizon/guides/tiled-editor"},{"title":"Documents","href":"/horizon/guides/document-editor"},{"title":"Audio","href":"/horizon/guides/audio-editor"},{"title":"HTML","href":"/horizon/guides/html-editor"},{"title":"Conversational text","sidebarTitle":"Conversational Text","href":"/horizon/guides/conversational-editor"},{"title":"Prompt and response generation","sidebarTitle":"Prompt \u0026 Response Generation","href":"/horizon/guides/prompt-and-response-generation-editor"},{"title":"LLM human preference","sidebarTitle":"LLM Human Preference","href":"/horizon/guides/llm-human-preference-editor"},{"group":"Multimodal Chat Evaluation","pages":[{"title":"Multimodal chat evaluation","sidebarTitle":"Overview","href":"/horizon/guides/multimodal-chat-evaluation-editor"},{"title":"Live multimodal chat evaluation","sidebarTitle":"Live Multimodal Chat Evaluation","href":"/horizon/guides/live-multimodal-chat-evaluation"},{"title":"Offline multimodal chat evaluation","sidebarTitle":"Offline Multimodal Chat Evaluation","href":"/horizon/guides/offline-multimodal-chat-evaluation"}]}]},{"group":"Labeling services","pages":[{"title":"Requesting managed labeling services for your project","sidebarTitle":"Managed services","href":"/horizon/guides/managed-services"},{"title":"Alignerr","url":"https://intercom.help/alignerr/en/articles/9540511-what-is-alignerr","href":"/horizon/guides/alignerr"}]},{"group":"Quality tools","pages":[{"title":"Quality analysis","sidebarTitle":"Overview","href":"/horizon/guides/quality-analysis"},{"title":"AI critic","href":"/horizon/guides/ai-critic"},{"title":"Benchmark","href":"/horizon/guides/benchmark"},{"title":"Consensus","href":"/horizon/guides/consensus"}]},{"group":"External tools","pages":[{"title":"Hubstaff timer","href":"/horizon/guides/hubstaff-timer"},{"title":"Connect to Discord","href":"/horizon/guides/discord"},{"title":"Alignerr Connect extension","href":"/alignerr-connect-extension"}]}]},{"group":"Manage data","pages":[{"group":"Import data","pages":[{"title":"Import data","sidebarTitle":"Overview","href":"/horizon/guides/connect-to-cloud-storage"},{"group":"IAM Delegated Access","pages":[{"title":"Connect AWS S3 to Labelbox via IAM Delegated Access","sidebarTitle":"AWS S3","href":"/horizon/guides/import-aws-s3-data"},{"title":"Connect Azure Blob Storage to Labelbox via IAM Delegated Access","sidebarTitle":"Microsoft Azure Blob Storage","href":"/horizon/guides/microsoft-azure-blob-storage"},{"title":"Connect Google Cloud Storage to Labelbox via IAM Delegated Access","sidebarTitle":"Google Cloud Storage","href":"/horizon/guides/using-google-cloud-storage"},{"title":"Manage your cloud integrations","sidebarTitle":"Manage cloud integrations","href":"/horizon/guides/manage-cloud-integrations"}]},{"group":"Security \u0026 access management","pages":[{"title":"Configure CORS","href":"/horizon/guides/create-cors-headers"},{"title":"Enhance security with IP address allow-list","sidebarTitle":"Labelbox Server Addresses","href":"/horizon/guides/server-addresses"},{"title":"Monitor activity with cloud audit logs","sidebarTitle":"Data Access Audit Logs","href":"/horizon/guides/audit-logs"}]},{"title":"Generate signed URLs","href":"/horizon/guides/signed-urls"},{"title":"Manage datasets","href":"/horizon/guides/datasets-datarows"},{"title":"Import errors \u0026 warnings","sidebarTitle":"Troubleshooting","href":"/horizon/guides/import-errors-and-warnings"}]},{"group":"Import labels","pages":[{"title":"Import ground truth annotations into a project","sidebarTitle":"Import ground truth","href":"/horizon/guides/import-ground-truth"},{"title":"Import annotations as pre-labels into a project","sidebarTitle":"Import pre-labels","href":"/horizon/guides/import-prelabels"}]},{"group":"Export data","pages":[{"title":"Export labels from project","sidebarTitle":"Export from Annotate","href":"/horizon/guides/export-labels"},{"title":"Export data from Catalog","sidebarTitle":"Export from Catalog","href":"/horizon/guides/export-from-catalog"},{"title":"Export model run data","sidebarTitle":"Export from Model","href":"/horizon/guides/export-data-for-model-training"}]},{"group":"Schema","pages":[{"title":"Ontologies","href":"/horizon/guides/labelbox-ontology"},{"title":"Features","href":"/horizon/guides/working-with-features"},{"title":"Metadata","href":"/horizon/guides/datarow-metadata"}]},{"title":"Webhooks","href":"/horizon/guides/webhooks"}]},{"group":"Explore data","pages":[{"title":"Explore your data in Catalog","sidebarTitle":"Catalog","href":"/horizon/guides/explore-your-data-in-catalog"},{"group":"Filters","pages":[{"title":"Search and filter your data in Catalog","sidebarTitle":"Overview","href":"/horizon/guides/search"},{"title":"Search and view compatibility","sidebarTitle":"Search compatibility","href":"/horizon/guides/catalog-search-compatibility"},{"title":"Similarity search with embeddings","sidebarTitle":"Similarity search","href":"/horizon/guides/embeddings"},{"title":"Natural language search","href":"/horizon/guides/natural-language-search"},{"title":"Find text","sidebarTitle":"Find Text","href":"/horizon/guides/find-text"}]},{"title":"Save a filter as a slice","sidebarTitle":"Save filters","href":"/horizon/guides/slices"},{"title":"Send a batch to a labeling project","sidebarTitle":"Send batch to project","href":"/horizon/guides/batches"},{"title":"Bulk classification for zero-shot learning","sidebarTitle":"Bulk classification","description":null,"href":"/horizon/guides/bulk-classification"}]},{"group":"Manage models","pages":[{"group":"Model evaluation","hidden":true,"pages":[{"title":"Model evaluation overview","sidebarTitle":"Overview","description":null,"href":"/horizon/guides/model-evaluation-overview"},{"title":"Create a model run","href":"/horizon/guides/create-a-model-run"},{"title":"Model run slices","description":null,"href":"/horizon/guides/model-slices"},{"title":"Model run metrics","description":"A guide to understanding and navigating your automatically generated model run metrics in Labelbox.","href":"/horizon/guides/model-metrics"},{"title":"Take action on analysis","sidebarTitle":"Post-analysis actions","description":null,"href":"/horizon/guides/model-run-post-analysis"},{"title":"Improve model performance","description":"An overview of strategies to improve model performance using Labelbox.","href":"/horizon/guides/improve-model-performance"}]},{"group":"Foundry","pages":[{"title":"Labelbox Foundry","sidebarTitle":"Overview","description":null,"href":"/horizon/guides/foundry"},{"title":"Predict with Foundry","href":"/horizon/guides/predict-with-foundry"},{"title":"Send predictions for human review","sidebarTitle":"Send predictions to project","href":"/horizon/guides/use-foundry-predictions"},{"title":"Create a Foundry app","sidebarTitle":"Create Foundry app","href":"/horizon/guides/foundry-apps"},{"title":"Run Foundry apps","href":"/horizon/guides/run-foundry-apps"},{"title":"Custom model integration","sidebarTitle":"Integrate custom models","href":"/horizon/guides/custom-model-integration"},{"title":"Integrate Fireworks models","sidebarTitle":"Integrate Fireworks models","href":"/horizon/guides/fireworks-ai-integration"},{"title":"Export model predictions","href":"/horizon/guides/export-predictions"}]}]},{"group":"Manage team","pages":[{"title":"Team management overview","sidebarTitle":"Overview","href":"/horizon/guides/team-management"},{"title":"Understanding your workspace","sidebarTitle":"Workspaces","href":"/horizon/guides/workspaces"},{"title":"Manage members and groups","sidebarTitle":"Members \u0026 groups","href":"/horizon/guides/manage-members-and-groups"},{"title":"Manage roles and permissions","sidebarTitle":"Roles \u0026 permissions","href":"/horizon/guides/roles-and-permissions"},{"title":"Monitor labeling performance","sidebarTitle":"Monitor performance","href":"/horizon/guides/monitor"},{"title":"Notifications","href":"/horizon/guides/notifications"}]},{"group":"Access \u0026 usage","pages":[{"title":"A guide to Labelbox's LBUs","sidebarTitle":"Labelbox LBUs","href":"/horizon/guides/billing"},{"title":"Enabling single sign-on (SSO) for your organization","sidebarTitle":"Single sign-on (SSO)","href":"/horizon/guides/single-sign-on"},{"title":"Multi-factor authentication","href":"/horizon/guides/multifactor-authentication"},{"title":"View account usage","href":"/horizon/guides/view-billing-details"},{"title":"Access, storage \u0026 security","href":"/horizon/guides/access-storage"},{"title":"How to manage your payment \u0026 billing information","sidebarTitle":"Manage billing details","href":"/horizon/guides/manage-billing-details"},{"title":"How to update your account plan","sidebarTitle":"Update account plan","href":"/horizon/guides/update-account-plan"}]},{"group":"Updates","pages":[{"title":"Deprecations","href":"/horizon/guides/deprecations"}]}]},{"tab":"Developer guides","pages":[{"title":"Developer guides","href":"/horizon/developer-guides/getting-started"}]},{"tab":"Release notes","pages":[{"title":"Release notes","href":"/horizon/release-notes"}]},{"tab":"Python tutorials","pages":[{"title":"Python tutorials","href":"/horizon/tutorials"}]},{"tab":"API reference","href":"https://labelbox-python.readthedocs.io/en/latest/"}]}]},"basePath":"","title":"Create a model run - Labelbox","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":[],"chunks":[]}