Skip to content

Быстрое начало

После успешного получения токена доступа, вы можете создавать задачи и проверять их статус

Базовый адрес https://app-server.phygital.plus/api/v2

Например, для создания задачи на Flux, наобходимо сделать POST запрос на /tasks

{
  "id": 58,
  "inputs": [
    {
      "name": "text_prompt",
      "type": "text",
      "optional": null,
      "value": "your prompt",
    },
    {
      "name": "init_img",
      "type": "image",
      "optional": true,
      "value": "",
    }
  ],
  "params": [
    {
      "name": "resolution",
      "type": "enum",
      "value": "1:1",
    },
    {
      "name": "denoise",
      "type": "number",
      "value": 0.75,
    },
    {
      "name": "n_samples",
      "type": "number",
      "value": 1,
    },
    {
      "name": "seed",
      "type": "number",
      "value": 693189540337817000,
    },
    {
      "name": "user_lora",
      "type": "enum",
      "value": null,
    },
    {
      "name": "user_lora_weight",
      "type": "number",
      "value": 1,
    },
    {
      "name": "lora_model_1",
      "type": "enum",
      "value": null,
    },
    {
      "name": "lora_model_weight_1",
      "type": "number",
      "value": 1,
    },
    {
      "name": "lora_model_2",
      "type": "enum",
      "value": null,
    },
    {
      "name": "lora_model_weight_2",
      "type": "number",
      "value": 1,
    },
    {
      "name": "side_x",
      "type": "number",
      "value": 1024,
    },
    {
      "name": "side_y",
      "type": "number",
      "value": 1024,
    },
    {
      "name": "cfg",
      "type": "number",
      "value": 3.5,
    },
    {
      "name": "num_inference_steps",
      "type": "number",
      "value": 20,
    },
    {
      "name": "negative_prompt",
      "type": "text",
      "value": null,
    },
    {
      "name": "compress_config.enable",
      "type": "bool",
      "value": true,
    }
  ],
  "outputs": [
    {
      "name": "out_image",
      "type": "array",
      "value": ""
    }
  ]
}

В качестве ответа придет json с ключем task_id, который необходимо использовать для опроса статуса задачи

Для проверки статуса задачи, необходимо отправить GET запрос на /tasks/queue-position/{task_id}

В качестве ответа придет объект, где ключевое поле будет status

Пример ответа на статус по задаче

{
  "status": "running",
  "position": 0,
  "outputs": [],
  "progress": null,
  "historyItem": {
    "id_global": "Phygital Creator/phygc-rnd-comfy-flux",
    "id": 58,
    "params": {
      "id": 3331500,
      "inputs": {
        "text_prompt": {
          "name": "text_prompt",
          "type": "text",
          "optional": null,
          "value": "your prompt",
        },
        "init_img": {
          "name": "init_img",
          "type": "image",
          "optional": true,
          "value": null,
        }
      },
      "outputs": {
        "out_image": {
          "name": "out_image",
          "type": "array",
          "value": ""
        }
      },
      "params": {
        "resolution": {
          "name": "resolution",
          "type": "enum",
          "value": "1:1",
        },
        "denoise": {
          "name": "denoise",
          "type": "number",
          "value": 0.75,
        },
        "n_samples": {
          "name": "n_samples",
          "type": "number",
          "value": 1,
        },
        "seed": {
          "name": "seed",
          "type": "number",
          "value": 968537139805027100,
        },
        "user_lora": {
          "name": "user_lora",
          "type": "enum",
          "value": null,
        },
        "user_lora_weight": {
          "name": "user_lora_weight",
          "type": "number",
          "value": 1,
        },
        "lora_model_1": {
          "name": "lora_model_1",
          "type": "enum",
          "value": null,
        },
        "lora_model_weight_1": {
          "name": "lora_model_weight_1",
          "type": "number",
          "value": 1,
        },
        "lora_model_2": {
          "name": "lora_model_2",
          "type": "enum",
          "value": null,
        },
        "lora_model_weight_2": {
          "name": "lora_model_weight_2",
          "type": "number",
          "value": 1,
        },
        "side_x": {
          "name": "side_x",
          "type": "number",
          "value": 1024,
        },
        "side_y": {
          "name": "side_y",
          "type": "number",
          "value": 1024,
        },
        "cfg": {
          "name": "cfg",
          "type": "number",
          "value": 3.5,
        },
        "num_inference_steps": {
          "name": "num_inference_steps",
          "type": "number",
          "value": 20,
        },
        "negative_prompt": {
          "name": "negative_prompt",
          "type": "text",
          "value": null,
        },
        "compress_config.enable": {
          "name": "compress_config.enable",
          "type": "bool",
          "value": true,
        }
      }
    },
    "name": null
  },
  "error_message": null
}

Когда статус переходит в done, в historyItem -> outputs будет ключ с выходным сокетом, он является объектом, в нем содержится ключ idв котором содержаться id результатов генерации

Чтобы скачать результат, необходимо по каждому id сделать запрос GET /storage-object/storage-object/download-link , где в качестве параметра obj_id передать id результата

В ответе будет объект, ключ download_link будет являться ссылкой на скачивание