NAV
Wallpapers.ai
shell python php javascript

Introduction

Wallpapers.ai платформа API'сине кош келиңиз!

Ар бир функция биздин колдонуучуларга Wallpapers.ai тутумунда AI менен обои түзүүгө жардам берүү үчүн иштелип чыккан.

API ачкычыңызды алуу үчүн аккаунт бетине өтүңүз.

Демейки Негизги URL

Wallpapers.ai API үчүн демейки базалык URL: https://api.wallpapers.ai/v1/

Эскертүү: коопсуздук максатында, бардык TLDWai.com API'лери HTTPS аркылуу гана тейленет.

Авторизация

Wallpapers.ai API колдонуу үчүн аккаунтуңузга байланышкан API ачкычы керек болот.

Авторизация мааниси Headers сурамында жөнөтүлүшү керек.

Authorization: <api_key>

Обои түзүү

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "коён мектепке барат, сабатсыз стили тату өнөр",
    "dimension": "desktop",
}
base_api_url = "https://api.wallpapers.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):
    r = requests.post(
        url=f"{api_url}/create-wallpaper/",
        json=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))
Create image

curl -X POST \
  https://api.wallpapers.ai/v1/create-wallpaper/ \
  -H 'Authorization: api_key' \
  -H 'Content-Type: application/json' \
  -d '{
    "terms": "коён мектепке барат, сабатсыз стили тату өнөр",
    "dimension": "desktop",
}'


Жооп

curl -X POST \
  https://api.wallpapers.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/test.jpeg'];
$api_url = "https://api.wallpapers.ai/v1/edit-image/";
$results_url = "https://api.wallpapers.ai/v1/results/";

function download_file($url, $filename){
    $curl = curl_init();
    $url = "https://api.wallpapers.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['terms'] = 'коён мектепке барат, сабатсыз стили тату өнөр';
    $post_data['dimension'] = 'desktop';

    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.wallpapers.ai/v1/create-wallpaper/'
const results_url = 'https://api.wallpapers.ai/v1/results/'

function convertFiles(file_list) {
    let data = {
        "terms": "коён мектепке барат, сабатсыз стили тату өнөр",
        "dimension": "desktop",
    };

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

    request({
        url: api_url,
        method: 'post',
        json: data,
        headers: {
            "Authorization": "api_key",
            "Content-Type": "application/json",
        }
    }, 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);

Reponse

/path/to/local/result.jpg

HTTP өтүнүчү

POST /create-wallpaper/

Суроо параметрлери

Параметр Түр Description
terms Талап кылынат AIга кандай обои түзгүңүз келгенин айтыңыз. коён мектепке барат, сабатсыз стили тату өнөр
dimension Кошумча Иш тактасы же телефондор үчүн обои алыңыз, эгер бош же нөл болсо "desktop" мааниси демейки болуп саналат. desktop же phone