File size: 807 Bytes
707c523
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/env bash

set -e

FILE=$(readlink -f "$1")
FORMAT=$2

json_data=$(
  curl -s https://api.steg.ai/upload \
      -H "x-api-key: ${STEG_AI_API_KEY}" \
      --data-raw '{ "name": "'$(basename "${FILE}")'", "content_type": "'$FORMAT'" }')

readarray -t fields < <(echo "${json_data}" | jq -r '.data.post_to.fields | keys[]')
media_id=$(echo "${json_data}" | jq -r '.data.media_id')
presigned_url=$(echo "${json_data}" | jq -r '.data.post_to.url')

# Iterate over the keys array and build the curl parameters
form_string=""
for field in "${fields[@]}"; do
  value=$(echo "${json_data}" | jq -r --arg key "${field}" '.data.post_to.fields[$key]')
  form_string+="--form ${field}=${value} "
done

curl -s --location --request POST ${presigned_url} ${form_string} --form "file=@${FILE}"

echo ${media_id}