import { writeFile } from "node:fs/promises";
const response = await fetch("https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask", {
method: "GET",
});
if (!response.ok) throw new Error(await response.text());
await writeFile("changed_mask.png", Buffer.from(await response.arrayBuffer()));
<?php
$ch = curl_init("https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($status !== 200) {
exit($response);
}
file_put_contents("changed_mask.png", $response);
import requests
response = requests.get(
"https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask",
)
response.raise_for_status()
with open("changed_mask.png", "wb") as out:
out.write(response.content)
require "net/http"
require "uri"
uri = URI("https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask")
request = Net::HTTP::Get.new(uri)
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
http.request(request)
end
raise response.body unless response.is_a?(Net::HTTPSuccess)
File.binwrite("changed_mask.png", response.body)
package main
import (
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask", nil)
if err != nil {
panic(err)
}
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
if res.StatusCode != http.StatusOK {
panic(string(body))
}
if err := os.WriteFile("changed_mask.png", body, 0o644); err != nil {
panic(err)
}
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.file.Files;
import java.nio.file.Path;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask"))
.GET()
.build();
HttpResponse<byte[]> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofByteArray());
if (response.statusCode() != 200) {
throw new RuntimeException(new String(response.body()));
}
Files.write(Path.of("changed_mask.png"), response.body());
using System.Net.Http;
var request = new HttpRequestMessage(HttpMethod.Get, "https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask");
var client = new HttpClient();
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
File.WriteAllBytes("changed_mask.png", await response.Content.ReadAsByteArrayAsync());
curl -X GET "https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask" \
-o changed_mask.png
"<string>"{
"error": {
"code": "validation_error",
"message": "<string>",
"retryable": true,
"details": {}
}
}{
"error": {
"code": "validation_error",
"message": "<string>",
"retryable": true,
"details": {}
}
}Download the mask of every pixel a fix may have changed
A grayscale PNG with the uploaded image’s exact width and height: white (255) where the
result’s pixels may differ from the upload and black (0) where they equal it. A band along the
edges, outside which every pixel equals the upload, or all white when every pixel changed
(resampled). Its white share is result.changed_share.
GET
/
v1
/
jobs
/
{job_id}
/
changed_mask
import { writeFile } from "node:fs/promises";
const response = await fetch("https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask", {
method: "GET",
});
if (!response.ok) throw new Error(await response.text());
await writeFile("changed_mask.png", Buffer.from(await response.arrayBuffer()));
<?php
$ch = curl_init("https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($status !== 200) {
exit($response);
}
file_put_contents("changed_mask.png", $response);
import requests
response = requests.get(
"https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask",
)
response.raise_for_status()
with open("changed_mask.png", "wb") as out:
out.write(response.content)
require "net/http"
require "uri"
uri = URI("https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask")
request = Net::HTTP::Get.new(uri)
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
http.request(request)
end
raise response.body unless response.is_a?(Net::HTTPSuccess)
File.binwrite("changed_mask.png", response.body)
package main
import (
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask", nil)
if err != nil {
panic(err)
}
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
if res.StatusCode != http.StatusOK {
panic(string(body))
}
if err := os.WriteFile("changed_mask.png", body, 0o644); err != nil {
panic(err)
}
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.file.Files;
import java.nio.file.Path;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask"))
.GET()
.build();
HttpResponse<byte[]> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofByteArray());
if (response.statusCode() != 200) {
throw new RuntimeException(new String(response.body()));
}
Files.write(Path.of("changed_mask.png"), response.body());
using System.Net.Http;
var request = new HttpRequestMessage(HttpMethod.Get, "https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask");
var client = new HttpClient();
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
File.WriteAllBytes("changed_mask.png", await response.Content.ReadAsByteArrayAsync());
curl -X GET "https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask" \
-o changed_mask.png
"<string>"{
"error": {
"code": "validation_error",
"message": "<string>",
"retryable": true,
"details": {}
}
}{
"error": {
"code": "validation_error",
"message": "<string>",
"retryable": true,
"details": {}
}
}import { writeFile } from "node:fs/promises";
const response = await fetch("https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask", {
method: "GET",
});
if (!response.ok) throw new Error(await response.text());
await writeFile("changed_mask.png", Buffer.from(await response.arrayBuffer()));
<?php
$ch = curl_init("https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($status !== 200) {
exit($response);
}
file_put_contents("changed_mask.png", $response);
import requests
response = requests.get(
"https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask",
)
response.raise_for_status()
with open("changed_mask.png", "wb") as out:
out.write(response.content)
require "net/http"
require "uri"
uri = URI("https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask")
request = Net::HTTP::Get.new(uri)
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
http.request(request)
end
raise response.body unless response.is_a?(Net::HTTPSuccess)
File.binwrite("changed_mask.png", response.body)
package main
import (
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask", nil)
if err != nil {
panic(err)
}
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
if res.StatusCode != http.StatusOK {
panic(string(body))
}
if err := os.WriteFile("changed_mask.png", body, 0o644); err != nil {
panic(err)
}
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.file.Files;
import java.nio.file.Path;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask"))
.GET()
.build();
HttpResponse<byte[]> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofByteArray());
if (response.statusCode() != 200) {
throw new RuntimeException(new String(response.body()));
}
Files.write(Path.of("changed_mask.png"), response.body());
using System.Net.Http;
var request = new HttpRequestMessage(HttpMethod.Get, "https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask");
var client = new HttpClient();
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
File.WriteAllBytes("changed_mask.png", await response.Content.ReadAsByteArrayAsync());
curl -X GET "https://makeseamless.com/v1/jobs/job_2432c1827f32450f800694e552e9915c/changed_mask" \
-o changed_mask.png
Path Parameters
The job's id, from POST /v1/fix.
Pattern:
^job_[0-9a-f]{32}$Response
The changed area.
The response is of type file.
⌘I