Apiframe API Documentation
  • Get Started
  • My Account
    • Image credits
    • Generation modes
    • Delete My Account
  • Clients
    • Node.js Library
    • Python Client
    • Go Client
  • MEDIA UPLOAD APIS
    • Upload Image
    • Upload Audio
  • MIDJOURNEY
    • Authentication
    • Imagine
    • Reroll
    • Upscales
      • Upscale 1x
      • Upscale: Creative and Subtle
      • Upscale: 2x and 4x
    • Variations
    • Faceswap
    • Inpaint (Vary Region)
    • Outpaint (Zoom Out)
    • Pan
    • Shorten
    • Describe
    • Blend
    • Seed
    • Fetch
    • Fetch Many
    • Account Info
    • Statuses
    • Postman Collection
  • AI Photos
    • Upload and Prepare
    • Train
    • Generate
    • Best Input Images
  • IDEOGRAM
    • Imagine
    • Remix
    • Upscale
    • Describe
  • FLUX
    • Imagine
  • LUMA AI API
    • IMAGINE
    • EXTEND
  • SUNO AI API
    • IMAGINE
    • UPLOAD
    • EXTEND
    • LYRICS
  • UDIO AI API
    • IMAGINE
  • RUNWAY ML API
    • IMAGINE
  • KLING AI API
    • IMAGINE
    • VIRTUAL TRY ON
  • SORA AI API
  • Webhooks
  • MJ Banned Words
  • Help Me With Integration
  • FAQ
Powered by GitBook
On this page

Was this helpful?

  1. MIDJOURNEY
  2. Upscales

Upscale: Creative and Subtle

The Upscale (Subtle) option doubles the size of your image and keeps details very similar to the original adds Upscale (Creative) adds details to the image. Of course you first need to Upscale 1x.

PreviousUpscale 1xNextUpscale: 2x and 4x

Last updated 9 months ago

Was this helpful?

POST https://api.apiframe.pro/upscale-alt

Headers

Name
Value

Content-Type

application/json

Authorization*

Your APIFRAME API Key

Body

Name
Type
Description

parent_task_id*

string

The task ID of the image to upscale, you get it from the /upscale-1x request.

type*

string

The type of upscale. Can be "subtle" or "creative"

webhook_url

string

The final result and updates of this task will be posted at this URL.

webhook_secret

string

Will be passed as x-webhook-secret in the webhook call headers for authentication.

Response

// Success, the task has been submitted
{
  "task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a"
}
// Bad request
{
  "errors": [{ msg: "Invalid request" }]
}
// Invalid API Key
{}
// A server error occured
{}

This endpoint doesn't generate images instantly, you can use the endpoint to fetch the result or use .

The result (posted to the webhook_url or retrieved with the endpoint) looks like this:

{
    "task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
    "image_url": "https://............./xxxxx.png",
    "task_type": "upscale-creative"
}

If the job is not completed, you will get a result like this:

{
    "task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
    "task_type": "upscale-creative",
    "status": "processing",
    "percentage": "80"
}

Code samples

const axios = require('axios');
let data = JSON.stringify({
  "parent_task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
  "type": "creative"
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://api.apiframe.pro/upscale-alt',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'YOUR_API_KEY'
  },
  data : data
};

axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});
import requests
import json

url = "https://api.apiframe.pro/upscale-alt"

payload = json.dumps({
  "parent_task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
  "type": "creative"
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'YOUR_API_KEY'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.apiframe.pro/upscale-alt',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "parent_task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
    "type": "creative"
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Authorization: YOUR_API_KEY'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n    \"parent_task_id\": \"29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a\",\r\n    \"type\": \"ceative\"\r\n}");
Request request = new Request.Builder()
  .url("https://api.apiframe.pro/upscale-alt")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "YOUR_API_KEY")
  .build();
Response response = client.newCall(request).execute();
var headers = {
  'Content-Type': 'application/json',
  'Authorization': 'YOUR_API_KEY'
};
var data = json.encode({
  "parent_task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
  "type": "creative"
});
var dio = Dio();
var response = await dio.request(
  'https://api.apiframe.pro/upscale-alt',
  options: Options(
    method: 'POST',
    headers: headers,
  ),
  data: data,
);

if (response.statusCode == 200) {
  print(json.encode(response.data));
}
else {
  print(response.statusMessage);
}
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.apiframe.pro/upscale-alt");
request.Headers.Add("Authorization", "YOUR_API_KEY");
var content = new StringContent("{\r\n    \"parent_task_id\": \"29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a\",\r\n    \"type\": \"ceative\"\r\n}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "json"
require "net/http"

url = URI("https://api.apiframe.pro/upscale-alt")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "YOUR_API_KEY"
request.body = JSON.dump({
  "parent_task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
  "type": "creative"
})

response = https.request(request)
puts response.read_body

Fetch
webhooks
Fetch