Is it possible, to use the Sync-API ?

Yes, this is possible - here is an example: Sync-API Aufruf: /api/_action/sync

[
  {
    "key": "write",
    "action": "upsert",
    "entity": "product",
    "payload": [
      {
        "id": "44211790f53d485cb59d9cdcce607c12",
        "coverId": "380e35f6a4b2446fb1ae86a6fdfdc482",
        "media": [
          {
            "id": "201188140388444d9f6ac8a143d4afc2",
            "position": 0,
            "acrisProductDisplayImage": {
              "languages": [
                {
                  "id": "d34fa0aad2544b3b91f1ae58d73eff23"
                },
                {
                  "id": "2fbb5fe2e29a4d70aa5854ce7ce3e20b"
                }
              ],
              "useImageAsCoverForLanguage": [
                {
                  "languageId": "d34fa0aad2544b3b91f1ae58d73eff23",
                  "value": false
                },
                {
                  "languageId": "2fbb5fe2e29a4d70aa5854ce7ce3e20b",
                  "name": "English",
                  "value": false
                }
              ]
            }
          },
          {
            "id": "380e35f6a4b2446fb1ae86a6fdfdc482",
            "acrisProductDisplayImage": {
              "languages": [
                {
                  "id": "2fbb5fe2e29a4d70aa5854ce7ce3e20b"
                }
              ],
              "useImageAsCoverForLanguage": [
                {
                  "languageId": "2fbb5fe2e29a4d70aa5854ce7ce3e20b",
                  "value": true
                }
              ]
            }
          },
          {
            "id": "a2094d86f4de429784de005c792dba67",
            "position": 2
          }
        ]
      }
    ]
  }
]
* „languages“ describes to which languages the images are assigned. Here you have to take the UUID of the language.
* „useImageAsCoverForLanguage“ describes in which languages the image should be used as cover. Of course, there should only ever be one image as a cover per language.