Skip to content

Create Project

POSThttps://portal-prod.rosettalab.top/rosetta-open/project/create

This page will help you get started with creating a project on Rosetta, and set the status to 1 which represents START.

body params

*namestring
Project name, must be distinct, the maximum length limit is 60 bytes.
*dataTypeinteger
Project data type: 2 represents 2D, 3 represents 3D.
descriptionstring
Project description, the maximum length limit is 200 bytes.
*deadlinestring
A date for system notification, such as 2024-06-01.
*operatorsobject[]
Label tool config, refer to Operators Samples.
folderIdlong Defaults to 0
Folder ID which returned by API Create Folder
projectManagerstring Defaults to "Owner of the AK"
Account name you want to appoint to project manager.
teamNamesstring[]
Name of the teams you want to authorize access to the project, you can edit these later on the web platform.
workflowobject
Workflow of the annotation pipeline, which is composed of a set of pools, you can edit it later on the web platform, refer to Workflow Samples. If not set, the platform will give the project a default config.
*vertexobject[]
Set of pools, the type of the first pool must be 0, means distribution pool, and the type of the last pool must be 5, means completion pool.
*namestring
Name of the pool, the maximum length limit is 60 bytes.
*runModeinteger
Running mode of the pool: 0 represents manually, 1 represents automatically.
*typeinteger
Type of the pool, 0 represents distribution, 1 represents labeling, 2 represents inspection, 3 represents spot check, 4 represents algorithm (Now we primarily support 3D pre-labeling, and plan to introduce more flexible configurations in the future), 5 represents completion.
*workersstring[]
Name list of accounts assigned to the pool, which is used in labeling pool, inspection pool, spot check pool.
Examples
shell
curl https://portal-prod.rosettalab.top/rosetta-open/project/create \
 -X POST \
 -H "Content-Type: application/json" \
 -H "X-STARDUST-KEY: <X-STARDUST-KEY>" \
 -H "X-TS: <X-TS>" \
 -H "X-SIGN: <X-SIGN>" \
 -d "{\"folderId\":\"0\",\"projectManager\":\"\\\"Owner of the AK\\\"\"}"

response data

projectIdlong
statusinteger
0 represents DRAFT, 1 represents START, 2 represents PAUSE, 3 represents DONE
workflowIdlong

examples

200
{
"code": 200,
"message": "Success",
"data": {
"projectId": 12,
"status": 1,
"workflowId": 10
},
"date": "2024-05-16 19:03:34",
"requestId": "864b70706a7349ea83e177a49800464f",
"success": true
}
5801
{
"code": 5801,
"data": null,
"message": "Project name already exists",
"date": "2024-05-16 19:03:34",
"requestId": "864b70706a7349ea83e177a49800464f",
"success": false
}

Labeling tool config

json
{
  "key": "box3d-[1cbd2]",
  "type": "slotChildren",
  "label": "Box3D",
  "slotSpecification": {
    "type": "box3d"
  },
  "children": [
    {
      "key": "box2d-[d14a6]",
      "type": "slot",
      "label": "Box2D",
      "slotSpecification": {
        "type": "box2d",
        "restrictInsideCanvasBoundary": true,
        "topLeftMark": "1",
        "topRightMark": "2",
        "bottomRightMark": "3",
        "bottomLeftMark": "4",
        "sizeCheckSwitch": true
      }
    },
    {
      "key": "select-[c1283]",
      "label": "Class3D",
      "type": "input",
      "inputSpecification": {
        "type": "select",
        "items": [
          {
            "label": "Vehicle",
            "value": "Vehicle"
          },
          {
            "label": "Pedestrian",
            "value": "Pedestrian"
          },
          {
            "label": "Cyclist",
            "value": "Cyclist"
          }
        ],
        "renderConfig": {
          "selectionWidgetType": "Segment"
        },
        "continuousFrameSync": false
      }
    }
  ]
}
json
[
  {
    "key": "box3d-[ff05a]",
    "type": "slot",
    "label": "1",
    "slotSpecification": {
      "type": "box3d"
    }
  },
  {
    "key": "polygon3d-[402e1]",
    "type": "slot",
    "label": "1",
    "slotSpecification": {
      "type": "polygon3d"
    }
  },
  {
    "key": "point3d-[65113]",
    "type": "slot",
    "label": "1",
    "slotSpecification": {
      "type": "point3d"
    }
  },
  {
    "key": "line3d-[3b859]",
    "type": "slot",
    "label": "1",
    "slotSpecification": {
      "type": "line3d"
    }
  },
  {
    "key": "box2d-[02b3b]",
    "type": "slot",
    "label": "1",
    "slotSpecification": {
      "type": "box2d",
      "restrictInsideCanvasBoundary": true,
      "topLeftMark": "1",
      "topRightMark": "2",
      "bottomRightMark": "3",
      "bottomLeftMark": "4",
      "sizeCheckSwitch": true
    }
  },
  {
    "key": "line-[ee28a]",
    "type": "slot",
    "label": "1",
    "slotSpecification": {
      "type": "line",
      "restrictInsideCanvasBoundary": true
    }
  },
  {
    "key": "splines-[9c3bd]",
    "type": "slot",
    "label": "1",
    "slotSpecification": {
      "type": "splines",
      "restrictInsideCanvasBoundary": true
    }
  },
  {
    "key": "point-[939a3]",
    "type": "slot",
    "label": "1",
    "slotSpecification": {
      "type": "point",
      "restrictInsideCanvasBoundary": true
    }
  },
  {
    "key": "cuboid-[5707c]",
    "type": "slot",
    "label": "1",
    "slotSpecification": {
      "type": "cuboid",
      "frontTopLeftMark": "1",
      "frontTopRightMark": "2",
      "frontBottomRightMark": "3",
      "frontBottomLeftMark": "4",
      "backTopLeftMark": "5",
      "backTopRightMark": "6",
      "backBottomRightMark": "7",
      "backBottomLeftMark": "8",
      "sizeCheckSwitch": true
    }
  },
  {
    "key": "polygon-[1dfd5]",
    "type": "slot",
    "label": "1",
    "slotSpecification": {
      "type": "polygon",
      "restrictInsideCanvasBoundary": true,
      "sizeCheckSwitch": true
    }
  }
]
json
[
  {
    "key": "text-[7aba5]",
    "label": "1",
    "type": "input",
    "inputSpecification": {
      "type": "text"
    }
  },
  {
    "key": "select-[d72e5]",
    "label": "1",
    "type": "input",
    "inputSpecification": {
      "type": "select",
      "items": [
        {
          "label": "Car",
          "value": "car"
        },
        {
          "label": "Truck",
          "value": "truck"
        },
        {
          "label": "Bicycle",
          "value": "bicycle"
        }
      ],
      "renderConfig": {
        "selectionWidgetType": "Dropdown"
      }
    }
  },
  {
    "label": "1",
    "metadata": {},
    "inputSpecification": {
      "type": "multiple-select",
      "renderConfig": {
        "selectionWidgetType": "Dropdown"
      },
      "items": [
        {
          "label": "Car",
          "value": "car"
        },
        {
          "label": "Truck",
          "value": "truck"
        },
        {
          "label": "Bicycle",
          "value": "bicycle"
        }
      ],
      "continuousFrameSync": false
    },
    "inputOption": {},
    "key": "select-[574aa]",
    "type": "input"
  }
]

Workflow config

json
{
  "vertex": [
    {
      "name": "Distribution pool",
      "runMode": 0,
      "type": 0
    },
    {
      "name": "Algorithm pool",
      "runMode": 1,
      "type": 4
    },
    {
      "name": "Labeling pool",
      "type": 1,
      "workers": [],
      "disableOperationItem": []
    },
    {
      "name": "Inspection pool",
      "type": 2,
      "workers": [],
      "disableOperationItem": []
    },
    {
      "name": "Spot check pool",
      "type": 3,
      "workers": []
    },
    {
      "name": "Completion pool",
      "type": 5
    }
  ]
}
json
{
  "vertex": [
    {
      "name": "Distribution pool",
      "runMode": 0,
      "type": 0
    },
    {
      "name": "Labeling pool",
      "type": 1,
      "workers": [],
      "disableOperationItem": []
    },
    {
      "name": "Inspection pool",
      "type": 2,
      "workers": [],
      "disableOperationItem": []
    },
    {
      "name": "Completion pool",
      "type": 5
    }
  ]
}