Ango Hub Docs
Open Ango HubContact iMerit
  • Ango Hub Documentation
  • Video Guides
  • Changelog
  • FAQs & Troubleshooting
  • All Keyboard and Mouse Shortcuts
  • Core Concepts
    • Assets
    • Attachments
    • Batches
    • Benchmarks
    • Category Schema (Ontologies)
    • Frame Interpolation
    • Geofencing
    • Idle Time Detection & Time Tracking
    • Instructions
    • Issues
      • Issue Error Codes
    • Label Validation
    • Labeler Performance
    • Labeling
    • Labeling Queue
    • Multiple Classification
    • Notifications
    • Organizations
    • Projects
    • Requeuing
    • Reviewing
    • Review Queue
    • Skipping
    • Stage History
    • Tasks
    • Usage
    • User Roles
    • Workflow
      • Complete
      • Consensus
      • Hold
      • Label
      • Logic
      • Plugin
      • Review
      • Start
      • Webhook
  • Labeling
    • Managing Users in Projects
      • Profile Page
    • Managing the Project Ontology
    • Labeling Editor Interface
      • Audio Labeling Editor
      • Image Labeling Editor
      • Video Labeling Editor
      • DICOM Labeling Editor
      • Medical Labeling Editor
        • 3D Bounding Box
        • Fill Between Slices
        • Island Tools
        • Line (Tape Measure)
        • Smoothing
      • PDF Labeling Editor
      • Text (NER) Labeling Editor
      • LLM Chat Labeling Editor
      • Markdown Labeling Editor
      • 3D Multi-Sensor Fusion Labeling Editor
    • Labeling Classes
      • Tools
        • Bounding Box
        • Brush
        • Entity
        • Message
        • Nested Classifications
        • PCT
        • PDF Tool
        • Point
        • Polygon
        • Polyline
        • Rotated Bounding Box
        • Segmentation
        • Spline
        • Voxel Brush
      • Classification
        • Checkbox
        • Multiple Dropdown
        • Radio
        • Rank
        • Single Dropdown
        • Text
        • Tree Dropdown Tools (Single and Multiple Selection)
      • Relation
        • Single Relation
        • Group Relation
    • Magnetic Lasso
    • Performance & Compatibility Considerations
  • Data
    • Data in Ango Hub
      • Embedding Private Bucket Files in MD Assets
    • Importing Assets
      • Asset Builder
      • Bundled Assets
        • Importing Multiple Images as One Multi-Page Asset
        • Importing Multiple Single-Frame DICOM Files as One Multi-Page Asset
        • Importing multiple DICOM files to be annotated and displayed at once
        • Importing Multiple Single-Frame DICOM Files as a DICOM Series
        • Importing Multiple Markdown Files as One Multi-Page Asset
      • File Explorer
      • Supported Asset File Types & Codecs
      • Importing Cloud (Remote) Assets
      • Importing From Local Machine
      • Creating and Importing LLM Chat Assets
      • Importing Data in the 3D Multi-Sensor Fusion Labeling Tool
      • Bulk Importing Markdown/HTML Assets
      • Importing Attachments during Asset Import
      • Importing Annotations during Asset Import
      • contextData: Adding Extra Data to Assets
      • Importing Reference Images as Overlay
      • Importing Reference Medical Data During Asset Import
    • Importing and Exporting Annotations
      • Importing Annotations
        • Ango Import Format
        • Importing Brush Traces
        • Importing NRRD Annotations
      • Exporting Annotations
        • Ango Export Format
          • Asset
            • Task
              • Tools
              • Classifications
              • Relations
          • Stage History
    • Adding and Managing LLMs
    • Storages
      • Set up a storage integration with Azure
      • Set up a storage integration with AWS S3
      • Set up a storage integration with MinIO and S3-compatible custom storage services
      • Set up a storage integration with GCP (Google Cloud Platform)
      • Set up CORS
      • Validating Storage Integrations
    • Purging Data from Ango Hub
  • Plugins
    • Overview of Plugins in Ango Hub
      • Installing Plugins
      • Plugin Setting Presets
      • Monitoring Plugin Progress
    • First-Party Plugins
      • Ango Export Converter Plugins
      • Asset Converter Plugins
      • Ango to Mask Converter
      • Batch Assignment
      • ChatGPT
      • Column-Agnostic Markdown Generator
      • CSV Export for Classification
      • DALL-E
      • DALL-E (Model Plugin)
      • File Explorer Plugin
      • General Object Detector
      • General Object Segmenter
      • Markdown Generator
      • One-Click Segmentation
      • Open World Object Detection
      • Optical Character Recognition
      • TPT Export
      • YOLO | Instance Segmentation
      • YOLO | Pose Estimation
      • YOLO | Object Detection
      • YOLO | Image Classification
    • Plugin Developer Documentation
      • Export Plugins
      • Batch Model Plugins
      • Model Plugins
      • File Explorer Plugins
      • Markdown Generator Plugins
      • Plugin Logger
      • [WIP] Deploying your Plugin
      • Plugin 'Host' Information
  • SDK
    • SDK Documentation
      • Project Level SDK Functions
        • add_members_to_project
        • assign_batches
        • assign_task
        • create_attachment
        • create_batch
        • create_issue
        • create_label_set
        • create_project
        • delete_issue
        • export
        • exportV3
        • get_assets
        • get_batches
        • get_issues
        • get_metrics
        • get_project
        • get_project_performance
        • get_task
        • get_tasks
        • get_task_history
        • import_labels
        • list_projects
        • requeue_tasks
        • rerun_webhook
        • update_workflow_stages
        • upload_files
        • upload_files_cloud
        • upload_files_with_asset_builder
        • upload_chat_assets
      • Organization Level SDK Functions
        • create_storage
        • delete_organization_invites
        • delete_organization_members
        • delete_storage
        • get_organization_invites
        • get_organization_members
        • get_storages
        • invite_members_to_org
        • update_organization_members_role
    • SDK - Useful Snippets
    • SDK Changelog
  • API
    • API Documentation
  • How-To
    • Add Members
      • Add multiple users to a project
    • Annotate
      • Annotate 3D Point Cloud Files on Ango Hub
      • Perform targeted OCR on images
    • Export Data
      • Automatically send Ango Hub Webhook contents to Google Sheets, Email, Slack, and more with Zapier
      • Download a JSON of your project ontology
      • Download DICOM Segmentation Masks
      • Download your annotations in the COCO, KITTI, or YOLO format
      • Download your Segmentation Masks
      • Get your export as separate JSON files for each asset
    • Manage a Project
      • Get your API Key
      • Get your Organization ID
      • Mute your notifications
      • Open an asset provided the Asset ID
      • Pre-label assets
      • Share a filtered view of the Tasks table with others
      • Transfer project ontologies between projects
      • Transfer project workflows between projects
    • Perform Model Evaluation on Ango Hub
  • Troubleshooting
    • I get a "0 Tasks Labeled" alert when trying to pre-label tasks
    • I get a 'The data couldn't be loaded properly' error when opening certain assets
    • I get a "Unknown Classification" warning when opening a task
  • Feature Availability Status for projects of the 3D Multi-Sensor Fusion type
  • Comparison between QuickServe and Ango Hub
  • Changes from Ango Hub Legacy
  • Video V2 Breaking Changes and Transition
  • Data Access, Storage, and Security
  • Two-Factor Authentication
  • Single Sign-On (SSO) Support
  • Customer Support
  • Ango Hub Status Page
Powered by GitBook
On this page
  • Creating Assets
  • Step 1: Import Rows
  • Step 2: Previewing Rows
  • Step 3: Editing the Asset
  • Step 4: Creating the Assets
  1. Data
  2. Importing Assets

Asset Builder

PreviousImporting AssetsNextBundled Assets

Last updated 2 months ago

The Asset Builder allows project managers to upload tabular files containing rows of data, to then create custom assets, one per row, including both the data in the imported table and data that is common to all assets.

See this video for a visual overview of the Asset Builder (as of May 2024)

Creating Assets

In the project where you would like to create the assets, enter the Assets tab and click on Add Data. In the dialog that appears, click on the Asset Builder tab. The Asset Builder will open.

Step 1: Import Rows

If your project includes classification questions, and you wish for some or all of the questions to be displayed inline in the asset, rather than on the left side of the screen, please ensure you have created the classifications you need from the project's Settings -> Category Schema section before beginning to create your assets.

Import File

The first step is to import the rows of data which will form part of the final asset.

On the Asset Builder's Data Upload page, drag and drop the file containing the rows you wish to import onto the area marked below, or click on the area to open your OS's file picker.

The following are the file formats supported for importing rows:

Format
Extension
Notes

Comma-Separated Values

.csv

Any type of delimiter is supported beyond commas. You may indicate a custom delimiter during upload.

Tab-Separated Values

.tsv

Excel Binary File Format (Office 1997-2007)

.xls

Excel Workbook (Microsoft Office 2007 onwards)

.xlsx

JavaScript Object Notation

.json

You may see, copy, and download a sample .csv from the left-hand side of the screen.

Pick Delimiter (if input file is .csv)

If the file you have imported is a .csv, you will be prompted to select the delimiter used in the file you have just imported.

What is a delimiter?

A .csv file is a list of rows, with the first row being the table's header.

Each row is then divided into columns. The delimiter is the character dividing the rows into columns.

Common delimiters include: comma, semicolon, tab, space, period.

You may pick your delimiter from a list of presets or enter your own by choosing Custom:

You may choose to replace the file by clicking on Replace file.

Once you are done, click on Next Step. Ango Hub will start parsing the file. You will then be directed to the next page.

Step 2: Previewing Rows

If you have followed the steps so far, you will be shown a preview of the data rows you have added.

You may add more rows by clicking on the Add More Data button at the top.

If your upload is split into multiple files, please ensure that in all files, the column headers are the exact same in number, position, and name.

Click on Next Step when you are done.

Step 3: Editing the Asset

At the end of this entire process, after you will have designed the asset, the Asset Builder will have created one asset for each data row you have added in the first two steps.

Each asset will have two data components: data which is the same for all assets (for example, text you manually type into the editor), and data which is different for each asset, pulled from each data row. This latter data will be chosen by you by picking an element from the Data column on the right.

At this stage, you can create the template for the assets which will be displayed to annotators, using, among others, the data that is contained in the rows you have just imported.

In the page that appears, you will see, on the left side, the editor with which you will create the asset. On the right side, you will see two tabs: Data contains a list of all columns in your table, and Classifications contains a list of classifications present in the project (if any).

Select External ID Column

Select Batch Column

You may have each asset created with Asset Builder be assigned to a specific batch.

Assume, for example, that you have a column in your table which contains the batch name for each row. In the example above we have called it "Batch", but it may have any name you desire.

External ID
Text
Batch

Q1

The Python programming language...

Programming

Q2

This prompt has been created...

LLMs

Q3

Vehicles can be found in many different...

Vehicles

If, from the "Batch Column" dropdown on the top right-hand side of the Asset Builder

you selected the "Batch" column, then each asset would be assigned to its batch, according to the contents of the "Batch" column.

In our example above, the first task would be assigned to the "Programming" batch, and so on. Batches that do not exist in the project will be created.

Entering Data Common to All Assets

In the Asset Content Editor, using the editor's rich text editing capabilities and its toolbar, you may enter any text, image, video, table, URL, list, or code snippet you wish. Data added this way will be shared by all assets created.

If you have a saved template, you may load it from the dropdown on the top-right corner of the asset builder editor:

Embedding JavaScript code using <script> tags is not supported. <script> tags and their contents are purged when the asset is created, and when switching from the HTML view to the preview.

<iframe> tags are supported. This means that you may embed another live website, or parts of another website, in the assets.

You may either add the same iframe to all assets, by including it in the common HTML, or have individual different iframes for each asset by having the code content of the iframe as a .csv column.

This way, you may, for example, embed live YouTube videos, or any other content from websites.

Entering Table Row Data

In addition to data that is common to all assets, you may embed data directly from the data rows you have uploaded in Steps 1 and 2.

To do so, in the Asset Builder Editor, place the cursor where you would like to add the row data. Then, from the right-hand side of the screen, look for the column name of the data you would like to add.

Click on the + button on the column you would like to add. This will add a placeholder in the editor with the name of the column between double curly brackets:

For example, if your data rows have a column named vehicle_type, and you have clicked on + on the vehicle_type column section, the asset editor will appear this way:

In the final assets, the example above will look like this (for one row):

where Hub substitutes {{vehicle_type}} with the actual content of the rows in the vehicle_type column.

Manually typing the double curly brackets and the column name in the editor will still add the relevant field and make the data display in the asset, however, it will not add HTML fields which are necessary to display the media correctly.

While you can add fields by typing them manually, we strongly recommend using the + button to add them to the editor, as this adds specific code to the HTML which makes the field appear correctly in the asset.


By default, row data is displayed as plain text. You may choose, however, how the data is shown by expanding the "Configs" dropdown on the right side of the screen, before clicking on +.

For example, if the data you are adding is a link to an image, video, audio, or code for an iframe, and you would like to display the image directly, or an audio/video player through which annotators can play the media, select the correct media type from the dropdown, then click on +.

The PDF option additionally allows you to embed PDF, .doc, .docx, and .txt from Google Drive (see warning below) and .pdf and .txt files from AWS S3.

If you intend to embed an image, audio, or video, the link must be a direct link to the file itself. This means that the URL must end with the filename and extension of the file. URLs such as those provided by Google Drive, etc. will not work.

If you intend to embed a .pdf, .txt, .doc, or .docx file from Google Drive, the file must be public and the link must end in /preview. For example, this is a valid link:

If the row data is a link to an asset in a private AWS S3, Azure, or GCP bucket, you may pick the storage integration Hub should use under the Storage dropdown, before clicking on the plus button:

At any point, you may preview what the assets will look like, using the data you have imported in Steps 1 and 2, by clicking on the Preview button in the top-right.

Entering Inline Classifications

If your project has top-level classifications in its category schema, you may choose to have some or all classifications appear directly in the asset itself rather than on the left-hand side of the screen.

To do so, on the right-hand side of the Asset Builder, switch to the Classifications tab.

In the Asset Builder Editor, place the cursor where you would like the classification to appear.

From the Classifications tab, click on the title of the classification you would like to include:

A placeholder for the classification will be inserted in the editor. In the final asset, the classification will be integrated in the asset itself.

You may include an inline classification only once per template per classification.

If you insert the same classification in more than one location in your asset template, the classification will only be shown at the location where you have last inserted it.

Classifications inserted this way will not appear in the preview that appears when clicking on the Preview button in the top-right side of the Asset Builder. They will, however, appear in the final assets.

For example, this is what classifications look like when embedded inline into an asset:

Pre-labeling Inline Classifications

You may pre-populate classifications as you create assets with the Asset Builder with content in columns of the table itself.

For each classification (the classifications do not need to necessarily be embedded in the asset itself – this will work for any classification in the project, whether it is displayed in the Classifications section on the left-hand side of the screen or in the asset itself) you may select a column containing the answer to the classification.

To do so, from the Classification tab in the Asset Builder, navigate to the classification you would like to pre-label and select, from the Pre-label column dropdown, the column containing the pre-labels.

When the assets are created, the classification will be pre-populated with the contents of the column selected in this step.

Pre-label format

For classifications with a single input (e.g. radio, text, single dropdown), having the text content of the answer in the column, with no special formatting, is enough.

For example, if you wish to pre-label a radio button with the options Red, Blue, and Yellow, having "Yellow" as text (without quotes) in the CSV will be sufficient to have the Yellow options pre-selected as answer.

Example:

Once you are done creating your asset, you may save it as a template to be used again when importing new data rows.

To do so, click on the dropdown on the top right of the asset builder editor and then on Add Template to save your template, giving it a name and description. This template will be available to all project managers in your project.

Step 4: Creating the Assets

When you are finished creating the asset template, click on Create Assets in the bottom-right corner of the Asset Editor to create the assets and import them in the current project.

Assets created this way, once imported to the project, are fixed. They may not be updated later on. To update the assets, you will have to delete them and recreate them using the Asset Builder.

If your data rows contain links to files in private buckets, and you would like to display the content of those links in the assets you will create, please ensure you have created a storage integration between Ango Hub and the bucket before beginning to create your assets. .

In Ango Hub, all assets must have an . From the External ID Column dropdown, pick a data column you would like to use as source to pick the assets' external IDs.

While the Asset Content Editor allows you to easily enter text, or any media, and format it in any way, for special needs not covered by the editor you may click on the icon in the editor's toolbar to enter the editor's HTML view. You may include here any arbitrary HTML.

Please do note that if you wish to embed a YouTube video in an iframe, you must use the "embed" URL (e.g. ) rather than the "normal" URL (e.g. )

https://example.com/image/example.jpg

https://drive.google.com/file/d/1-Vm7E57M_Ria6wjlhqC-aaXRt1fBBha9/

For classifications with multiple inputs (e.g. checkbox, multiple dropdown) and for classifications with single inputs, but with the turned on (i.e. the annotators can answer a classification, like radio or text, multiple times), the answers separated by a semicolon will be sufficient to pre-populate the classification.

✅
❌
Read more in our docs on how to create storage integrations
https://www.youtube.com/embed/XUltI4v_UU4
https://www.youtube.com/watch?v=XUltI4v_UU4
✅
https://drive.google.com/file/d/1GAhD_X7Bp_l6IEqU62q-v48JEnCWDSgG/preview
Multiple toggle
External ID
90MB
Asset Builder Tutorial.mp4