Добавил еще ведущие нули к миллисекундам, если кому-то еще когда-то этот код понадобится
log = function (text, color, define){ var id, time, thread, logHtml, textLog; define = (typeof define == 'string') ? define.split(/[\s,.|:;]+/g) : define; if(typeof define === 'object' && define !== null){ if(Array.isArray(define)){ id = define.indexOf('id') > -1; time = define.indexOf('time') > -1; thread = define.indexOf('thread') > -1; } else{ id = define.id == true; time = define.time == true; thread = define.thread == true; } } else id = time = thread = true; id = id ? '<a href="action://action' + ScriptWorker.GetCurrentAction() + '" style="color:gray;">[' + ScriptWorker.GetCurrentAction() + ']</a>' : ''; time = time ? ' ' + getTime() : ''; thread = thread ? ' Поток №' + thread_number() : ''; logHtml = (id || time || thread) ? id + '<span style="color: white">' + time + thread + ' : </span>' : ''; logHtml += '<span style="color:' + (color ? color : 'white') + '">' + text + '</span>'; textLog = '[' + ScriptWorker.GetCurrentAction() + ']' + time + thread + ' : ' + text function getTime(){ var checkTime = function(i){ return (i < 10) ? "0" + i : i; }; var checkMilliSeconds = function(ms){ if (ms < 10) { return "00" + ms; } else if (ms < 100) { return "0" + ms; } else { return ms; } }; var d = new Date(); var hh = checkTime(d.getHours()); var mm = checkTime(d.getMinutes()); var ss = checkTime(d.getSeconds()); var ms = checkMilliSeconds(d.getMilliseconds()); return '[' + hh + ':' + mm + ':' + ss + '.' + ms + ']'; }; Logger.WriteHtml(logHtml, textLog); }Сложный параметр в POST multipart запросе
-
Приветствую.
Пытаюсь подключить FusionBrain по API для генерации картинок, но возникла проблема с вложенным параметром "generateParams", из примера на сайте https://fusionbrain.ai/docs/doc/api-dokumentaciya/
Сервет отвечает "Required part 'params' is not present.", скорее всего некорректно ввожу этот параметр.

Есть ощущение, что нужен вообще не multipart, но на другие варианты сервер отвечает: "Unsupported Media Type","message":"Content-Type 'application/json' is not supported."
Все заголовки необходимые прописаны, X-Key и X-Secret, с Get-запросом работают. В чем может быть проблема? -
на скрине не видно что заголовки прописаны.
у них же есть уточнение по поводу этой ошибки:
415 Unsupported Media Type - формат содержимого не поддерживается сервером
При возникновении 415 ошибки рекомендуем воспользоваться данным скриптом, который необходимо отправить в postman. -
Bigma, благодарю за ответ.
Да, я видел про упоминание postman и ошибки 415, но я только запросы начал осваивать, а тут какое-то стороннее приложение надо прикрутить, curl и другие страшные названия... неужели это все действительно нужно чтобы сгенерировать их сберовские дурацкие картинки?
Я заголовки отдельно 2 экшенами "установить заголовок" сделал, поэтому их нет в запросе, но на get запросе все нормально отрабатывает и дает ответ как положено.
Да, не указал пример запроса из их описания, где тот самый параметр "generateParams", который непонятно как вводить{
"type": "GENERATE",
"style": "string",
"width": 1024,
"height": 1024,
"num_images": 1,
"negativePromptUnclip": "яркие цвета, кислотность, высокая контрастность",
"generateParams": {
"query": "Пушистый кот в очках",
}
} -
Заголовки отправляются, я проверял, иногда правда в перемешку с параметрами, попробую и ваш вариант, но основной вопрос - как корректно ввести такой параметр и значение, как
"generateParams":{"query":"Пушистый кот в очках",}
Нигде не могу найти подобную ситуацию для multipart, ни в одном описании, ни в одном примере. -
чисто теоретически так:
"generateParams":"{'query':'Пушистый кот в очках',}" -
Всех, приветствую. Решил еще разок одолеть этот простой вроде запрос. Через POSTMAN вбиваю тестовый cUrl:
url --location --request POST 'https://api-key.fusionbrain.ai/key/api/v1/text2image/run'
--header 'X-Key: Key YOUR_KEY'
--header 'X-Secret: Secret YOUR_SECRET'
-F 'params="{
"type": "GENERATE",
"generateParams": {
"query": "море"
}
}";type=application/json'
--form 'model_id="1"'
Изменяю только ключи в заголовках и модель ID свою - получаю статус 201, все нормально.
При этом в теле запроса, который form-data:
params:{
↵ "type": "GENERATE",
↵ "generateParams": {
↵ "query": "море"
↵ }
↵}
model_id:1Мужики, ну подскажите как хотя бы такой запрос сформировать в BAS?
С заголовками все нормально, в теле запроса если не пользоваться конструктором и вставить:
params:{
"type": "GENERATE",
"generateParams": {
"query": "sea"
}
}
model_id:1
Получаю 500, Failed to parse multipart servlet request.
А с конструктором непонятно как корректно вводить имя и параметр запроса "generateParams": {
"query": "море"
} -
This post is deleted!
-