我正在嘗試在replicate.com 上創建一個與穩定擴散模型的wordpress php 連接。它似乎有效,但是當我添加初始化影像時,處理不會開始。實際上它在“狀態:開始”時停止,沒有輸出提示。我可以在復制儀表板上的 api 預測中看到影像,但我認為影像并沒有真正上傳。當我單擊“Tweek”并替換它的影像時。我在這里做錯了什么?
curl_setopt($resource, CURLOPT_URL, 'https://api.replicate.com/v1/predictions');
curl_setopt($resource, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($resource, CURLOPT_POST, 1);
$data = array(
'version' => '56f26876a159c10b429c382f66ccda648c1d5678d7ce15ed010734b715be5ab9',
'input' => array(
'prompt' => 'circles',
'init_image' => 'https://example.com/wp-content/uploads/img.jpg'
)
);
curl_setopt($resource, CURLOPT_POSTFIELDS, json_encode($data));
$headers = array();
$headers[] = 'Authorization: Token njdscknjk3nkjn32nk3jn3j';
$headers[] = 'Content-Type: application/json';
curl_setopt($resource, CURLOPT_HTTPHEADER, $headers);
$output = curl_exec($resource);
uj5u.com熱心網友回復:
你 curl 正在做你要求它做的事情。
這是服務器將看到的:
Content-Length: 174
Content-Type: application/json
Accept: */*
BODY=
{"version":"56f26876a159c10b429c382f66ccda648c1d5678d7ce15ed010734b715be5ab9","input":{"prompt":"circles","init_image":"https:\/\/example.com\/wp-content\/uploads\/img.jpg"}}
您正在傳輸影像 url 而不是影像。嘗試這個:
$image = base64_encode(file_get_contents('https://example.com/wp-content/uploads/img.jpg'));
'init_image' => $image;
影像可能還需要前綴:'data:[<mediatype>][;base64],<data>'
$image = 'data: image/jpeg;base64,' . base64_encode(file_get_contents('https://example.com/wp-content/uploads/img.jpg'));
并且 base64 資料可能(或可能不需要)需要使用 PHP 的urlencode()函式進行 URL 編碼。
您正在發布 HTTPS 帖子,因此您可能(或可能不需要)需要這些,但請求不安全,服務器可能會拒絕它。
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/512908.html
