NAV
Wallpapers.ai
shell python php javascript

Увод

Добродошли у АПИ платформе Валлпаперс.аи!

Свака функција је дизајнирана да помогне нашим корисницима да лакше креирају позадине помоћу вештачке интелигенције на систему Валлпаперс.аи.

Да бисте добили свој АПИ кључ, идите на страницу налога .

Подразумевани основни УРЛ

Подразумевани основни УРЛ за Валлпаперс.аи АПИ је: хттпс: //апи.валлпаперс.аи/в1/

Напомена: из безбедносних разлога, сви ТЛДВаи.цом АПИ-ји се служе само преко ХТТПС-а.

Овлашћење

Да бисте користили Валлпаперс.аи АПИ, биће вам потребан АПИ кључ који је повезан са вашим налогом .

Вредност ауторизације треба послати у захтеву заглавља.

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

ХТТП захтев

POST /create-wallpaper/

Параметри упита

Параметар Тип Опис
terms Потребан Реците АИ коју позадину желите да направите. зец иде у школу, неук стил тетоважа
dimension Опционо Набавите позадину за десктоп или телефоне, вредност "desktop" је подразумевана ако је празна или нула. desktop или phone