Generate image
curl --request POST \
--url https://api.siray.ai/v1/images/generations/async \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"aspect_ratio": "1:1",
"bbox_list": [
[
[
0,
0,
512,
512
]
]
],
"color_palette": [
{
"hex": "#FF5733",
"ratio": "1"
}
],
"enable_sequential": true,
"model": "alibaba/wan-2.7-image-t2i-spicy",
"n": 1,
"prompt": "example_value",
"prompt_expansion_enable": true,
"seed": -1,
"size": "1k"
}
'import requests
url = "https://api.siray.ai/v1/images/generations/async"
payload = {
"aspect_ratio": "1:1",
"bbox_list": [[[0, 0, 512, 512]]],
"color_palette": [
{
"hex": "#FF5733",
"ratio": "1"
}
],
"enable_sequential": True,
"model": "alibaba/wan-2.7-image-t2i-spicy",
"n": 1,
"prompt": "example_value",
"prompt_expansion_enable": True,
"seed": -1,
"size": "1k"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
aspect_ratio: '1:1',
bbox_list: [[[0, 0, 512, 512]]],
color_palette: [{hex: '#FF5733', ratio: '1'}],
enable_sequential: true,
model: 'alibaba/wan-2.7-image-t2i-spicy',
n: 1,
prompt: 'example_value',
prompt_expansion_enable: true,
seed: -1,
size: '1k'
})
};
fetch('https://api.siray.ai/v1/images/generations/async', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.siray.ai/v1/images/generations/async",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'aspect_ratio' => '1:1',
'bbox_list' => [
[
[
0,
0,
512,
512
]
]
],
'color_palette' => [
[
'hex' => '#FF5733',
'ratio' => '1'
]
],
'enable_sequential' => true,
'model' => 'alibaba/wan-2.7-image-t2i-spicy',
'n' => 1,
'prompt' => 'example_value',
'prompt_expansion_enable' => true,
'seed' => -1,
'size' => '1k'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.siray.ai/v1/images/generations/async"
payload := strings.NewReader("{\n \"aspect_ratio\": \"1:1\",\n \"bbox_list\": [\n [\n [\n 0,\n 0,\n 512,\n 512\n ]\n ]\n ],\n \"color_palette\": [\n {\n \"hex\": \"#FF5733\",\n \"ratio\": \"1\"\n }\n ],\n \"enable_sequential\": true,\n \"model\": \"alibaba/wan-2.7-image-t2i-spicy\",\n \"n\": 1,\n \"prompt\": \"example_value\",\n \"prompt_expansion_enable\": true,\n \"seed\": -1,\n \"size\": \"1k\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.siray.ai/v1/images/generations/async")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"aspect_ratio\": \"1:1\",\n \"bbox_list\": [\n [\n [\n 0,\n 0,\n 512,\n 512\n ]\n ]\n ],\n \"color_palette\": [\n {\n \"hex\": \"#FF5733\",\n \"ratio\": \"1\"\n }\n ],\n \"enable_sequential\": true,\n \"model\": \"alibaba/wan-2.7-image-t2i-spicy\",\n \"n\": 1,\n \"prompt\": \"example_value\",\n \"prompt_expansion_enable\": true,\n \"seed\": -1,\n \"size\": \"1k\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.siray.ai/v1/images/generations/async")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"aspect_ratio\": \"1:1\",\n \"bbox_list\": [\n [\n [\n 0,\n 0,\n 512,\n 512\n ]\n ]\n ],\n \"color_palette\": [\n {\n \"hex\": \"#FF5733\",\n \"ratio\": \"1\"\n }\n ],\n \"enable_sequential\": true,\n \"model\": \"alibaba/wan-2.7-image-t2i-spicy\",\n \"n\": 1,\n \"prompt\": \"example_value\",\n \"prompt_expansion_enable\": true,\n \"seed\": -1,\n \"size\": \"1k\"\n}"
response = http.request(request)
puts response.read_body{
"code": "success",
"data": {
"task_id": "<string>"
},
"message": "<string>",
"fail_code": "<string>"
}Alibaba
Wan 2.7 Image t2i Spicy
POST
/
v1
/
images
/
generations
/
async
Generate image
curl --request POST \
--url https://api.siray.ai/v1/images/generations/async \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"aspect_ratio": "1:1",
"bbox_list": [
[
[
0,
0,
512,
512
]
]
],
"color_palette": [
{
"hex": "#FF5733",
"ratio": "1"
}
],
"enable_sequential": true,
"model": "alibaba/wan-2.7-image-t2i-spicy",
"n": 1,
"prompt": "example_value",
"prompt_expansion_enable": true,
"seed": -1,
"size": "1k"
}
'import requests
url = "https://api.siray.ai/v1/images/generations/async"
payload = {
"aspect_ratio": "1:1",
"bbox_list": [[[0, 0, 512, 512]]],
"color_palette": [
{
"hex": "#FF5733",
"ratio": "1"
}
],
"enable_sequential": True,
"model": "alibaba/wan-2.7-image-t2i-spicy",
"n": 1,
"prompt": "example_value",
"prompt_expansion_enable": True,
"seed": -1,
"size": "1k"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
aspect_ratio: '1:1',
bbox_list: [[[0, 0, 512, 512]]],
color_palette: [{hex: '#FF5733', ratio: '1'}],
enable_sequential: true,
model: 'alibaba/wan-2.7-image-t2i-spicy',
n: 1,
prompt: 'example_value',
prompt_expansion_enable: true,
seed: -1,
size: '1k'
})
};
fetch('https://api.siray.ai/v1/images/generations/async', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.siray.ai/v1/images/generations/async",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'aspect_ratio' => '1:1',
'bbox_list' => [
[
[
0,
0,
512,
512
]
]
],
'color_palette' => [
[
'hex' => '#FF5733',
'ratio' => '1'
]
],
'enable_sequential' => true,
'model' => 'alibaba/wan-2.7-image-t2i-spicy',
'n' => 1,
'prompt' => 'example_value',
'prompt_expansion_enable' => true,
'seed' => -1,
'size' => '1k'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.siray.ai/v1/images/generations/async"
payload := strings.NewReader("{\n \"aspect_ratio\": \"1:1\",\n \"bbox_list\": [\n [\n [\n 0,\n 0,\n 512,\n 512\n ]\n ]\n ],\n \"color_palette\": [\n {\n \"hex\": \"#FF5733\",\n \"ratio\": \"1\"\n }\n ],\n \"enable_sequential\": true,\n \"model\": \"alibaba/wan-2.7-image-t2i-spicy\",\n \"n\": 1,\n \"prompt\": \"example_value\",\n \"prompt_expansion_enable\": true,\n \"seed\": -1,\n \"size\": \"1k\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.siray.ai/v1/images/generations/async")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"aspect_ratio\": \"1:1\",\n \"bbox_list\": [\n [\n [\n 0,\n 0,\n 512,\n 512\n ]\n ]\n ],\n \"color_palette\": [\n {\n \"hex\": \"#FF5733\",\n \"ratio\": \"1\"\n }\n ],\n \"enable_sequential\": true,\n \"model\": \"alibaba/wan-2.7-image-t2i-spicy\",\n \"n\": 1,\n \"prompt\": \"example_value\",\n \"prompt_expansion_enable\": true,\n \"seed\": -1,\n \"size\": \"1k\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.siray.ai/v1/images/generations/async")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"aspect_ratio\": \"1:1\",\n \"bbox_list\": [\n [\n [\n 0,\n 0,\n 512,\n 512\n ]\n ]\n ],\n \"color_palette\": [\n {\n \"hex\": \"#FF5733\",\n \"ratio\": \"1\"\n }\n ],\n \"enable_sequential\": true,\n \"model\": \"alibaba/wan-2.7-image-t2i-spicy\",\n \"n\": 1,\n \"prompt\": \"example_value\",\n \"prompt_expansion_enable\": true,\n \"seed\": -1,\n \"size\": \"1k\"\n}"
response = http.request(request)
puts response.read_body{
"code": "success",
"data": {
"task_id": "<string>"
},
"message": "<string>",
"fail_code": "<string>"
}Body
application/json
Request payload
Request format for image generation models
Whether to enable sequential group image output. When enabled, state the number of images to generate in the prompt and describe what each image looks like, for example "generate 4 images: the first one is ..., the second one is ...". The n parameter then sets the maximum number of images to generate.
Example:
true
Number of outputs to generate. When enable_sequential is true, this is the maximum number of images to generate; the actual count is determined by the number of images described in the prompt. Billing is based on the images actually generated, not this maximum
Required range:
1 <= x <= 12Response
200 - application/json
Successful response
Standard async task creation response
