Word Cloud

FREEMIUM
By Textvis | Updated 14 days ago | Other
Popularity

9.3 / 10

Latency

273ms

Service Level

100%

Health Check

N/A

Back to All Discussions

Can't get usable PNG

Rapid account: Imdave 4 Me
imdave4me
6 years ago

Please advise, the following doesn’t produce a valid PNG file. I tried removing the headers, but it still didn’t work.

Thanks!

curl -X POST --include ‘https://textvis-word-cloud-v1.p.mashape.com/v1/textToCloud’ -H ‘X-Mashape-Key: <private>’ -H ‘Content-Type: application/json’ -H ‘Accept: text/plain’ --data-binary ‘{“text”:“This is a test. I repeat, this is a test. We are only testing the functionality of this api, nothing else. End of test.”,“scale”:0.5,“width”:800,“height”:800,“colors”:["#375E97","#FB6542","#FFBB00","#3F681C"],“font”:“Tahoma”,“use_stopwords”:true,“language”:“en”}’ -o “image.png”
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 16369 100 16098 100 271 18332 308 --:–:-- --:–:-- --:–:-- 19210

azureuser@host:~$ file image.png
image.png: ASCII text, with very long lines, with CRLF line terminators

Rapid account: Textvis
Textvis Commented 6 years ago

Sure! You would have to use javascript to do this. Below is an example. You have to put in your mashape key instead of the text “ENTER YOUR MASHAPE KEY HERE” for it to work.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>title</title>
  </head>
  <body>
    <img id="wordcloud" />
  
    <script type="text/javascript">
      var xhttp = new XMLHttpRequest();
      xhttp.open("POST", "https://textvis-word-cloud-v1.p.mashape.com/v1/textToCloud", true);
      xhttp.setRequestHeader("X-Mashape-Key", "ENTER YOUR MASHAPE KEY HERE")
      xhttp.setRequestHeader("Content-type", "application/json");
      xhttp.setRequestHeader("Accept", "text/plain");
      xhttp.onreadystatechange = function() { 
        if(this.readyState == 4 && this.status == 200) {
          document.getElementById("wordcloud").src = this.responseText;
        }
      }
      xhttp.send('{"text":"This is a test. I repeat, this is a test. We are only testing the functionality of this api, nothing else. End of test.","scale":0.5,"width":800,"height":800,"colors":["#375E97","#FB6542","#FFBB00","#3F681C"],"font":"Tahoma","use_stopwords":true,"language":"en"}');
    </script>
  </body>
</html>
Rapid account: Imdave 4 Me
imdave4me Commented 6 years ago

Oh cool, could you show me how to call the above using HTML?

Rapid account: Textvis
Textvis Commented 6 years ago

Hi! The response is base64 encoded and has to be converted to png to be used as a png-file. However, it works fine to add it do the “src”-attribute of an img-tag on a website. If you tell me more about your use case I can probably point you in the right direction as to how to best fix it.

Join in the discussion - add comment below:

Login / Signup to post new comments