cre8tiveAI PhotoRefiner

FREEMIUM
By radius5 | Updated a year ago | Video, Images

cre8tiveAI PhotoRefiner Overview

Followers: 0
Resources:
Product Website Terms of use
API Creator:
avatar
radius5
saichan
Rate API:
Log In to Rate API

README

Photo Refiner(高解像度化AI)とは、写真やイラストなどの画像を美しく高解像度化(超解像・アップコンバート)することができるAIです。ピクセル数(Pixel)を縦、横4倍に拡大することができます。
フォトリファイナーは、従来の画像を引き伸ばして中間を補間する技術とは異なります。
低解像度画像から高解像度画像を推測して生成するため、これまでの技術とは比較にならないほど美しく高解像度化することができます。

Photo Refinerとは

写真やイラスト等の画像を縦4倍、横4倍に高解像化するシステムです。最先端のAI技術(Deep learning)を用いた高解像度化AIです。AIの業界では超解像と呼ばれる技術です。映像業界では、映像を高解像度化することをアプコン、アップコンバージョン、アップコンバーターなどと呼びます

様々な種類の画像を高解像度に変換できる

人間の顔、動物、建物、風景、食べ物から、イラストや3Dビットマップまで様々な種類の画像を高解像度に変換することができます。

特大の画像も高速に画質を上げることができます

一辺が10000px 以上の超特大画像を生成することができます。Photo Refinerは、最先端のAI技術を用いることで世界最高精度で画像を高解像度化することができます。なお、本技術で特許を申請しております。

APIの利用方法

1./refine へ高解像度化したい画像のリクエストを送ります

  • リクエストパラメータ(JSON形式)

    • image : 高解像度化したい画像をbase64にエンコードした文字列
      **※エンコーディングの方法は後にpythonのサンプルコードがあるので参照してください
      **iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t+KAAAAAXNSR0IArs4c6QAAQABJREFUeAHtnQmYZVV171fNc/XcTQ/QNIOAgAMmosYhGCWKijgR/ECiqEFREodn8MUg5qmY5wM0UXBABREVQQ0Yo6AB49ggk0DPND1VV3XN81y3qt7at/p2V1fXcIcz7L3P73xff33r3nP2Xvu3TtX/nrPPXv+iSd2EDQIQgAAEIAABpwkUOx09wUMAAhCAAAQgkCaAoHMiQAACEIAABDwggKB7kESGAAEIQAACEEDQOQcgAAEIQAACHhBA0D1IIkOAAAQgAAEIIOicAxCAAAQgAAEPCCDoHiSRIUAAAhCAAAQQdM4BCEAAAhCAgAcEEHQPksgQIAABCEAAAgg65wAEIAABCEDAAwIIugdJZAgQgAAEIAABBJ1zAAIQgAAEIOABAQTdgyQyBAhAAAIQgACCzjkAAQhAAAIQ8IAAgu5BEhkCBCAAAQhAAEHnHIAABCAAAQh4QABB9yCJDAECEIAABCCAoHMOQAACEIAABDwggKB7kESGAAEIQAACEEDQOQcgAAEIQAACHhBA0D1IIkOAAAQgAAEIIOicAxCAAAQgAAEPCCDoHiSRIUAAAhCAAAQQdM4BCEAAAhCAgAcEEHQPksgQIAABCEAAAgg65wAEIAABCEDAAwIIugdJZAgQgAAEIAABBJ1zAAIQgAAEIOABAQTdgyQyBAhAAAIQgEApCCAAAQi4Su......

    • type : 画像種別フラグ(1: 写真, 2: イラスト)

    • noise : ノイズフラグ(1: なし, 2: 小, 3: 大)

  • レスポンス(JSON形式)

    • request_id : 結果の取得に使用しますので、必ず保存してください

2./result/refine のレスポンスで返ってきた request_id を使いポーリングを行います

  • リクエストパラメータ(JSON形式)

    • request_id : /refine のレスポンスで返ってきた request_id
  • レスポンス(JSON形式)

    • status :

      • pending:/refineへのリクエストが受け付けられ、高解像度化の処理を待機している状態です(時間を置いて再度リクエストを行ってください
      • on process:高解像度化の処理を行っており、画像が大きい場合は完了まで1分前後掛かることがあります(時間を置いて再度リクエストを行ってください
      • complete:高解像度化の処理が完了し、ダウンロード用のURLもレスポンスに含まれるようになります
    • download_url : status が complete の時のみ高解像度化された画像のダウンロードURLが含まれます(保存の期限は7日間になります)

高解像度化のサンプルコード(Python3.x)

import base64
import requests
import json
from time import sleep
​
image_path = 'path/to/target/image'
​
# Rapid API settings
rapid_api_host = 'cre8tiveai-photorefiner.p.rapidapi.com'
rapid_api_key = 'xxxxxxxxxxxxxxxxxxxxxxxxx' # see your X-RapidAPI-Key
​
# URL settings
photo_refiner_origin = 'https://' + rapid_api_host + '/pr_api/'
refine_url = photo_refiner_origin + 'refine'
result_url = photo_refiner_origin + 'result'
​
# Photo Refiner option settings
noise_amount = '1' # (1: なし, 2: 小, 3: 大)
image_type = '1' # (1: 写真, 2: イラスト)
​
def convert_image_to_base64_string(path_to_image):
    with open(path_to_image, 'rb') as f:
        image_base64 = base64.b64encode(f.read())
    return image_base64.decode()
​
if __name__ == '__main__':
​
    headers = {
        'x-rapidapi-host': rapid_api_host,
        'x-rapidapi-key': rapid_api_key,
        'content-type': 'application/json',
        'accept': 'application/json'
    }
​
    refine_payload = json.dumps({
        'image_name': 'image.png',
        'noise': noise_amount,
        'type': image_type,
        'image': convert_image_to_base64_string(image_path),
    })
​
    # post to refine endpoint
    refine_response_raw = requests.request('POST', refine_url, data=refine_payload, headers=headers)
​
    result_payload = refine_response_raw.text
​
    # polling to result endpoint
    for _ in range(5):
        result_response_raw = requests.request('POST', result_url, data=refine_response_raw.text, headers=headers)
        result_response = json.loads(result_response_raw.text)
​
        if result_response.get('status') == 'complete':
            print("download_url: ", result_response.get('download_url'))
            break
        else:
            print("Super resolution has not completed yet.")
        sleep(5)
Rating: 5 - Votes: 1