NAV

InteriorDecorator.ai
shell python php javascript

تعارف

InteriorDecorator.ai پليٽ فارم API تي ڀليڪار!

هر خصوصيت اسان جي استعمال ڪندڙن کي وڌيڪ آساني سان ٺاهڻ، ايڊٽ ڪرڻ يا حاصل ڪرڻ ۾ مدد ڪرڻ لاءِ ٺاهي وئي آهي AI سان InteriorDecorator.ai جي سسٽم تي.

پنھنجي API ڪي حاصل ڪرڻ لاءِ مھرباني ڪري وڃو اڪائونٽ صفحي .

ڊفالٽ بيس URL

InteriorDecorator.ai API لاءِ ڊفالٽ بنيادي URL آهي: https://api.interiordecorator.ai/v1/

نوٽ: حفاظتي سببن لاء، سڀ InteriorDecorator.ai APIs صرف HTTPS تي پيش ڪيا ويا آهن.

اختيار ڏيڻ

InteriorDecorator.ai API استعمال ڪرڻ لاءِ، توهان کي API جي ضرورت پوندي جيڪا توهان جي اڪائونٽ سان ڳنڍيل هجي.

اختيار جي قيمت کي هيڊر جي درخواست ۾ موڪليو وڃي.

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 ماڊل چونڊيو. اسان وٽ آهي اسٽيبل ڊفيوژن 1.5 ۽ اوپن جورني 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