echo3D
🌐 Back to website💻 Go to console📺 Watch workshop💬 Discuss on Slack
  • Introduction
  • Quickstart
    • 🔑Register
    • 💻Access the Console
    • 🎲Add a 3D Asset
    • 📤Share it with Others
    • ❔Troubleshooting
  • Web Console
    • 📦Load a Collection
    • 💼Manage Pages
      • Content Page
        • Assets and Targets
        • Add Content
        • Edit Content
        • Share Content
        • Access Permissions
        • Version Control
        • Asset Hierarchy
        • Bulk Actions on Assets
        • Asset Commenting
        • Activity Sidebar
      • Metadata & Tags Page
        • Collection Taxonomy and Asset Specific Metadata
        • How to Add and Edit Metadata
        • How to Add Associated Files and Text
      • Collections and Sharing Page
        • Users Tab
        • Groups Tab
        • Collections
        • Collection Sharing Tab
        • Asset Sharing Tab
        • Security Tab
      • Customizer Page
      • Model Editor Page
      • Scene Editor Page
    • 🚚Deliver Pages
      • Locations Page
      • Users Page
      • Insights Page
    • 🕛Optimize Pages
      • Convert & Compress Page
    • 🎓Learn Pages
      • Tutorials Page
    • 👤Account Page
      • Profile Tab
      • Email & Password
      • Plans Tab
      • Credit Usage Tab
      • Notifications Tab
      • Delete Account Tab
    • ❓Help Menu
    • ⏬Downloads
    • 🎨Themes
    • 🔎Search
  • API
    • 🧩Objects
    • 🗨️Queries
    • 📊Data
      • 📑What Metadata is Stored
    • 🔼Upload
    • 🔽Download
    • ❌Delete
    • 🌳Entry Hierarchy
    • 🔄Convert
    • 🔃Compress
    • 📁Organize
    • ⏪Version
    • ⏬Locate
    • 🔎Search
    • 🖼️Search by Image or Model
    • Share Content
  • Unity
    • 🔨Installation
    • 🧰Using the SDK
    • 🔧Script Settings
    • 📐Transforming Content
    • 👩‍💻Edit Code
    • 🤳Adding AR Capabilities
    • ❔Troubleshooting
  • Unreal 4
    • 🔨Installation
    • 🧰Using the SDK
    • 🔧Demo Project
  • Web
    • 🔨Installation
    • 🧰Using the Package
  • Scene Viewer
    • 📲Deploy Experience
    • 📐Transforming Content
    • 🔢Embed into Website or App
    • 👩‍💻Add Code
    • ❔Troubleshooting
  • AR.js
    • 📲Deploy Experience
    • 📐Transforming Content
    • 🔢Embed into Website or App
    • ❔Troubleshooting
  • FaceAR
    • 📲Deploy Experience
    • 📐Transforming Content
    • 🔢Embed into Website or App
    • ❔Troubleshooting
  • React Native
    • 📩Fetching Data
    • 👩‍💻Edit Code
    • 🤳Adding AR/VR Capabilities
    • 📐Transforming Content
  • Swift
    • 🔨Installation
    • 🔢Displaying a Model Asset
    • 🤳Adding AR Capabilities
    • 🧰Using the SDK
  • Flutter
    • 🔨Installation
    • 👩‍💻Edit Code
    • 🤳Adding AR Capabilities
  • JavaScript
    • 🔨Installation
    • 🧰Using the SDK
    • 📩Fetching Data
    • 👩‍💻Edit Code
  • Python
    • 🔨Installation
    • 🧰Using the SDK
    • 🔧Demo Project
  • NVIDIA Omniverse
    • 🔨Installation
  • Adobe Substance 3D Painter
    • 🔨Installation
  • 🧰Using the Plugin
  • Blender
    • 🔨Installation
    • 🧰Using the Add-on
  • eCommerce Sites
    • 🛒Shopify
    • 🌐Wix
  • 3D Content
    • 🎨Content Creation
    • 💎Google Poly
    • 📦Objaverse
    • 💫3D Capture Apps
      • MagiScan
      • Qlone
      • ARitize360
      • SCANN3D
      • 3D Scanner
      • Didimo Xperience
      • Scaniverse
      • Metascan3D
      • Polycam3D
      • RealityScan
Powered by GitBook
On this page
  • Upload content entry
  • Target Type
  • 0 for IMAGE_TARGET
  • 1 for GEOLOCATION_TARGET
  • 2 for BRICK_TARGET
  • Asset Type
  • 0 for VIDEO_HOLOGRAM
  • 1 for IMAGE_HOLOGRAM
  • 2 for MODEL_HOLOGRAM
  • 4 for GENERAL_HOLOGRAM
  • Examples
  • Uploading with Metadata
  • Overwrite or Edit an Existing Entry
  • Batch Upload

Was this helpful?

  1. API

Upload

Learn how to upload assets with a query.

Upload content entry

POST https://api.echo3D.com/upload

This endpoint allows you to upload a new 3D content entry.

Headers

Name
Type
Description

Content-Type

string

Use multipart/form-data when uploading multiple files.

Request Body

Name
Type
Description

key*

string

Your API key.

email*

string

Your email address

userKey*

string

Your authentication key

target_type*

integer

A type of target. Options: 0 for IMAGE_TARGET, 1 for GEOLOCATION_TARGET, or 2 for BRICK_TARGET. For each target type see additional required data parameters below.

hologram_type*

integer

A type of hologram. Options: 0 forVIDEO_HOLOGRAM, 1 forIMAGE_HOLOGRAM, or 2 forMODEL_HOLOGRAM. For each hologram type see additional required data parameters below.

data

string

A string representing metadata to add to the uploaded content. Format: key1:value1;key2:value2;...

secKey

string

{
  "id": "3b020b06-9ba1-42f1-87e7-eec3b33617c0",
  "target": {
    "id": "147fdbe5-2724-44ed-b6ec-31ae8bbbe50a",
    "type": "BRICK_TARGET",
    "holograms": [
      "bca5895d-29c6-4e74-b843-a014bdb0962c"
    ]
  },
  "hologram": {
    "filename": "Skyscraper.obj",
    "storageID": "d686a655-e800-430d-bfd2-e38cdfb0c9e9",
    "textureFilenames": [
      "Skyscraper_BaseColor.png"
    ],
    "textureStorageIDs": [
      "f9b43711-cf79-44e5-90c5-ac781c8d9288"
    ],
    "materialFilename": "Skyscraper.mtl",
    "materialStorageID": "891d0b32-4f4b-4f7d-a2e2-d5922611928d",
    "id": "bca5895d-29c6-4e74-b843-a014bdb0962c",
    "type": "MODEL_HOLOGRAM",
    "targetID": "147fdbe5-2724-44ed-b6ec-31ae8bbbe50a"
  },
  "sdks": [
    true,
    true,
    false,
    true,
    false,
    false,
    false,
    true,
    true
  ],
  "additionalData": {
    "accessHistory": "[\"1586222284478\"]",
    "createdAt": "1586222284478",
    "glbHologramStorageFilename": "Skyscraper.glb",
    "glbHologramStorageID": "d686a655-e800-430d-bfd2-e38cdfb0c9e9.glb",
    "lastAccessed": "1586222284478",
    "qrARjsMarkerStorageFilename": "marker_qr_arjs_blue-water-4646.png",
    "qrARjsMarkerStorageID": "5d8dc812-12ba-43a6-b00d-6f199bde16ce",
    "qrARjsStorageFilename": "qr_arjs_blue-water-4646.png",
    "qrARjsStorageID": "f32c0d9f-15b9-45b6-9371-630384ad588f",
    "qrARjsTargetStorageFilename": "qr_arjs_blue-water-4646.patt",
    "qrARjsTargetStorageID": "18e93bb9-a535-4764-94a4-6d6e5a16e260",
    "qrWebXRStorageFilename": "qr_webxr_blue-water-4646.png",
    "qrWebXRStorageID": "fbd798e7-fc13-43cd-bc9d-cfa0df1aabb6",
    "source": "Skyscraper by Poly by Google, CC-BY, https://poly.google.com/view/dIsZyy2FUY-",
    "vuforiaHologramStorageFilename": "Skyscraper.h",
    "vuforiaHologramStorageID": "7068cd74-6c9f-4106-9326-585c56fa4475"
  }
}
Key '<API_KEY>' not found!

Target Type

Target types can be one of the following:

0 for IMAGE_TARGET

If you choose to use an image as your AR target, you must also add to your request one of the following:

  • url_image: A URL to the image you want to use as a target

  • file_image: The image file you want to use as a target. The file will be uploaded as Part.

1 for GEOLOCATION_TARGET

A location target must be associated with a location. You must either send an address or send location coordinates (longitude and latitude):

  • text_geolocation: Address for the location.

  • longitude and latitude: Longitude and latitude coordinates

2 for BRICK_TARGET

A surface target needs no additional arguments.

Asset Type

Asset types can be one of the following:

0 for VIDEO_HOLOGRAM

You can upload a video file as your 3D asset. Your request must include one of the following:

  • url_video: A URL to the video image you want to use as your AR object

  • file_video: The video file you want to use as your AR object. The file will be uploaded as Part

1 for IMAGE_HOLOGRAM

You can upload an image file as your 3D asset. Your request must include:

  • file_image_hologram: The image file you want to use as your hologram. The file will be uploaded as Part.

2 for MODEL_HOLOGRAM

You can upload 3D models to your project. Your request must also include:

  • type, which must be one of the following values:

    • upload: New model file upload. Expects a file part from local storage. If the upload option is chosen, the following must be set as well:

      • file_model: The file or files you want to use as your asset. The file or files will be uploaded as Part. In this case, make sure to set the Content-Type request header tomultipart/form-data.

    • search: Getting a 3D model from third-party 3D search engines. If the search option is chosen, the following must be set as well:

      • source, either:

          • bin_url, the Poly URL to the .bin file of the model

          • gltf_url, the Poly URL to the .gltf file of the model

          • thumbnail, the Poly URL to the thumbnail of the model

          • png_url, the Poly URL to the .png resource of the model

          • png_path, the Poly relative path to the .png resource of the model

          • url, the Sketchfab API URL redirecting to the model. Should be in the form of https://api.sketchfab.com/v3/models/<ID>/download

      • name, the model name.

4 for GENERAL_HOLOGRAM

You can upload a file that is not a 3D model, image, video, or audio as a general hologram. Your request must include:

  • file_general_hologram: The file you want to upload. The file will be uploaded as Part.

Examples

1. Uploading a model asset on a surface target from local storage :

  • type is upload and file_model includes a file

  • hologram_type is 2

  • target_type is 2

2. Uploading a model asset on a brick target from a third-party search engine:

  • type is search, source is Sketchfab, and url includes an URL redirecting to the model

  • hologram_type is 2

  • target_type is 2

Uploading with Metadata

You can attach a .csv file that contains pairs of keys and values to the Upload API call to be added alongside the uploaded asset as data entries. Your request must include:

  • file_cvs that includes a file

Your metadata file should contain only two columns: one for keys and the second for values.

Here is a sample file you can use:

Overwrite or Edit an Existing Entry

You can overwrite or edit an existing entry that was previously uploaded by using the upload API with a few additional parameters. Your request must include:

  • edit_type that included the type of edit to make: hologram or target.

  • entryId that included the Entry ID of the existing Entry to overwrite.

Batch Upload

PreviousWhat Metadata is StoredNextDownload

Last updated 2 months ago

Was this helpful?

Your Secret key. Only if enabled through the .

Poly: Finds a model in . If the search option is chosen, the following must be set as well:

Sketchfab: Finds a model in . If the search option is chosen, the following must be set as well:

Here are a few upload API examples using .

If you would like to upload many assets at once, the following repository allows for customized batch uploads via a Python script and a CSV data file. Click to access the repository on GitHub.

🔼
Google Poly
Sketchfab
Postman
here
Security page
LogoGitHub - echo3Dco/echo3D-Batch-Upload-scriptGitHub
60B
metadata.csv