NAV
Wallpapers.ai
shell python php javascript

Inleiding

Welkom by die Wallpapers.ai platform API!

Elke kenmerk is ontwerp om ons gebruikers makliker te help om agtergronde met AI op Wallpapers.ai se stelsel te skep.

Gaan asseblief na die rekeningbladsy om jou API-sleutel te kry.

Verstek basis-URL

Die standaard basis-URL vir Wallpapers.ai API is: https://api.wallpapers.ai/v1/

Let wel: vir sekuriteitsredes word alle TLDWai.com API's slegs oor HTTPS bedien.

Magtiging

Om die Wallpapers.ai API te gebruik, het jy die API-sleutel nodig wat aan jou rekening gekoppel is.

Die magtigingswaarde moet in Headers-versoek gestuur word.

Authorization: <api_key>

Skep muurpapier

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "haas wat skool toe gaan, onkundige styl tatoeëerkuns",
    "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": "haas wat skool toe gaan, onkundige styl tatoeëerkuns",
    "dimension": "desktop",
}'


Reaksie

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'] = 'haas wat skool toe gaan, onkundige styl tatoeëerkuns';
    $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": "haas wat skool toe gaan, onkundige styl tatoeëerkuns",
        "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-versoek

POST /create-wallpaper/

Navraag parameters

Parameter Tik Beskrywing
terms Vereis Vertel die KI watter muurpapier jy wil skep. haas wat skool toe gaan, onkundige styl tatoeëerkuns
dimension Opsioneel Kry plakpapier vir rekenaars of fone, "desktop" waarde is verstek indien leeg of nul. desktop of phone