HEICtoPNG APIは、HEIC形式の画像をPNG形式に変換するためのAPIです。iOSやmacOSデバイスで利用されるHEIC形式の画像を、より一般的なPNG形式に変換することで、ウェブやアプリケーションでの互換性を向上させます。
https://events-front.mixeder.net/v2/convertion/heictopng/
{
"success": true,
"converted_image": "data:image/png;base64,iVBORw0..."
}
{
"error": "Conversion failed"
}
<?php
// APIエンドポイントとAPIキー
$endpoint = 'https://events-front.mixeder.net/v2/convertion/heictopng/';
$apiKey = 'YOUR_API_KEY';
// 送信するファイルパス
$filePath = '/path/to/your/image.heic';
// cURLを使用してAPIにPOSTリクエストを送信
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $endpoint,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"api-key: $apiKey",
"Content-Type: multipart/form-data"
],
CURLOPT_POSTFIELDS => [
'file' => new CURLFile($filePath)
]
]);
$response = curl_exec($curl);
if (curl_errno($curl)) {
echo 'cURL Error: ' . curl_error($curl);
exit;
}
curl_close($curl);
// レスポンスを表示
$data = json_decode($response, true);
if (isset($data['success']) && $data['success'] === true) {
// PNG画像の保存
file_put_contents('/path/to/output/image.png', base64_decode($data['converted_image']));
echo "Image converted successfully.";
} else {
echo "Error: " . ($data['error'] ?? 'Unknown error');
}
import requests
# APIエンドポイントとAPIキー
url = "https://events-front.mixeder.net/v2/convertion/heictopng/"
api_key = "YOUR_API_KEY"
file_path = "path/to/your/image.heic"
# ファイルをPOSTリクエストで送信
with open(file_path, "rb") as file:
headers = {"api-key": api_key}
files = {"file": file}
response = requests.post(url, headers=headers, files=files)
# レスポンスを解析
if response.status_code == 200:
data = response.json()
if data.get("success"):
# PNG画像の保存
with open("output_image.png", "wb") as output:
output.write(base64.b64decode(data["converted_image"]))
print("Image converted successfully.")
else:
print(f"Error: {data.get('error')}")
else:
print(f"HTTP Error: {response.status_code}")
const axios = require("axios");
const fs = require("fs");
const FormData = require("form-data");
// APIエンドポイントとAPIキー
const url = "https://events-front.mixeder.net/v2/convertion/heictopng/";
const apiKey = "YOUR_API_KEY";
// ファイルを送信
const filePath = "./path/to/your/image.heic";
const formData = new FormData();
formData.append("file", fs.createReadStream(filePath));
axios.post(url, formData, {
headers: {
"api-key": apiKey,
...formData.getHeaders()
}
}).then(response => {
if (response.data.success) {
// PNG画像を保存
const buffer = Buffer.from(response.data.converted_image, "base64");
fs.writeFileSync("./output_image.png", buffer);
console.log("Image converted successfully.");
} else {
console.error("Error:", response.data.error);
}
}).catch(error => {
console.error("Error:", error.message);
});
require "net/http"
require "uri"
require "json"
require "base64"
# APIエンドポイントとAPIキー
url = URI.parse("https://events-front.mixeder.net/v2/convertion/heictopng/")
api_key = "YOUR_API_KEY"
# ファイルを読み込む
file_path = "path/to/your/image.heic"
file = File.open(file_path, "rb")
# リクエストを送信
request = Net::HTTP::Post.new(url)
request["api-key"] = api_key
form_data = [["file", file]]
request.set_form(form_data, "multipart/form-data")
response = Net::HTTP.start(url.hostname, url.port, use_ssl: true) do |http|
http.request(request)
end
# レスポンスを解析
if response.code.to_i == 200
data = JSON.parse(response.body)
if data["success"]
File.open("output_image.png", "wb") do |f|
f.write(Base64.decode64(data["converted_image"]))
end
puts "Image converted successfully."
else
puts "Error: #{data['error']}"
end
else
puts "HTTP Error: #{response.code}"
end
curl -X POST \
-H "api-key: YOUR_API_KEY" \
-F "file=@/path/to/your/image.heic" \
https://events-front.mixeder.net/v2/convertion/heictopng/ -o output_image.png