Skip to content

Use remote URL with VIPS driver #95

@socivdias

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

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