Skip to content

Use remote URL with VIPS driver #95

Description

@socivdias

System Info

TranformersPHP 0.6.1

PHP Version

8.2.25

Environment/Platform

  • Command-line application
  • Web application
  • Serverless
  • Other (please specify)

Description

Using VIPS as the Image driver doesn't allow the usage of remote URLs for image models such as image-to-text.

Setting another driver, such as GD, fixes the issue (but makes the code a lot slower).

Reproduction

Run an example like the following (using any remote image URL):

<?php

use function Codewithkyrian\Transformers\Pipelines\pipeline;

require_once __DIR__ . '/vendor/autoload.php';

$imageToText = pipeline('image-to-text');
var_dump($imageToText('https://2.gravatar.com/avatar/584256bfc8777e1b0e42a03f5b4b8d683bf75f6dde296a64129648aa562125dd?size=512'));

Output:

PHP Fatal error:  Uncaught Jcupitt\Vips\Exception: libvips error: VipsForeignLoad: file "https://2.gravatar.com/avatar/584256bfc8777e1b0e42a03f5b4b8d683bf75f6dde296a64129648aa562125dd?size=512" does not exist
VipsForeignLoad: file "https://2.gravatar.com/avatar/584256bfc8777e1b0e42a03f5b4b8d683bf75f6dde296a64129648aa562125dd?size=512" does not exist
 in /application/vendor/jcupitt/vips/src/Image.php:724
Stack trace:
#0 /application/vendor/rokka/imagine-vips/lib/Imagine/Vips/Imagine.php(85): Jcupitt\Vips\Image::newFromFile()
#1 /application/vendor/codewithkyrian/transformers/src/Utils/Image.php(451): Imagine\Vips\Imagine->open()
#2 /application/vendor/codewithkyrian/transformers/src/Utils/Helpers.php(140): Codewithkyrian\Transformers\Utils\Image::read()
#3 /application/vendor/codewithkyrian/transformers/src/Pipelines/ImageToTextPipeline.php(54): Codewithkyrian\Transformers\Utils\prepareImages()
#4 /application/image-to-text.php(9): Codewithkyrian\Transformers\Pipelines\ImageToTextPipeline->__invoke()
#5 {main}

Next Imagine\Exception\RuntimeException: Unable to open image https://2.gravatar.com/avatar/584256bfc8777e1b0e42a03f5b4b8d683bf75f6dde296a64129648aa562125dd?size=512 in /application/vendor/rokka/imagine-vips/lib/Imagine/Vips/Imagine.php:92
Stack trace:
#0 /application/vendor/codewithkyrian/transformers/src/Utils/Image.php(451): Imagine\Vips\Imagine->open()
#1 /application/vendor/codewithkyrian/transformers/src/Utils/Helpers.php(140): Codewithkyrian\Transformers\Utils\Image::read()
#2 /application/vendor/codewithkyrian/transformers/src/Pipelines/ImageToTextPipeline.php(54): Codewithkyrian\Transformers\Utils\prepareImages()
#3 /application/image-to-text.php(9): Codewithkyrian\Transformers\Pipelines\ImageToTextPipeline->__invoke()
#4 {main}
  thrown in /application/vendor/rokka/imagine-vips/lib/Imagine/Vips/Imagine.php on line 92

Fatal error: Uncaught Jcupitt\Vips\Exception: libvips error: VipsForeignLoad: file "https://2.gravatar.com/avatar/584256bfc8777e1b0e42a03f5b4b8d683bf75f6dde296a64129648aa562125dd?size=512" does not exist
VipsForeignLoad: file "https://2.gravatar.com/avatar/584256bfc8777e1b0e42a03f5b4b8d683bf75f6dde296a64129648aa562125dd?size=512" does not exist
 in /application/vendor/jcupitt/vips/src/Image.php:724
Stack trace:
#0 /application/vendor/rokka/imagine-vips/lib/Imagine/Vips/Imagine.php(85): Jcupitt\Vips\Image::newFromFile()
#1 /application/vendor/codewithkyrian/transformers/src/Utils/Image.php(451): Imagine\Vips\Imagine->open()
#2 /application/vendor/codewithkyrian/transformers/src/Utils/Helpers.php(140): Codewithkyrian\Transformers\Utils\Image::read()
#3 /application/vendor/codewithkyrian/transformers/src/Pipelines/ImageToTextPipeline.php(54): Codewithkyrian\Transformers\Utils\prepareImages()
#4 /application/image-to-text.php(9): Codewithkyrian\Transformers\Pipelines\ImageToTextPipeline->__invoke()
#5 {main}

Next Imagine\Exception\RuntimeException: Unable to open image https://2.gravatar.com/avatar/584256bfc8777e1b0e42a03f5b4b8d683bf75f6dde296a64129648aa562125dd?size=512 in /application/vendor/rokka/imagine-vips/lib/Imagine/Vips/Imagine.php on line 92

Imagine\Exception\RuntimeException: Unable to open image https://2.gravatar.com/avatar/584256bfc8777e1b0e42a03f5b4b8d683bf75f6dde296a64129648aa562125dd?size=512 in /application/vendor/rokka/imagine-vips/lib/Imagine/Vips/Imagine.php on line 92

Call Stack:
    0.0001     511528   1. {main}() /application/image-to-text.php:0
    1.4073   31817296   2. Codewithkyrian\Transformers\Pipelines\ImageToTextPipeline->__invoke($inputs = 'https://2.gravatar.com/avatar/584256bfc8777e1b0e42a03f5b4b8d683bf75f6dde296a64129648aa562125dd?size=512') /application/image-to-text.php:9
    1.4073   31818192   3. Codewithkyrian\Transformers\Utils\prepareImages($images = 'https://2.gravatar.com/avatar/584256bfc8777e1b0e42a03f5b4b8d683bf75f6dde296a64129648aa562125dd?size=512') /application/vendor/codewithkyrian/transformers/src/Pipelines/ImageToTextPipeline.php:54
    1.4080   31818760   4. Codewithkyrian\Transformers\Utils\Image::read($input = 'https://2.gravatar.com/avatar/584256bfc8777e1b0e42a03f5b4b8d683bf75f6dde296a64129648aa562125dd?size=512', $options = ???) /application/vendor/codewithkyrian/transformers/src/Utils/Helpers.php:140
    1.4090   31912120   5. Imagine\Vips\Imagine->open($path = 'https://2.gravatar.com/avatar/584256bfc8777e1b0e42a03f5b4b8d683bf75f6dde296a64129648aa562125dd?size=512', $loadOptions = []) /application/vendor/codewithkyrian/transformers/src/Utils/Image.php:451

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions