πŸ”ΌUpload

Learn how to upload assets with a query.

Upload content entry

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

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

Headers

NameTypeDescription

Content-Type

string

Use multipart/form-data when uploading multiple files.

Request Body

NameTypeDescription

key

string

Your API key.

email

string

Your user email.

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

Your Secret key. Only if enabled through the Security page.

{
  "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"
  }
}

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:

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

          • 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

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

          • 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

Here are a few upload API examples using Postman.

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

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 here to access the repository on GitHub.

Last updated