NAV

InteriorDecorator.ai
shell python php javascript

ແນະນຳ

ຍິນດີຕ້ອນຮັບສູ່ API ແພລດຟອມ InteriorDecorator.ai!

ແຕ່ລະຄຸນສົມບັດຖືກອອກແບບເພື່ອຊ່ວຍໃຫ້ຜູ້ໃຊ້ຂອງພວກເຮົາສ້າງ, ແກ້ໄຂ ຫຼືຮັບຮູບພາບອອກແບບພາຍໃນໄດ້ງ່າຍຂຶ້ນດ້ວຍ AI ໃນລະບົບ InteriorDecorator.ai.

ເພື່ອຮັບເອົາລະຫັດ API ຂອງທ່ານ, ກະລຸນາໄປທີ່ ໜ້າບັນຊີ .

URL ພື້ນຖານເລີ່ມຕົ້ນ

URL ພື້ນຖານເລີ່ມຕົ້ນສໍາລັບ InsideDecorator.ai API ແມ່ນ: https://api.interiordecorator.ai/v1/

ຫມາຍເຫດ: ສໍາລັບເຫດຜົນດ້ານຄວາມປອດໄພ, APIs InteriorDecorator.ai ທັງຫມົດແມ່ນໃຫ້ບໍລິການຜ່ານ HTTPS ເທົ່ານັ້ນ.

ການອະນຸຍາດ

ເພື່ອໃຊ້ API InteriorDecorator.ai, ທ່ານຈະຕ້ອງໃຊ້ລະຫັດ API ທີ່ເຊື່ອມຕໍ່ກັບ ບັນຊີ ຂອງທ່ານ.

ມູນຄ່າການອະນຸຍາດຄວນຈະຖືກສົ່ງໃນຄໍາຮ້ອງຂໍ headers.

Authorization: <api_key>

ແນວຄວາມຄິດການອອກແບບພາຍໃນ

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "room_type": "Living room",
    "style": "Modern",
    "upscale": False,
    "model": sd15,
}
file_path = "test_files/sala.png"
base_api_url = "https://api.interiordecorator.ai"
api_url = f"{base_api_url}/v1"


def download_file(url, local_filename):
    url = f"{base_api_url}/{url}"
    with requests.get(url, stream=True) as r:
        with open(local_filename, "wb") as f:
            shutil.copyfileobj(r.raw, f)
    return local_filename


def convert_files(api_url, params, headers):
    files = [eval(f'("files", open("{file_path}", "rb"))')]
    r = requests.post(
        url=f"{api_url}/interior-image/",
        files=files,
        data=params,
        headers=headers
    )
    return r.json()


def get_results(params):
    if params.get("error"):
        print(params)
        return

    r = requests.post(
        url=f"{api_url}/results/",
        data=params
    )
    data = r.json()
    finished = data.get("finished")

    while not finished:
        if int(data.get("queue_count")) > 0:
            print("queue: %s" % data.get("queue_count"))

        time.sleep(5)
        results = get_results(params)
        results = json.dumps(results)

        if results:
            break

    if finished:
        for f in data.get("files"):
            print(f.get("url"))
            download_file("%s" % f.get("url"), "%s" % f.get("filename"))
        return {"finished": "files downloaded"}
    return r.json()


get_results(convert_files(api_url, params, headers))

curl -X POST \
  https://api.interiordecorator.ai/v1/interior-image/ \
  -H 'Authorization: api_key' \
  -F 'files=@test_files/sala.png' \
  -F 'room_type=Living room' \
  -F 'style=Modern' \
  -F 'upscale=false' \
  -F 'model=sd15'


ໄດ້ຜົນ

curl -X POST \
  https://api.interiordecorator.ai/v1/results/ \
  -F 'uuid=response_uuid'
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ERROR | E_PARSE);

$headers = array("Authorization: api_key");
$file_list = ['/test_files/sala.png'];
$api_url = "https://api.interiordecorator.ai/v1/interior-image/";
$results_url = "https://api.interiordecorator.ai/v1/results/";

function download_file($url, $filename){
    $curl = curl_init();
    $url = "https://api.interiordecorator.ai" . $url;
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSLVERSION, 3);
    $data = curl_exec($curl);
    $error = curl_error($curl);
    curl_close ($curl);
    # Make sure destionation path exists
    $destination_path = "/path/to/result/files/";
    $destination_file = fopen($destination_path . $filename, "w+");
    fwrite($destination_file, $data);
    fclose($destination_file);
}

function convert_files($file_list, $headers, $api_url) {
    $post_data['room_type'] = 'Living room';
    $post_data['style'] = 'Modern';
    $post_data['upscale'] = false;
    $post_data['model'] = sd15;

    foreach ($file_list as $index => $file) {
        $post_data['file[' . $index . ']'] = curl_file_create(
            realpath($file),
            mime_content_type($file),
            basename($file)
        );
    }

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $api_url);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $content = curl_exec($curl);
    curl_close($curl);

    return json_decode($content);
}

function get_results($params, $results_url, $headers) {
    if ($params->error) {
        print_r($params->error);
        return;
    }

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $results_url);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, json_decode(json_encode($params), true));
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $content = json_decode(curl_exec($curl));
    curl_close($curl);

    if ($content->finished == false) {
        if (intval($content->queue_count) > 0) {
            print_r("queue: $content->queue_count");
        }

        sleep(5);
        $results = get_results($params, $results_url, $headers);
        return;
    }

    foreach ($content->files as $f) {
        download_file($f->url, $f->filename);
    }
}

$resp = convert_files($file_list, $headers, $api_url);
get_results($resp, $results_url, $headers);
?>
const request = require('request');
const fs = require('fs');

let file_list = ['/test_files/sala.png']
const api_url = 'https://api.interiordecorator.ai/v1/interior-image/'
const results_url = 'https://api.interiordecorator.ai/v1/results/'

function convertFiles(file_list) {
    let formData = {
        "room_type": "Living room",
        "style": "Modern",
        "upscale": false,
        "model": sd15,
    };

    for (var i = 0; i < file_list.length; i++) {
        formData['files'] = fs.createReadStream(file_list[i]);
    }

    request({
        url: api_url,
        method: 'post',
        formData: formData,
        headers: {
            "Authorization": "api_key",
            "Content-Type": "multipart/form-data",
        }
    }, function (err, res, body) {
        if (err) {
            console.error(err);
            return err;
        }
        getResults(JSON.parse(body));
    });
}

function getResults(data) {
    if (data.error) {
        console.error(data);
        return data.error;
    }
    request({
        url: results_url,
        method: 'post',
        formData: data
    }, function (e, r, body) {
        response = JSON.parse(body);
        console.log(response);
        if (!response.finished) {
            setTimeout(
                function () {
                    getResults(data);
                }, 1000
            );
        }

        console.log(response);
    })
}

convertFiles(file_list);

ຕອບສະໜອງ

/path/to/local/result.jpg

ການຮ້ອງຂໍ HTTP

POST /interior-image/

ຕົວກໍານົດການສອບຖາມ

ພາລາມິເຕີ ປະເພດ ລາຍລະອຽດ ຕົວຢ່າງ
file ຕ້ອງການ ເລືອກຮູບພາບທີ່ AI ຈະເອົາເປັນພື້ນຖານ.
room_type ຕ້ອງການ ເລືອກວ່າສ່ວນໃດຂອງເຮືອນຂອງເຈົ້າຮູບມາຈາກ. Living room, Bedroom, Bath room... ບັນຊີລາຍຊື່ເຕັມຂ້າງລຸ່ມນີ້
style ຕ້ອງການ ເລືອກຮູບແບບທີ່ທ່ານຕ້ອງການໃຫ້ AI ໃຫ້ຮູບຂອງເຈົ້າ Eastern, Modern, Minimalist... ບັນຊີລາຍຊື່ເຕັມຂ້າງລຸ່ມນີ້
upscale ທາງເລືອກ AI ຈະສົ່ງຄືນຮູບພາບທີ່ມີຂະໜາດໃຫຍ່ຂຶ້ນ. true ຫຼື false
model ທາງເລືອກ ເລືອກຮູບແບບ AI ເພື່ອສ້າງແນວຄວາມຄິດການອອກແບບ. ພວກເຮົາມີ Stable Diffusion 1.5 ແລະ Openjourney v4 sd15 ຫຼື openjourney-v4

ຄ່າທີ່ເປັນໄປໄດ້ສຳລັບ room_type ແມ່ນ:
Living room, Bedroom, Bath room, Attic, Kitchen, Dining room, Study room, Home office, Gaming room, House exterior, Outdoor pool area, Outdoor patio, Outdoor garden, Meeting room, Workshop, Fitness gym, Coffee shop, Clothing store, Walk in closet, Toilet, Restaurant, Office, Coworking space, Hotel lobby, Hotel room, Hotel bathroom, Exhibition space, ຫຼື Mudroom

ຄ່າທີ່ເປັນໄປໄດ້ສໍາລັບ style ແມ່ນ:
Eastern, Modern, Minimalist, Contemporary, Scandinavian, Zen, Midcentury modern, Tropical, Art deco, Farmhouse, Japanese design, Rustic, Bohemian, Coastal, Cottagecore, Vintage, French country, Gaming room, Baroque, Ski chalet, Christmas, Tribal, Medieval, Chinese New Year, Halloween ຫຼື Neoclassic