Media Server 25.4
Media Server Help

# TrainFace

Trains Media Server to detect a face in one action.

Running this action is equivalent to running the following actions in the following order:

- NewFace
- AddFaceImages
- AddFaceMetadata (optional)
- BuildFace
- NullFaceImageData (optional)

This action is atomic, so that any interruption to the server does not leave the database in an inconsistent state. If you stop the action using the QueueInfo action, or the action returns an error, the database is not modified. If all of the training images fail (for example Media Server cannot detect a face), Media Server does not add the face to the database.

Type: asynchronous

Parameter | Description | Required
--- | --- | ---
`database` | The name of the database to add the face to. The database must already exist. | Yes
`gpudeviceid` | The device ID of the GPU to use, if you have enabled GPU acceleration and want to override the value of the GPUDeviceID configuration parameter. You can also set this parameter to `CPU`, to disable GPU acceleration for this action and use the CPU instead. | No
`identifier` | A unique identifier for the face (maximum 254 bytes). If you do not set this parameter, Media Server generates an identifier automatically. | No
`imagedata` | The training images to add. Send files to Media Server using a multipart/form-data HTTP POST request. | Set this or `imagepath`
`imagelabels` | A comma-separated list of labels to identify the images that you are adding (maximum 254 bytes for each label). Every image added to the same face must have a unique label, so the number of labels must match the number of images provided using either `imagedata` or `imagepath`. If you do not set this parameter, Media Server generates labels automatically. | No
`imagepath` | A comma-separated list of paths to the training images to add. The paths must be absolute, or relative to the Media Server executable file. To strengthen security, Media Server can be configured to read files only from specified directories. For information about the directories that Media Server is permitted to read from, see the parameter AllowedInputDirectories. | Set this or `imagedata`
`metadata` | A comma-separated list of metadata key-value pairs to add to the face. Separate keys from values using a colon (`:`). To include a comma or colon in a key name or value, you must enclose the key name or value in quotation marks (`"`) and escape any quotation marks that occur within the string with a backslash (`\`). | No
`nullimagedata` | A Boolean value, default `false`, that specifies whether to remove the images from the database after training is complete. Setting this to `true` is equivalent to running the action NullFaceImageData on the face. Be aware that if you remove the images, the training cannot be updated in future. | No
`numparallel` | The maximum number of threads to use to complete the training (default 1), subject to the limit specified by MaxNumParallel. | No

## Example

The following example trains Media Server by sending the paths of the training images using the `imagepath` parameter:

    curl http://localhost:14000 -F action=TrainFace
                                -F database=faces
                                -F identifier=jsmith
                                -F imagepath=image1.jpg,image2.jpg
                                -F imagelabels=image1,image2
                                -F "metadata=firstname:John,lastname:Smith,fullname:\"John Smith, Jr.\""

Alternatively, you can train Media Server by sending the image data, for example:

    curl http://localhost:14000 -F action=TrainFace
                                -F database=faces
                                -F identifier=jsmith
                                -F imagedata=@image1.jpg,image2.jpg
                                -F imagelabels=image1,image2
                                -F "metadata=firstname:John,lastname:Smith,fullname:\"John Smith, Jr.\""

## Response

This action is asynchronous, so Media Server always returns success accompanied by a token. You can use this token with the QueueInfo action to retrieve the status of your request.

    <autnresponse>
      <action>QUEUEINFO</action>
      <response>SUCCESS</response>
      <responsedata>
        <actions>
          <action>
            <status>Finished</status>
            <queued_time>2015-Jun-04 09:53:21</queued_time>
            <time_in_queue>0</time_in_queue>
            <process_start_time>2015-Jun-04 09:53:21</process_start_time>
            <time_processing>0</time_processing>
            <process_end_time>2015-Jun-04 09:53:21</process_end_time>
            <build>
              <image>
                <index>1</index>
                <label>image1</label>
                <status>trained</status>
              </image>
              <image>
                <index>2</index>
                <label>image2</label>
                <status>trained</status>
              </image>
            </build>
            <database>faces</database>
            <identifier>jsmith</identifier>
            <numimages>2</numimages>
            <numtrained>2</numtrained>
            <token>...</token>
          </action>
        </actions>
      </responsedata>
    </autnresponse>

Copyright 2025 Open Text
Version 25.4 | Last updated October 2025

Send documentation feedback

Close

Send documentation feedback

To send feedback using your default email client, open an email window.

Otherwise, send your feedback and the information below to MFI-swpdl.idoldocsfeedback@opentext.com.

We appreciate your feedback!

Product: Knowledge Discovery Media Server 25.4

Topic Title: TrainFace