const response = await fetch("https://api.sudomock.com/api/v1/renders", {
method: "POST",
headers: {
"x-api-key": "sm_your_api_key",
"Content-Type": "application/json",
},
body: JSON.stringify({
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}),
});
const data = await response.json();
console.log(data);
<?php
$payload = <<<'JSON'
{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}
JSON;
$ch = curl_init("https://api.sudomock.com/api/v1/renders");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"x-api-key: sm_your_api_key",
"Content-Type: application/json",
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import requests
payload = {'export_options': {'image_format': 'webp',
'image_size': 1920,
'quality': 95},
'mockup_uuid': '123e4567-e89b-12d3-a456-426614174000',
'smart_objects': [{'asset': {'fit': 'fill',
'position': {'left': 100,
'top': 100},
'rotate': 0,
'size': {'height': 600,
'width': 800},
'url': 'https://example.com/user-design.png'},
'color': {'blending_mode': 'multiply',
'hex': '#FFFFFF'},
'uuid': '223e4567-e89b-12d3-a456-426614174001'}]}
response = requests.post(
"https://api.sudomock.com/api/v1/renders",
headers={"x-api-key": "sm_your_api_key"},
json=payload,
)
response.raise_for_status()
print(response.json())
require "net/http"
require "uri"
uri = URI("https://api.sudomock.com/api/v1/renders")
request = Net::HTTP::Post.new(uri)
request["x-api-key"] = "sm_your_api_key"
request["Content-Type"] = "application/json"
request.body = <<~JSON
{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}
JSON
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts response.body
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
payload := []byte(`{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}`)
req, err := http.NewRequest("POST", "https://api.sudomock.com/api/v1/renders", bytes.NewBuffer(payload))
if err != nil {
panic(err)
}
req.Header.Set("x-api-key", "sm_your_api_key")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
String payload = """
{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.sudomock.com/api/v1/renders"))
.header("x-api-key", "sm_your_api_key")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using System.Net.Http;
using System.Text;
var payload = """
{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}
""";
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.sudomock.com/api/v1/renders");
request.Headers.Add("x-api-key", "sm_your_api_key");
request.Content = new StringContent(payload, Encoding.UTF8, "application/json");
var client = new HttpClient();
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
curl -X POST "https://api.sudomock.com/api/v1/renders" \
-H "x-api-key: sm_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}'
{
"data": {
"print_files": [
{
"export_path": "https://cdn.sudomock.com/mockup-assets/renders/c315f78f-d2c7-4541-b240-a9372842de94/render_8f2c1d4e.webp",
"smart_object_uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
},
"success": true
}
{
"job_id": "5f1c0b2a-7d43-4e9a-8c16-0b5d3f7a2e94",
"kind": "render",
"status": "queued",
"status_url": "/api/v1/jobs/5f1c0b2a-7d43-4e9a-8c16-0b5d3f7a2e94"
}
Render a PSD mockup
Renders a mockup by compositing layers with user-provided images.
const response = await fetch("https://api.sudomock.com/api/v1/renders", {
method: "POST",
headers: {
"x-api-key": "sm_your_api_key",
"Content-Type": "application/json",
},
body: JSON.stringify({
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}),
});
const data = await response.json();
console.log(data);
<?php
$payload = <<<'JSON'
{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}
JSON;
$ch = curl_init("https://api.sudomock.com/api/v1/renders");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"x-api-key: sm_your_api_key",
"Content-Type: application/json",
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import requests
payload = {'export_options': {'image_format': 'webp',
'image_size': 1920,
'quality': 95},
'mockup_uuid': '123e4567-e89b-12d3-a456-426614174000',
'smart_objects': [{'asset': {'fit': 'fill',
'position': {'left': 100,
'top': 100},
'rotate': 0,
'size': {'height': 600,
'width': 800},
'url': 'https://example.com/user-design.png'},
'color': {'blending_mode': 'multiply',
'hex': '#FFFFFF'},
'uuid': '223e4567-e89b-12d3-a456-426614174001'}]}
response = requests.post(
"https://api.sudomock.com/api/v1/renders",
headers={"x-api-key": "sm_your_api_key"},
json=payload,
)
response.raise_for_status()
print(response.json())
require "net/http"
require "uri"
uri = URI("https://api.sudomock.com/api/v1/renders")
request = Net::HTTP::Post.new(uri)
request["x-api-key"] = "sm_your_api_key"
request["Content-Type"] = "application/json"
request.body = <<~JSON
{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}
JSON
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts response.body
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
payload := []byte(`{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}`)
req, err := http.NewRequest("POST", "https://api.sudomock.com/api/v1/renders", bytes.NewBuffer(payload))
if err != nil {
panic(err)
}
req.Header.Set("x-api-key", "sm_your_api_key")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
String payload = """
{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.sudomock.com/api/v1/renders"))
.header("x-api-key", "sm_your_api_key")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using System.Net.Http;
using System.Text;
var payload = """
{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}
""";
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.sudomock.com/api/v1/renders");
request.Headers.Add("x-api-key", "sm_your_api_key");
request.Content = new StringContent(payload, Encoding.UTF8, "application/json");
var client = new HttpClient();
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
curl -X POST "https://api.sudomock.com/api/v1/renders" \
-H "x-api-key: sm_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}'
{
"data": {
"print_files": [
{
"export_path": "https://cdn.sudomock.com/mockup-assets/renders/c315f78f-d2c7-4541-b240-a9372842de94/render_8f2c1d4e.webp",
"smart_object_uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
},
"success": true
}
{
"job_id": "5f1c0b2a-7d43-4e9a-8c16-0b5d3f7a2e94",
"kind": "render",
"status": "queued",
"status_url": "/api/v1/jobs/5f1c0b2a-7d43-4e9a-8c16-0b5d3f7a2e94"
}
const response = await fetch("https://api.sudomock.com/api/v1/renders", {
method: "POST",
headers: {
"x-api-key": "sm_your_api_key",
"Content-Type": "application/json",
},
body: JSON.stringify({
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}),
});
const data = await response.json();
console.log(data);
<?php
$payload = <<<'JSON'
{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}
JSON;
$ch = curl_init("https://api.sudomock.com/api/v1/renders");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"x-api-key: sm_your_api_key",
"Content-Type: application/json",
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import requests
payload = {'export_options': {'image_format': 'webp',
'image_size': 1920,
'quality': 95},
'mockup_uuid': '123e4567-e89b-12d3-a456-426614174000',
'smart_objects': [{'asset': {'fit': 'fill',
'position': {'left': 100,
'top': 100},
'rotate': 0,
'size': {'height': 600,
'width': 800},
'url': 'https://example.com/user-design.png'},
'color': {'blending_mode': 'multiply',
'hex': '#FFFFFF'},
'uuid': '223e4567-e89b-12d3-a456-426614174001'}]}
response = requests.post(
"https://api.sudomock.com/api/v1/renders",
headers={"x-api-key": "sm_your_api_key"},
json=payload,
)
response.raise_for_status()
print(response.json())
require "net/http"
require "uri"
uri = URI("https://api.sudomock.com/api/v1/renders")
request = Net::HTTP::Post.new(uri)
request["x-api-key"] = "sm_your_api_key"
request["Content-Type"] = "application/json"
request.body = <<~JSON
{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}
JSON
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts response.body
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
payload := []byte(`{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}`)
req, err := http.NewRequest("POST", "https://api.sudomock.com/api/v1/renders", bytes.NewBuffer(payload))
if err != nil {
panic(err)
}
req.Header.Set("x-api-key", "sm_your_api_key")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
String payload = """
{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.sudomock.com/api/v1/renders"))
.header("x-api-key", "sm_your_api_key")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using System.Net.Http;
using System.Text;
var payload = """
{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}
""";
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.sudomock.com/api/v1/renders");
request.Headers.Add("x-api-key", "sm_your_api_key");
request.Content = new StringContent(payload, Encoding.UTF8, "application/json");
var client = new HttpClient();
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
curl -X POST "https://api.sudomock.com/api/v1/renders" \
-H "x-api-key: sm_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"export_options": {
"image_format": "webp",
"image_size": 1920,
"quality": 95
},
"mockup_uuid": "123e4567-e89b-12d3-a456-426614174000",
"smart_objects": [
{
"asset": {
"fit": "fill",
"position": {
"left": 100,
"top": 100
},
"rotate": 0,
"size": {
"height": 600,
"width": 800
},
"url": "https://example.com/user-design.png"
},
"color": {
"blending_mode": "multiply",
"hex": "#FFFFFF"
},
"uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
}'
{
"data": {
"print_files": [
{
"export_path": "https://cdn.sudomock.com/mockup-assets/renders/c315f78f-d2c7-4541-b240-a9372842de94/render_8f2c1d4e.webp",
"smart_object_uuid": "223e4567-e89b-12d3-a456-426614174001"
}
]
},
"success": true
}
{
"job_id": "5f1c0b2a-7d43-4e9a-8c16-0b5d3f7a2e94",
"kind": "render",
"status": "queued",
"status_url": "/api/v1/jobs/5f1c0b2a-7d43-4e9a-8c16-0b5d3f7a2e94"
}
Authorizations
API key with sm_ prefix. Get your key at https://sudomock.com/dashboard/api-keys
Body
What to render: which mockup, what goes into it, and how to export it.
UUID of the mockup to render. Must be a valid UUID, for example c315f78f-d2c7-4541-b240-a9372842de94. Obtained from the POST /api/v1/psd/upload or GET /api/v1/psd-mockups response.
^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"c315f78f-d2c7-4541-b240-a9372842de94"
List of smart objects with their assets. Required unless text_layers, group_layers or hidden_layers is provided.
Show child attributes
Show child attributes
Up to 50 text-layer overrides. Each entry targets a text-layer UUID and provides exactly one of text for a single-style layer or segments for a mixed-style layer. Omitted layers and styling fields keep their authored values.
50Show child attributes
Show child attributes
Group outline overrides. Each entry addresses a listed group by its own UUID; the change affects everything inside that group.
50Show child attributes
Show child attributes
Up to 50 layers to leave out of this render, each by the UUID that GET /api/v1/psd-mockups/{uuid}/layers lists for it, including the layers inside a smart object's contents. Hiding a group hides every layer inside it, and a layer clipped to a hidden layer is hidden with it, as in Photoshop. A layer hidden inside a smart object's contents is hidden in every copy of that smart object. A layer cannot be hidden and edited in the same request, and a smart object that receives an image cannot have layers inside it hidden. Omit to draw every layer the template shows.
50^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$["423e4567-e89b-12d3-a456-426614174003"]
Export configuration for format, size and quality. Every field has a default, so the whole object is optional.
Show child attributes
Show child attributes
{ "image_format": "webp", "image_size": 2048, "quality": 95 }
Optional label for export file naming (max 100 chars, alphanumeric + hyphen/underscore)
100"summer-tee-front"
If true, the render is QUEUED and the call returns 202 immediately with a job_id (poll GET /api/v1/jobs/{job_id}, or receive a webhook if one is configured). If false (default), the render runs synchronously and returns the result.
Response
Successful Response
The finished render and where to fetch it.
Response data
Show child attributes
Show child attributes
Success status
Non-fatal advisories about this render (e.g. requested size above the mockup's native resolution). Omitted when none.
Show child attributes
Show child attributes
[ { "code": "OUTPUT_EXCEEDS_MAX_RESOLUTION", "message": "Requested 4096px is above this mockup's native 3000px. The result is enlarged and may look softer than its native resolution. For the sharpest output, request 3000px or less." } ]
Was this page helpful?