To start labeling your data, you first need to grant our platform secure access to the files stored in your private cloud (AWS, GCP, or Azure). This guide explains the two methods for connecting your data, helping you choose the best one for your project’s security and workflow needs.The two methods are
IAM Delegated Access: A robust, long-term connection method.
Signed URLs: A flexible method using temporary, secure links to your data.
Our Recommendation: For most use cases, especially long-term projects, we recommend IAM Delegated Access for its superior security and lower maintenance.
Feature
IAM Delegated Access
Signed URLs
Setup complexity
High. Requires a one-time configuration within your cloud provider’s IAM console.
Low. No initial cloud configuration is needed in Labelbox.
Maintenance
Low. “Set it and forget it.” Works for all data in the configured location.
High. Requires a continuously running service on your end to generate new URLs.
Data Freshness
Real-time. New data added to your bucket is immediately available for labeling.
Delayed. New data requires new signed URLs to be generated and uploaded to Labelbox.
Ideal for
Long-term projects, enterprise-scale data operations, and stringent security environments.
Quick-start projects, proof-of-concepts, or when you cannot create IAM roles.
IAM (Identity and Access Management) Delegated Access is the most secure and scalable method for connecting your data. You create a trust relationship by setting up a dedicated role within your own cloud account that Labelbox is permitted to assume. This gives Labelbox temporary, read-only credentials to access your data when your users are labeling.
You: Create an IAM role in your AWS, GCP, or Azure account that has read-only permissions to your data bucket.
You: Provide Labelbox with the unique identifier (ARN/ID) of that role.
Labelbox: When a user needs to view an image or document, Labelbox uses the provided identifier to request temporary access credentials from your cloud provider.
Your Cloud Provider: Validates the request and grants Labelbox a short-lived token to access only the specified data.
A signed URL is a web link that provides temporary access to a specific file in your storage bucket. Each URL is “signed” with cryptographic keys that validate the request and expire after a set time (e.g., 7 days). You are responsible for generating these URLs and providing them to Labelbox.
Labelbox provides a Python SDK to help automate data setup.You can download sample code from the app or use the online docs to learn more.To download samples from the app:
From the dataset default screen, select Use Python SDK.
From the Create data rows prompt, select the tab appropriate for your data type.
Use the Copy button to copy the code to the Clipboard or the Download button to save it locally.
Once you have a copy of the sample script, you can customize for your needs.More information is available for each supported data type, including:
To upload local files directly to the Labelbox platform, go to Catalog, click +New, then select Choose files to upload.
Direct upload not recommendedUploading your files to Labelbox is NOT recommended. We recommend using IAM delegated access or Signed URLs instead (see sections above).
{"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},"chroma":{"liveDeploymentHistoryId":"6aea3b9404761ef03eab50de","collectionId":"7f4d2da6-cbeb-44b8-b72a-7275070a71e9","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aea3b9404761ef03eab50de"},"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":"6aea4402dd38e5bae56cbbab","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"Recursion","count":217},{"language":"default","tag":"API reference","count":188},{"language":"default","tag":"Horizon","count":179},{"language":"default","tag":"Endpoints","count":174},{"language":"default","tag":"Guides","count":129},{"language":"default","tag":"Developer guides","count":83},{"language":"default","tag":"Import/Export","count":43},{"language":"default","tag":"Label data","count":35},{"language":"default","tag":"Sessions","count":35},{"language":"default","tag":"Environments","count":24}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"sso-setup-deadline-banner","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}],"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:\"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:\"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 )}.dark,.light{--lb-warning-contrast-text:#2a1c06;--lb-focus-outline-offset:2px;--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-active:var(--lb-primary-main);--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 )}.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-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: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-shadow-xs:0 1px 2px rgba(42, 38, 34, 0.06);--lb-shadow-sm:0 1px 2px rgba(42, 38, 34, 0.06), 0 2px 6px rgba(42, 38, 34, 0.06);--lb-shadow-md:0 2px 6px rgba(42, 38, 34, 0.06), 0 8px 16px rgba(42, 38, 34, 0.08);--lb-shadow-lg:0 6px 16px rgba(42, 38, 34, 0.08), 0 16px 32px rgba(42, 38, 34, 0.1);--lb-shadow-xl: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-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-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-shadow:0 1px 2px rgba(42, 38, 34, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.28);--lb-scrollbar-thumb-shadow-hover: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-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: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-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:0 4px 10px rgba(0, 0, 0, 0.26), 0 12px 24px rgba(0, 0, 0, 0.3);--lb-shadow-xl: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-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-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-shadow:0 1px 3px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.08);--lb-scrollbar-thumb-shadow-hover: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;--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.dark:root{--lb-panel:var(--lb-bg-paper);--lb-code-bg:var(--lb-bg-default);color-scheme:dark}body,html{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 #navbar>.border-b,html #sidebar-content{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:.55rem;height:2.125rem;padding:0 .75rem 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:.875rem;height:.875rem;padding:.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:.75rem}html .mdx-content tbody tr:hover td,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,html .nav-tabs-item{color:var(--lb-text-secondary)}html #navbar .navbar-link a:hover,html #navbar a.navbar-link:hover,html .nav-tabs-item:hover,html .nav-tabs-item[data-active]{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 #navbar div:has(>#search-bar-entry){gap:.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),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:.05rem .4rem;border:1px solid var(--lb-divider);border-radius:.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:.6875rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--lb-text-muted)}html #sidebar-content li>a,html #sidebar-content li>button{border-radius:.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:.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 + .9vw,2.25rem);line-height:1.1;letter-spacing:-.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:-.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:.12em .4em;border:1px solid var(--lb-divider);border-radius:.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:.85em;font-weight:500}html .mdx-content :not(pre)>code::after,html .mdx-content :not(pre)>code::before{content:none}html .mdx-content table{border-collapse:separate;border-spacing:0;font-size:.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 :is(thead th, tbody td){padding:.625rem .875rem}html .code-block,html .code-group{border:1px solid var(--lb-code-border);border-radius:.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:0 0!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:.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],html .toc-item>a:hover{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=check],html .callout[data-callout-type=tip]{--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),box-shadow var(--lb-duration-base) var(--lb-ease),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:.5rem;border-radius:.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:-.005em;color:var(--lb-text-primary)}html .card [data-component-part=card-content]{color:var(--lb-text-muted);font-size:.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 #footer,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],html .toc-item[data-active-deepest]>a{color:var(--lb-primary-main);border-color:var(--lb-primary-main)}html .accordion,html .accordion-group{border-color:var(--lb-border-main);border-radius:.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,\n 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,\n .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,\n .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 #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 .method-nav-pill,html .method-pill{font-family:var(--lb-font-mono);letter-spacing:.02em}html .method-nav-pill>span[class*=bg-green],html .method-pill[class*=bg-green]{background-color:var(--lb-soft-success-bg);color:var(--lb-soft-success-text)}html .method-nav-pill>span[class*=bg-blue],html .method-pill[class*=bg-blue]{background-color:var(--lb-soft-info-bg);color:var(--lb-soft-info-text)}html .method-nav-pill>span[class*=bg-orange],html .method-nav-pill>span[class*=bg-yellow],html .method-pill[class*=bg-orange],html .method-pill[class*=bg-yellow]{background-color:var(--lb-soft-warning-bg);color:var(--lb-soft-warning-text)}html .method-nav-pill>span[class*=bg-red],html .method-pill[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\"],html .tryit-button{background-color:var(--lb-primary-main);color:var(--lb-primary-contrast-text)}html .tryit-button{border-radius:10px;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":"@keyframes hub-rise{0%{opacity:0;transform:translateY(6px)}}@keyframes hc-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes hc-pulse{50%{opacity:.35}}.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:-.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,.98rem + .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),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:0 0;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),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:0 0;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),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:0 0;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),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}.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,.hc-brand__text b,.hub .hub-foot__links a:hover{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}.hc-brand__text small{font-size:10.5px;color:var(--lb-text-muted)}.hc-nav__foot,.hc-nav__list{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-header,.hc-main{display:flex;gap:10px}.hc-main{flex-direction:column;min-width:0;min-height:0;padding:10px 14px 14px}.hc-header{flex:none;align-items:center;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-state,.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}.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{font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.hc-metric b{font-size:12.5px;font-variant-numeric:tabular-nums}.hc-metric small,.hc-more,.hc-msg>svg{color:var(--lb-text-muted)}.hc-btn,.hc-toolbar{flex:none;align-items:center}.hc-btn{display:inline-flex;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;gap:8px;height:28px}.hc-find,.hc-zoom i{color:var(--lb-text-muted)}.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;font-size:12px}.hc-msg>span,.hc-spacer{flex:1}.hc-select,.hc-zoom{display:inline-flex;color:var(--lb-text-secondary)}.hc-select{align-items:center;gap:6px;height:26px;padding:0 8px 0 10px;border:1px solid var(--lb-border-main);border-radius:7px;font-size:12px}.hc-zoom{gap:10px;padding:0 6px;font-size:11.5px;font-variant-numeric:tabular-nums}.hc-zoom i{font-style:normal}.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:.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-metric b,.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,.hc-tool b{color:var(--lb-text-secondary);font-size:12px;font-weight:600}.hc-feed,.hc-transcript{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.hc-feed{justify-content:flex-end;gap:6px;padding:10px 12px;mask-image:linear-gradient(to bottom,transparent,#000 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)}.hc-arg,.hc-ms,.hc-tool b{font-family:var(--lb-font-mono)}.hc-arg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--lb-text-secondary);font-size:11.5px}.hc-ms{color:var(--lb-text-muted);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)}.hc-chip,.hc-msg small,.hc-thread{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)}.hc-msg,.hc-statusline{display:flex;align-items:center}.hc-msg{gap:10px;padding:9px 12px;border:1px solid var(--lb-divider);border-radius:6px;line-height:1.45}.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)}.hc-statusline{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,.hc-tabs span{color:var(--lb-text-muted)}.hc-input{height:44px;padding:9px 11px;border:1px solid var(--lb-border-main);border-radius:6px;background:var(--lb-bg-default)}.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-sect,.hc-tabs{flex:none;border-bottom:1px solid var(--lb-divider)}.hc-tabs{display:flex;gap:14px;padding:0 12px}.hc-tabs span{margin-bottom:-1px;padding:9px 0 8px;border-bottom:2px solid transparent;font-size:12px;font-weight:500}.hc-tabs .is-active{border-bottom-color:var(--lb-primary-main);color:var(--lb-primary-main)}.hc-sect{padding:10px 12px 12px}.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;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,.hub-console .hc-note{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-metric--model,.hc-stage.is-compact .hc-nav,.hc-stage:is(.is-medium, .is-compact) .hc-id,.hc-stage:is(.is-medium, .is-compact) .hc-more,.hc-stage:is(.is-medium, .is-compact) .hc-rail,.hc-stage:is(.is-medium, .is-compact) .hc-sqbtn--sm{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)}.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:-.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 + .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:-.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 .hub-link .hub-icon,.hub-path__cta .hub-icon{transition:transform var(--lb-duration-fast) var(--lb-ease)}.hub .hub-link:hover .hub-icon,.hub .hub-path:hover .hub-path__cta .hub-icon{transform:translateX(3px)}.hub-split{display:grid;grid-template-columns:minmax(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}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 .hub-foot__links a,.hub-cap__icon{transition:color var(--lb-duration-fast) var(--lb-ease)}.hub-cap__icon{margin-top:2px;color:var(--lb-text-muted)}.hub .hub-band__link:hover .hub-band__title,.hub .hub-cap:hover .hub-cap__icon,.hub .hub-cap:hover .hub-cap__title{color:var(--lb-primary-main)}.hub-band__title,.hub-cap__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-band__text,.hub-cap__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,.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,.hub-foot{border-top:1px solid var(--lb-divider)}.hub .hub-band__link{display:block;padding:16px 0 18px;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 .hub-icon{transform:translateX(2px);color:var(--lb-primary-main)}.hub-foot{margin-top:clamp(64px,8vw,112px);padding:28px 0 44px}.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)}.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-band,.hub-split{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.hub--embedded .hub-paths,.hub-band__links,.hub-paths{grid-template-columns:minmax(0,1fr)}.hub--embedded .hub-caps,.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-dot.is-live,.hc-row,.hub-agents__panel{animation:none}}"}],"page":{"pagePath":"horizon/guides/connect-to-cloud-storage","slug":"/horizon/guides/connect-to-cloud-storage","pageMetadata":{"title":"Import data","description":"Learn how to import your data by connecting your cloud storage to Labelbox.","sidebarTitle":"Overview","href":"/horizon/guides/connect-to-cloud-storage"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn how to import your data by connecting your cloud storage to Labelbox.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"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={a:`a`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Heading,Table,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`To start labeling your data, you first need to grant our platform secure access to the files stored in your private cloud (AWS, GCP, or Azure). This guide explains the two methods for connecting your data, helping you choose the best one for your project’s security and workflow needs.`}),`\n`,_jsx(_components.p,{children:`The two methods are`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`IAM Delegated Access`}),`: A robust, long-term connection method.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Signed URLs`}),`: A flexible method using temporary, secure links to your data.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Our Recommendation`}),`: For most use cases, especially long-term projects, we recommend `,_jsx(_components.strong,{children:`IAM Delegated Access`}),` for its superior security and lower maintenance.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Feature`}),_jsx(_components.th,{children:`IAM Delegated Access`}),_jsx(_components.th,{children:`Signed URLs`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Setup complexity`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`High.`}),` Requires a one-time configuration within your cloud provider’s IAM console.`]}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Low.`}),` No initial cloud configuration is needed in Labelbox.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Maintenance`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Low.`}),` “Set it and forget it.” Works for all data in the configured location.`]}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`High.`}),` Requires a continuously running service on your end to generate new URLs.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Data Freshness`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Real-time.`}),` New data added to your bucket is immediately available for labeling.`]}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Delayed.`}),` New data requires new signed URLs to be generated and uploaded to Labelbox.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Ideal for`}),_jsx(_components.td,{children:`Long-term projects, enterprise-scale data operations, and stringent security environments.`}),_jsx(_components.td,{children:`Quick-start projects, proof-of-concepts, or when you cannot create IAM roles.`})]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`iam-delegated-access`,children:`IAM delegated access`}),`\n`,_jsx(_components.p,{children:`IAM (Identity and Access Management) Delegated Access is the most secure and scalable method for connecting your data. You create a trust relationship by setting up a dedicated role within your own cloud account that Labelbox is permitted to assume. This gives Labelbox temporary, read-only credentials to access your data when your users are labeling.`}),`\n`,_jsx(Heading,{level:`3`,id:`how-it-works`,children:`How it works`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`You`}),`: Create an IAM role in your AWS, GCP, or Azure account that has read-only permissions to your data bucket.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`You`}),`: Provide Labelbox with the unique identifier (ARN/ID) of that role.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Labelbox`}),`: When a user needs to view an image or document, Labelbox uses the provided identifier to request temporary access credentials from your cloud provider.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Your Cloud Provider`}),`: Validates the request and grants Labelbox a short-lived token to access only the specified data.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`key-advantages`,children:`Key advantages`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Superior Security`}),`: Your secret keys are never shared with Labelbox. Access is easily auditable and can be revoked at any time from your cloud console.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Low Maintenance`}),`: After the initial setup, you never have to worry about managing credentials or access again. It just works.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Simplified Workflow`}),`: Data scientists and annotators can easily browse and import data without needing to handle URLs.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`step-by-step-guides`,children:`Step-by-step guides`}),`\n`,_jsx(Card,{title:`Connect to AWS S3`,icon:`sparkles`,horizontal:true,href:`/horizon/guides/import-aws-s3-data`}),`\n`,_jsx(Card,{title:`Connect to Google Cloud Storage`,icon:`sparkles`,horizontal:true,href:`/horizon/guides/using-google-cloud-storage`}),`\n`,_jsx(Card,{title:`Connect to Azure Blob Storage`,icon:`sparkles`,horizontal:true,href:`/horizon/guides/microsoft-azure-blob-storage`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`signed-urls`,children:`Signed URLs`}),`\n`,_jsx(_components.p,{children:`A signed URL is a web link that provides temporary access to a specific file in your storage bucket. Each URL is “signed” with cryptographic keys that validate the request and expire after a set time (e.g., 7 days). You are responsible for generating these URLs and providing them to Labelbox.`}),`\n`,_jsx(Heading,{level:`3`,id:`how-it-works-2`,children:`How it works`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`You`}),`: Write and run a script or service that generates a unique signed URL for each data asset you want to label.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`You`}),`: Create a JSON file containing these URLs and upload it to Labelbox.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Labelbox`}),`: When a user accesses a task, Labelbox uses the corresponding signed URL from your JSON file to fetch and display the data.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Your Cloud Provider`}),`: Validates the signature on the URL and serves the file. Access is denied if the URL has expired.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`key-advantages-2`,children:`Key advantages`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Fast to Start`}),`: Bypasses the need for complex IAM configuration, making it ideal for quick tests or proof-of-concepts.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Granular Control`}),`: You have explicit, file-level control over what data is accessible and for how long.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`step-by-step-guide`,children:`Step-by-step guide`}),`\n`,_jsx(Card,{title:`Generate signed URLs`,icon:`sparkles`,horizontal:true,href:`/horizon/guides/signed-urls`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`automate-imports-with-the-python-sdk`,children:`Automate imports with the Python SDK`}),`\n`,_jsxs(_components.p,{children:[`Labelbox provides a `,_jsx(_components.a,{href:`/horizon/developer-guides/install-python-sdk`,children:`Python SDK`}),` to help automate data setup.`]}),`\n`,_jsx(_components.p,{children:`You can download sample code from the app or use the online docs to learn more.`}),`\n`,_jsx(_components.p,{children:`To download samples from the app:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`From the dataset default screen, select `,_jsx(_components.strong,{children:`Use Python SDK`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`From the `,_jsx(_components.strong,{children:`Create data rows`}),` prompt, select the tab appropriate for your data type.`]}),`\n`,_jsxs(_components.li,{children:[`Use the `,_jsx(_components.strong,{children:`Copy`}),` button to copy the code to the Clipboard or the `,_jsx(_components.strong,{children:`Download`}),` button to save it locally.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Once you have a copy of the sample script, you can customize for your needs.`}),`\n`,_jsx(_components.p,{children:`More information is available for each supported data type, including:`}),`\n`,_jsxs(CardGroup,{children:[_jsx(Card,{title:`Image`,icon:`image`,horizontal:true,href:`/horizon/developer-guides/import-image-data`}),_jsx(Card,{title:`Video`,icon:`video`,horizontal:true,href:`/horizon/developer-guides/import-video-data`}),_jsx(Card,{title:`Text`,icon:`text`,horizontal:true,href:`/horizon/developer-guides/import-text-data`}),_jsx(Card,{title:`Geospatial`,icon:`map-pin`,horizontal:true,href:`/horizon/developer-guides/import-geospatial-data`}),_jsx(Card,{title:`Documents`,icon:`file-pdf`,horizontal:true,href:`/horizon/developer-guides/import-document-data`}),_jsx(Card,{title:`Conversational text`,icon:`messages`,horizontal:true,href:`/horizon/developer-guides/import-conversational-text-data`}),_jsx(Card,{title:`Audio`,icon:`microphone`,horizontal:true,href:`/horizon/developer-guides/import-audio-data`}),_jsx(Card,{title:`HTML`,icon:`code`,horizontal:true,href:`/horizon/developer-guides/import-html-data`})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`upload-local-files`,children:`Upload local files`}),`\n`,_jsxs(_components.p,{children:[`To upload local files directly to the Labelbox platform, go to `,_jsx(_components.strong,{children:`Catalog`}),`, click `,_jsx(_components.strong,{children:`+New`}),`, then select `,_jsx(_components.strong,{children:`Choose files to upload`}),`.`]}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Direct upload not recommended`})}),_jsx(_components.p,{children:`Uploading your files to Labelbox is NOT recommended. We recommend using IAM delegated access or Signed URLs instead (see sections above).`})]})]})}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":"Import data","description":"Learn how to import your data by connecting your cloud storage to Labelbox.","sidebarTitle":"Overview","href":"/horizon/guides/connect-to-cloud-storage"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"IAM delegated access","slug":"iam-delegated-access","depth":2,"children":[{"title":"How it works","slug":"how-it-works","depth":3,"children":[]},{"title":"Key advantages","slug":"key-advantages","depth":3,"children":[]},{"title":"Step-by-step guides","slug":"step-by-step-guides","depth":3,"children":[]}]},{"title":"Signed URLs","slug":"signed-urls","depth":2,"children":[{"title":"How it works","slug":"how-it-works-2","depth":3,"children":[]},{"title":"Key advantages","slug":"key-advantages-2","depth":3,"children":[]},{"title":"Step-by-step guide","slug":"step-by-step-guide","depth":3,"children":[]}]},{"title":"Automate imports with the Python SDK","slug":"automate-imports-with-the-python-sdk","depth":2,"children":[]},{"title":"Upload local files","slug":"upload-local-files","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/labelbox-1db23ff4/9ed4bd14b1b0eec8/navbar.js"],"subdomain":"labelbox-1db23ff4","siteName":"Labelbox","title":"Import data - Labelbox","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-05T17:26:21.577Z","originalFileLocation":"horizon/guides/connect-to-cloud-storage.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=\"description\" content=\"Learn how to import your data by connecting your cloud storage to Labelbox.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Labelbox\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\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=\"Import data - Labelbox\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to import your data by connecting your cloud storage to 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/connect-to-cloud-storage\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://labelbox-1db23ff4.mintlify.app/_mintlify/api/og/v2?division=Import+data\u0026amp;title=Import+data\u0026amp;description=Learn+how+to+import+your+data+by+connecting+your+cloud+storage+to+Labelbox.\u0026amp;theme=f571ec5c82cb5a5bd7bfc07f\u0026amp;signature=445c658f8a58422efd98e0d325cc7003b1f0097e96270e8d61b9a43c74f63313\">\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=\"Import data - Labelbox\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to import your data by connecting your cloud storage to Labelbox.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://labelbox-1db23ff4.mintlify.app/_mintlify/api/og/v2?division=Import+data\u0026amp;title=Import+data\u0026amp;description=Learn+how+to+import+your+data+by+connecting+your+cloud+storage+to+Labelbox.\u0026amp;theme=f571ec5c82cb5a5bd7bfc07f\u0026amp;signature=445c658f8a58422efd98e0d325cc7003b1f0097e96270e8d61b9a43c74f63313\">\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/connect-to-cloud-storage\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/horizon/guides/connect-to-cloud-storage.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/connect-to-cloud-storage#webpage\",\"url\":\"https://docs.labelbox.com/horizon/guides/connect-to-cloud-storage\",\"name\":\"Import data\",\"description\":\"Learn how to import your data by connecting your cloud storage to Labelbox.\",\"dateModified\":\"2026-10-05T17:26:21.577Z\",\"isPartOf\":{\"@id\":\"https://docs.labelbox.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.labelbox.com/horizon/guides/connect-to-cloud-storage#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.labelbox.com/horizon/guides/connect-to-cloud-storage#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Labelbox\",\"item\":\"https://docs.labelbox.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Import data\",\"item\":\"https://docs.labelbox.com/horizon/guides/connect-to-cloud-storage\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.labelbox.com/horizon/guides/connect-to-cloud-storage#article\",\"headline\":\"Import data\",\"name\":\"Import data\",\"description\":\"Learn how to import your data by connecting your cloud storage to Labelbox.\",\"url\":\"https://docs.labelbox.com/horizon/guides/connect-to-cloud-storage\",\"mainEntityOfPage\":{\"@id\":\"https://docs.labelbox.com/horizon/guides/connect-to-cloud-storage#webpage\"},\"dateModified\":\"2026-10-05T17:26:21.577Z\",\"publisher\":{\"@id\":\"https://docs.labelbox.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.labelbox.com#website\"}}]}\u003c/script>","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","description":null,"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","description":"Step-by-step guide for importing your S3 bucket data 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","href":"/horizon/guides/bulk-classification"}]},{"group":"Manage models","pages":[{"group":"Model evaluation","hidden":true,"pages":[{"title":"Model evaluation overview","sidebarTitle":"Overview","href":"/horizon/guides/model-evaluation-overview"},{"title":"Create a model run","href":"/horizon/guides/create-a-model-run"},{"title":"Model run slices","href":"/horizon/guides/model-slices"},{"title":"Model run metrics","href":"/horizon/guides/model-metrics"},{"title":"Take action on analysis","sidebarTitle":"Post-analysis actions","href":"/horizon/guides/model-run-post-analysis"},{"title":"Improve model performance","href":"/horizon/guides/improve-model-performance"}]},{"group":"Foundry","pages":[{"title":"Labelbox Foundry","sidebarTitle":"Overview","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":"Import data - Labelbox","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":[],"chunks":[]}