/create

Для замены лица на фотографии вам нужно отправить 2 изображения в наш API. Вы можете отправить их в виде ссылок или в image/base64 и они должны быть обязательно в форматах PNG или JPEG.

Чтобы отправлять авторизованные запросы нужно получить API ключ, как это сделать написано в разделе С чего начать?

Рассмотрим пример, где мы хотим заменить лицо на фотографии sourceImage лицом с фотографии faceImage. Обратите внимание: лицо должно быть хорошо видимым, повернуто в сторону камеры и не должно быть слишком близко (голова не должна быть обрезана), иначе возможны ошибки.

Создать задачу на замену лица

POST https://gptunnel.ru/v1/faceswap/create

Замена лица на фото может занимать от 1 до 30 секунд в зависимости от загрузки сервера, поэтому мы создаем асинхронные задачи и получаем результат по мере готовности через webhook либо дополнительный запрос.

Headers

NameTypeDescription

Authorization*

string

API ключ

Request Body

NameTypeDescription

sourceImage*

string

png or jpeg

faceImage*

string

png or jpeg

useWalletBalance

bool

Использовать личный счет

enhanceFace

bool

Улучшить качество лица

enhanceBackground

bool

Улучшить качество фона

webhook

string

URL для отправки результата

{
	"id": "65819c485337280001a609e7",
	"parentId": null,
	"object": "task",
	"type": "@FaceSwap",
	"percent": 0,
	"status": "idle",
	"error": null,
	"usage": {
		"prompt_tokens": 0,
		"completion_tokens": 1,
		"total_tokens": 1,
		"prompt_cost": 0,
		"completion_cost": 15,
		"total_cost": 15
	}
}

Пример запроса

import axios from 'axios'

const request = axios({
  method: 'POST',
  url: 'https://gptunnel.ru/v1/faceswap/create',
  headers: {
    // use your API key here
    Authorization: 'YOUR_API_KEY',
  },
  data: {
    sourceImage: "https://storage.yandexcloud.net/timenote/fs_source.jpg",
    faceImage: "https://storage.yandexcloud.net/timenote/fs_face.jpg",
    webhook: null,
    useWalletBalance: false
  }
})

request.then((result) => {
  console.log(result)
}).catch((error) => {
  console.error(error)
})

Пример ответа

{
	"id": "65819c485337280001a609e7",
	"parentId": null,
	"object": "task",
	"type": "@FaceSwap",
	"percent": 0,
	"status": "idle",
	"error": null,
	"usage": {
		"prompt_tokens": 0,
		"completion_tokens": 1,
		"total_tokens": 1,
		"prompt_cost": 0,
		"completion_cost": 15,
		"total_cost": 15
	}
}

Результат будет получен через webhook, который был указан в запросе, или через метод /result. Информацию о методе /result можно найти на следующей странице.

Last updated