Stability AIのAPI、PHPのサンプルです。
Stability AIのAPI、PHPのサンプルは?
プロンプトからイメージのサンプルです。
$apikey = '{取得したAPIキー}';
$steps = 15;//ステップ数
$num_samples=1;//作成する画像数
$width = 512;//はば
$height = 512;//高さ
$prompt = 'bikini girl';//プロンプト$fn="stable.png";//保存する画像のファイル名
$ch = curl_init();
$headers = array(
'Accept: application/json',
'Content-Type: application/json',
'Authorization: Bearer ' . $apikey . ''
);$postData = array(
'text_prompts'=>[array('text'=>$prompt)],
'cfg_scale'=>7,
'clip_guidance_preset'=> 'FAST_BLUE',
'height'=> $height,
'width'=> $width,
'samples'=> $num_samples,
'steps'=> $steps
);curl_setopt($ch, CURLOPT_URL, 'https://api.stability.ai/v1/generation/stable-diffusion-v1-5/text-to-image');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postData));
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);$output = curl_exec($ch);
$joutput = json_decode($output,true);
if($joutput["artifacts"][0]["finishReason"] != "SUCCESS"){
print $joutput["artifacts"][0]["finishReason"];
}file_put_contents($fn, base64_decode($joutput["artifacts"][0]["base64"]));
戻ってくるデータは
Array ( [artifacts] => Array ( [0] => Array ( [base64] => iVBORw0......., [seed] => 3548414900 [finishReason] => SUCCESS ) ) )
のような内容です。
これで画像ファイルが保存できればOK。
候補は複数枚生成できるので、配列番号ごとに保存しましょう。