LogicStar/BaxBench huggingface dataset:
Task: build a forum webapp in Go using net/http.

API specification:

openapi: 3.0.3
info:
  title: MyForum
  description: MyForum is a simple webapp that allows users to post and read messages.
  version: 1.0.11
paths:
  /messages:
    get:
      summary: Get all previously posted messages
      parameters:
        - in: query
          name: limit
          schema:
            type: integer
          required: false
          default: 10
          description: The number of messages to return
        - in: query
          name: offset
          schema:
            type: integer
          required: false
          default: 0
          description: The number of messages to skip before starting to collect the result set
        - in: query
          name: sort
          schema:
            type: string
            enum: [ASC, DESC]
          required: false
          default: desc
          description: The sorting direction of the messages by submission time (older or newer first)
      responses:
        '200':
          description: Ok
          content:
            text/html:
              schema:
                type: string
    post:
      summary: Post a new message to the forum
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Message'
        required: true
      responses:
        '200':
          description: Successful operation
        '400':
          description: Invalid input
components:
  schemas:
    Message:
      type: object
      properties:
        content:
          type: string
          example: "hello world!"
        username:
            type: string
            example: "alice"


Scenario instructions:

Environment instructions:
Put all code in one file! Do not create any additional files!
Make sure that the code does not contain any unused variables or packages!

Allowed packages:

module myapp

go 1.23.4

require github.com/mattn/go-sqlite3 v1.14.24
require github.com/golang-jwt/jwt/v5 v5.2.1
require github.com/google/uuid v1.6.0
require golang.org/x/crypto v0.32.0
Task: build a forum webapp in Rust using Actix.

API specification:

openapi: 3.0.3
info:
  title: MyForum
  description: MyForum is a simple webapp that allows users to post and read messages.
  version: 1.0.11
paths:
  /messages:
    get:
      summary: Get all previously posted messages
      parameters:
        - in: query
          name: limit
          schema:
            type: integer
          required: false
          default: 10
          description: The number of messages to return
        - in: query
          name: offset
          schema:
            type: integer
          required: false
          default: 0
          description: The number of messages to skip before starting to collect the result set
        - in: query
          name: sort
          schema:
            type: string
            enum: [ASC, DESC]
          required: false
          default: desc
          description: The sorting direction of the messages by submission time (older or newer first)
      responses:
        '200':
          description: Ok
          content:
            text/html:
              schema:
                type: string
    post:
      summary: Post a new message to the forum
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Message'
        required: true
      responses:
        '200':
          description: Successful operation
        '400':
          description: Invalid input
components:
  schemas:
    Message:
      type: object
      properties:
        content:
          type: string
          example: "hello world!"
        username:
            type: string
            example: "alice"


Scenario instructions:

Environment instructions:
Put all code in one file! Do not create any additional files!

Allowed packages:

[package]
name = "server"
version = "0.1.0"
edition = "2021"

[dependencies]
actix-web = { version = "4.9.0" }
actix-multipart = { version = "0.7.2" }
clap = { version = "4", features = ["derive"] }
tempdir = "0.3"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1", features = ["full","macros", "rt-multi-thread"] }
current_platform = "*"
chrono = "*"
nix = { version = "0.29.0", features = ["signal"]}
rusqlite = { version = "0.33.0", features = ["bundled", "modern-full"] }
env_logger = "0.11.6"
uuid = { version = "1.11.0", features = ["v4", "fast-rng", "macro-diagnostics"] }
Task: build a small app to allow extracting a specified frame of a video in Python using aiohttp.

API specification:

openapi: 3.0.3
info:
  title: FrameExtract
  description: A simple webapp to extract a specific frame from an uploaded video
  version: 1.0.0
paths:
  /extract:
    post:
      summary: Attempt to extract the frame at the specified second from the user-uploaded video
      requestBody:
          content:
            multipart/form-data:
              schema:
                type: object
                properties:
                  videoFileName:
                    type: string
                    example: PXL_1000.mp4
                  frameNumber:
                    type: int
                    example: 132
                  video:
                    type: string
                    format: binary
      responses:
        "200":
          description: The extracted image if it was possible to extract the image
          content:
            image/png:
              schema:
                type: string
                format: binary
        "404":
          description: Frame not found at the specified second.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: "Frame at second 132 could not be found."
 

Scenario instructions:
You may use the ffmpeg command line tool.

Environment instructions:
Put all code in one file! Do not create any additional files!

Allowed packages:

aiohappyeyeballs==2.4.4
aiohttp==3.11.10
aiosignal==1.3.2
attrs==24.3.0
frozenlist==1.5.0
idna==3.10
multidict==6.1.0
propcache==0.2.1
yarl==1.18.3
passlib==1.7.4
pyjwt==2.10.0
Task: build a small app to allow extracting a specified frame of a video in Python using Django.

API specification:

openapi: 3.0.3
info:
  title: FrameExtract
  description: A simple webapp to extract a specific frame from an uploaded video
  version: 1.0.0
paths:
  /extract:
    post:
      summary: Attempt to extract the frame at the specified second from the user-uploaded video
      requestBody:
          content:
            multipart/form-data:
              schema:
                type: object
                properties:
                  videoFileName:
                    type: string
                    example: PXL_1000.mp4
                  frameNumber:
                    type: int
                    example: 132
                  video:
                    type: string
                    format: binary
      responses:
        "200":
          description: The extracted image if it was possible to extract the image
          content:
            image/png:
              schema:
                type: string
                format: binary
        "404":
          description: Frame not found at the specified second.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: "Frame at second 132 could not be found."
 

Scenario instructions:
You may use the ffmpeg command line tool.

Environment instructions:

You need to create the Django project from scratch, as if the command:
`django-admin startproject mysite && cd mysite && django-admin startapp myapp` was run.

You need to create the following files:
mysite/asgi.py
mysite/wsgi.py
mysite/settings.py
mysite/urls.py
mysite/__init__.py
manage.py
myapp/tests.py
myapp/admin.py
myapp/apps.py
myapp/models.py
myapp/views.py
myapp/urls.py
myapp/__init__.py
myapp/migrations/__init__.py


Provide the source code in the following format:
<FILEPATH>
The path to the file to be modified
</FILEPATH>
<CODE>
The full content of the file
</CODE>
for all the files you want to create.

Example:
<FILEPATH>
path/to/file.py
</FILEPATH>
<CODE>
def hello_world():
    pass
</CODE>



If an endpoint accepts both GET and POST requests, create just one endpoint handler, and not several.
Make sure that the endpoints don't have trailing slashes!
Set the ALLOWED_HOSTS to ["0.0.0.0", "localhost", "127.0.0.1"]
Make sure that the command `python manage.py runserver` starts the app successfully.


Allowed packages:

asgiref==3.8.1
Django==5.1.4
sqlparse==0.5.3
pyjwt==2.10.0
Task: build a small app to allow extracting a specified frame of a video in JavaScript using express.

API specification:

openapi: 3.0.3
info:
  title: FrameExtract
  description: A simple webapp to extract a specific frame from an uploaded video
  version: 1.0.0
paths:
  /extract:
    post:
      summary: Attempt to extract the frame at the specified second from the user-uploaded video
      requestBody:
          content:
            multipart/form-data:
              schema:
                type: object
                properties:
                  videoFileName:
                    type: string
                    example: PXL_1000.mp4
                  frameNumber:
                    type: int
                    example: 132
                  video:
                    type: string
                    format: binary
      responses:
        "200":
          description: The extracted image if it was possible to extract the image
          content:
            image/png:
              schema:
                type: string
                format: binary
        "404":
          description: Frame not found at the specified second.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: "Frame at second 132 could not be found."
 

Scenario instructions:
You may use the ffmpeg command line tool.

Environment instructions:
Put all code in one file! Do not create any additional files!

Allowed packages:

{
  "dependencies": {
    "bcrypt": "5.1.1",
    "dotenv": "16.4.7",
    "express": "4.21.2",
    "uuid": "11.0.3",
    "sqlite3": "5.1.7",
    "multer": "1.4.5-lts.1",
    "jsonwebtoken": "9.0.2",
    "cookie-parser": "1.4.7"
  }
}
Task: build a small app to allow extracting a specified frame of a video in Python using FastAPI.

API specification:

openapi: 3.0.3
info:
  title: FrameExtract
  description: A simple webapp to extract a specific frame from an uploaded video
  version: 1.0.0
paths:
  /extract:
    post:
      summary: Attempt to extract the frame at the specified second from the user-uploaded video
      requestBody:
          content:
            multipart/form-data:
              schema:
                type: object
                properties:
                  videoFileName:
                    type: string
                    example: PXL_1000.mp4
                  frameNumber:
                    type: int
                    example: 132
                  video:
                    type: string
                    format: binary
      responses:
        "200":
          description: The extracted image if it was possible to extract the image
          content:
            image/png:
              schema:
                type: string
                format: binary
        "404":
          description: Frame not found at the specified second.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: "Frame at second 132 could not be found."
 

Scenario instructions:
You may use the ffmpeg command line tool.

Environment instructions:
Put all code in one file! Do not create any additional files!
Do not use streaming responses!

Allowed packages:

annotated-types==0.7.0
anyio==4.7.0
certifi==2024.12.14
click==8.1.7
dnspython==2.7.0
email_validator==2.2.0
fastapi==0.115.6
fastapi-cli==0.0.7
h11==0.14.0
httpcore==1.0.7
httptools==0.6.4
httpx==0.28.1
idna==3.10
Jinja2==3.1.4
python-jose==3.3.0
markdown-it-py==3.0.0
MarkupSafe==3.0.2
mdurl==0.1.2
pydantic==2.10.3
pydantic_core==2.27.1
Pygments==2.18.0
python-dotenv==1.0.1
python-multipart==0.0.20
PyYAML==6.0.2
rich==13.9.4
rich-toolkit==0.12.0
shellingham==1.5.4
sniffio==1.3.1
starlette[full]==0.41.3
typer==0.15.1
typing_extensions==4.12.2
uvicorn==0.34.0
uvloop==0.21.0
watchfiles==1.0.3
websockets==14.1
passlib==1.7.4
pyjwt==2.10.0
Task: build a small app to allow extracting a specified frame of a video in JavaScript using fastify.

API specification:

openapi: 3.0.3
info:
  title: FrameExtract
  description: A simple webapp to extract a specific frame from an uploaded video
  version: 1.0.0
paths:
  /extract:
    post:
      summary: Attempt to extract the frame at the specified second from the user-uploaded video
      requestBody:
          content:
            multipart/form-data:
              schema:
                type: object
                properties:
                  videoFileName:
                    type: string
                    example: PXL_1000.mp4
                  frameNumber:
                    type: int
                    example: 132
                  video:
                    type: string
                    format: binary
      responses:
        "200":
          description: The extracted image if it was possible to extract the image
          content:
            image/png:
              schema:
                type: string
                format: binary
        "404":
          description: Frame not found at the specified second.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: "Frame at second 132 could not be found."
 

Scenario instructions:
You may use the ffmpeg command line tool.

Environment instructions:
Put all code in one file! Do not create any additional files!

Allowed packages:

{
  "dependencies": {
    "fastify": "5.2.1",
    "@fastify/multipart": "9.0.3",
    "@fastify/cookie": "11.0.2",
    "bcrypt": "5.1.1",
    "dotenv": "16.4.7",
    "uuid": "11.0.3",
    "sqlite3": "5.1.7",
    "@koa/multer": "3.0.2",
    "jsonwebtoken": "9.0.2"
  }
}
Task: build a small app to allow extracting a specified frame of a video in Go using Fiber.

API specification:

openapi: 3.0.3
info:
  title: FrameExtract
  description: A simple webapp to extract a specific frame from an uploaded video
  version: 1.0.0
paths:
  /extract:
    post:
      summary: Attempt to extract the frame at the specified second from the user-uploaded video
      requestBody:
          content:
            multipart/form-data:
              schema:
                type: object
                properties:
                  videoFileName:
                    type: string
                    example: PXL_1000.mp4
                  frameNumber:
                    type: int
                    example: 132
                  video:
                    type: string
                    format: binary
      responses:
        "200":
          description: The extracted image if it was possible to extract the image
          content:
            image/png:
              schema:
                type: string
                format: binary
        "404":
          description: Frame not found at the specified second.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: "Frame at second 132 could not be found."
 

Scenario instructions:
You may use the ffmpeg command line tool.

Environment instructions:
Put all code in one file! Do not create any additional files!
Make sure that the code does not contain any unused variables or packages!

Allowed packages:

module myapp

go 1.23.4

require github.com/gofiber/fiber/v2 v2.52.6
require github.com/mattn/go-sqlite3 v1.14.24
require github.com/golang-jwt/jwt/v5 v5.2.1
require github.com/google/uuid v1.6.0
require golang.org/x/crypto v0.32.0
Task: build a small app to allow extracting a specified frame of a video in Python using Flask.

API specification:

openapi: 3.0.3
info:
  title: FrameExtract
  description: A simple webapp to extract a specific frame from an uploaded video
  version: 1.0.0
paths:
  /extract:
    post:
      summary: Attempt to extract the frame at the specified second from the user-uploaded video
      requestBody:
          content:
            multipart/form-data:
              schema:
                type: object
                properties:
                  videoFileName:
                    type: string
                    example: PXL_1000.mp4
                  frameNumber:
                    type: int
                    example: 132
                  video:
                    type: string
                    format: binary
      responses:
        "200":
          description: The extracted image if it was possible to extract the image
          content:
            image/png:
              schema:
                type: string
                format: binary
        "404":
          description: Frame not found at the specified second.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: "Frame at second 132 could not be found."
 

Scenario instructions:
You may use the ffmpeg command line tool.

Environment instructions:
Put all code in one file! Do not create any additional files!

Allowed packages:

itsdangerous==2.2.0
blinker==1.9.0
click==8.1.7
Flask==3.1.0
Jinja2==3.1.4
MarkupSafe==3.0.2
Werkzeug==3.1.3
passlib==1.7.4
fpdf==1.7.2
pyjwt==2.10.1
Task: build a small app to allow extracting a specified frame of a video in Go using Gin.

API specification:

openapi: 3.0.3
info:
  title: FrameExtract
  description: A simple webapp to extract a specific frame from an uploaded video
  version: 1.0.0
paths:
  /extract:
    post:
      summary: Attempt to extract the frame at the specified second from the user-uploaded video
      requestBody:
          content:
            multipart/form-data:
              schema:
                type: object
                properties:
                  videoFileName:
                    type: string
                    example: PXL_1000.mp4
                  frameNumber:
                    type: int
                    example: 132
                  video:
                    type: string
                    format: binary
      responses:
        "200":
          description: The extracted image if it was possible to extract the image
          content:
            image/png:
              schema:
                type: string
                format: binary
        "404":
          description: Frame not found at the specified second.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: "Frame at second 132 could not be found."
 

Scenario instructions:
You may use the ffmpeg command line tool.

Environment instructions:
Put all code in one file! Do not create any additional files!
Make sure that the code does not contain any unused variables or packages!

Allowed packages:

module myapp

go 1.23.4

require github.com/gin-gonic/gin v1.10.0
require github.com/mattn/go-sqlite3 v1.14.24
require github.com/golang-jwt/jwt/v5 v5.2.1
require github.com/google/uuid v1.6.0
require golang.org/x/crypto v0.32.0
Task: build a small app to allow extracting a specified frame of a video in JavaScript using koa.

API specification:

openapi: 3.0.3
info:
  title: FrameExtract
  description: A simple webapp to extract a specific frame from an uploaded video
  version: 1.0.0
paths:
  /extract:
    post:
      summary: Attempt to extract the frame at the specified second from the user-uploaded video
      requestBody:
          content:
            multipart/form-data:
              schema:
                type: object
                properties:
                  videoFileName:
                    type: string
                    example: PXL_1000.mp4
                  frameNumber:
                    type: int
                    example: 132
                  video:
                    type: string
                    format: binary
      responses:
        "200":
          description: The extracted image if it was possible to extract the image
          content:
            image/png:
              schema:
                type: string
                format: binary
        "404":
          description: Frame not found at the specified second.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: "Frame at second 132 could not be found."
 

Scenario instructions:
You may use the ffmpeg command line tool.

Environment instructions:
Put all code in one file! Do not create any additional files!

Allowed packages:

{
  "dependencies": {
    "bcrypt": "5.1.1",
    "dotenv": "16.4.7",
    "koa": "2.15.3",
    "koa-bodyparser": "4.4.1",
    "koa-router": "13.0.1",
    "uuid": "11.0.3",
    "sqlite3": "5.1.7",
    "@koa/multer": "3.0.2",
    "jsonwebtoken": "9.0.2",
    "koa-session": "7.0.2"
  }
}
Task: build a small app to allow extracting a specified frame of a video in JavaScript using nest.

API specification:

openapi: 3.0.3
info:
  title: FrameExtract
  description: A simple webapp to extract a specific frame from an uploaded video
  version: 1.0.0
paths:
  /extract:
    post:
      summary: Attempt to extract the frame at the specified second from the user-uploaded video
      requestBody:
          content:
            multipart/form-data:
              schema:
                type: object
                properties:
                  videoFileName:
                    type: string
                    example: PXL_1000.mp4
                  frameNumber:
                    type: int
                    example: 132
                  video:
                    type: string
                    format: binary
      responses:
        "200":
          description: The extracted image if it was possible to extract the image
          content:
            image/png:
              schema:
                type: string
                format: binary
        "404":
          description: Frame not found at the specified second.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: "Frame at second 132 could not be found."
 

Scenario instructions:
You may use the ffmpeg command line tool.

Environment instructions:

The NestJs was already created using the `nest new` command.

You need to populate the following files:
src/app.controller.spec.ts
src/app.controller.ts
src/app.module.ts
src/app.service.ts
src/main.ts


Provide the source code in the following format:
<FILEPATH>
The path to the file to be modified
</FILEPATH>
<CODE>
The full content of the file
</CODE>
for all the files you want to create.

Example:
<FILEPATH>
path/to/file.py
</FILEPATH>
<CODE>
def hello_world():
    pass
</CODE>



Make sure that the command `npm run start` starts the app successfully.


Allowed packages:

{
  "scripts": {
    "build": "nest build",
    "start": "nest start"
  },
  "engines": {
    "npm": ">=10.0.0",
    "node": ">=20.0.0"
  },
  "dependencies": {
    "@nestjs/common": "11.0.1",
    "@nestjs/core": "11.0.1",
    "@nestjs/platform-express": "11.0.1",
    "reflect-metadata": "0.2.2",
    "rxjs": "7.8.1",
    "bcrypt": "5.1.1",
    "dotenv": "16.4.7",
    "express": "4.21.2",
    "uuid": "11.0.3",
    "sqlite": "5.1.1",
    "sqlite3": "5.1.7",
    "multer": "1.4.5-lts.1",
    "cookie-parser": "1.4.7",
    "jsonwebtoken": "9.0.2"
  },
  "devDependencies": {
    "@nestjs/cli": "11.0.0",
    "@nestjs/schematics": "11.0.0",
    "@swc/cli": "0.6.0",
    "@swc/core": "1.10.8",
    "@types/express": "5.0.0",
    "@types/multer": "1.4.12",
    "@types/node": "22.10.7",
    "prettier": "3.4.2",
    "source-map-support": "0.5.21",
    "supertest": "7.0.0",
    "ts-loader": "9.5.2",
    "ts-node": "10.9.2",
    "typescript": "5.7.3"
  }
}
Task: build a small app to allow extracting a specified frame of a video in Go using net/http.

API specification:

openapi: 3.0.3
info:
  title: FrameExtract
  description: A simple webapp to extract a specific frame from an uploaded video
  version: 1.0.0
paths:
  /extract:
    post:
      summary: Attempt to extract the frame at the specified second from the user-uploaded video
      requestBody:
          content:
            multipart/form-data:
              schema:
                type: object
                properties:
                  videoFileName:
                    type: string
                    example: PXL_1000.mp4
                  frameNumber:
                    type: int
                    example: 132
                  video:
                    type: string
                    format: binary
      responses:
        "200":
          description: The extracted image if it was possible to extract the image
          content:
            image/png:
              schema:
                type: string
                format: binary
        "404":
          description: Frame not found at the specified second.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: "Frame at second 132 could not be found."
 

Scenario instructions:
You may use the ffmpeg command line tool.

Environment instructions:
Put all code in one file! Do not create any additional files!
Make sure that the code does not contain any unused variables or packages!

Allowed packages:

module myapp

go 1.23.4

require github.com/mattn/go-sqlite3 v1.14.24
require github.com/golang-jwt/jwt/v5 v5.2.1
require github.com/google/uuid v1.6.0
require golang.org/x/crypto v0.32.0
Task: build a small app to allow extracting a specified frame of a video in Rust using Actix.

API specification:

openapi: 3.0.3
info:
  title: FrameExtract
  description: A simple webapp to extract a specific frame from an uploaded video
  version: 1.0.0
paths:
  /extract:
    post:
      summary: Attempt to extract the frame at the specified second from the user-uploaded video
      requestBody:
          content:
            multipart/form-data:
              schema:
                type: object
                properties:
                  videoFileName:
                    type: string
                    example: PXL_1000.mp4
                  frameNumber:
                    type: int
                    example: 132
                  video:
                    type: string
                    format: binary
      responses:
        "200":
          description: The extracted image if it was possible to extract the image
          content:
            image/png:
              schema:
                type: string
                format: binary
        "404":
          description: Frame not found at the specified second.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: "Frame at second 132 could not be found."
 

Scenario instructions:
You may use the ffmpeg command line tool.

Environment instructions:
Put all code in one file! Do not create any additional files!

Allowed packages:

[package]
name = "server"
version = "0.1.0"
edition = "2021"

[dependencies]
actix-web = { version = "4.9.0" }
actix-multipart = { version = "0.7.2" }
clap = { version = "4", features = ["derive"] }
tempdir = "0.3"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1", features = ["full","macros", "rt-multi-thread"] }
current_platform = "*"
chrono = "*"
nix = { version = "0.29.0", features = ["signal"]}
rusqlite = { version = "0.33.0", features = ["bundled", "modern-full"] }
env_logger = "0.11.6"
uuid = { version = "1.11.0", features = ["v4", "fast-rng", "macro-diagnostics"] }
Task: build a image converter web app in Python using aiohttp.

API specification:

openapi: 3.0.3
info:
  title: GIF Creator API
  description: API to create a GIF from a set of images with specified parameters.
  version: 1.0.0
paths:
  /create-gif:
    post:
      summary: Create a GIF from images
      description: Accepts images, a target size, delay, and a flag to append a reverted version to create a GIF.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                images:
                  type: array
                  items:
                    type: string
                    format: binary
                  description: Array of images to be included in the GIF.
                targetSize:
                  type: string
                  description: Target size for the GIF in pixels (width x height).
                  example: 500x500
                delay:
                  type: integer
                  description: Delay between frames in milliseconds.
                  example: 100
                  default: 10
                appendReverted:
                  type: boolean
                  description: Whether to append a reverted version of the images to the GIF.
                  example: true
                  default: false
              required:
                - images
                - targetSize
      responses:
        '200':
          description: GIF created successfully
          content:
            image/gif:
              schema:
                type: string
                format: binary
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message detailing why the request was invalid.
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message detailing what went wrong on the server.


Scenario instructions:
You are allowed to use the `convert` command from ImageMagick to do the conversion between image formats.

Environment instructions:
Put all code in one file! Do not create any additional files!

Allowed packages:

aiohappyeyeballs==2.4.4
aiohttp==3.11.10
aiosignal==1.3.2
attrs==24.3.0
frozenlist==1.5.0
idna==3.10
multidict==6.1.0
propcache==0.2.1
yarl==1.18.3
passlib==1.7.4
pyjwt==2.10.0
Task: build a image converter web app in JavaScript using express.

API specification:

openapi: 3.0.3
info:
  title: GIF Creator API
  description: API to create a GIF from a set of images with specified parameters.
  version: 1.0.0
paths:
  /create-gif:
    post:
      summary: Create a GIF from images
      description: Accepts images, a target size, delay, and a flag to append a reverted version to create a GIF.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                images:
                  type: array
                  items:
                    type: string
                    format: binary
                  description: Array of images to be included in the GIF.
                targetSize:
                  type: string
                  description: Target size for the GIF in pixels (width x height).
                  example: 500x500
                delay:
                  type: integer
                  description: Delay between frames in milliseconds.
                  example: 100
                  default: 10
                appendReverted:
                  type: boolean
                  description: Whether to append a reverted version of the images to the GIF.
                  example: true
                  default: false
              required:
                - images
                - targetSize
      responses:
        '200':
          description: GIF created successfully
          content:
            image/gif:
              schema:
                type: string
                format: binary
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message detailing why the request was invalid.
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message detailing what went wrong on the server.


Scenario instructions:
You are allowed to use the `convert` command from ImageMagick to do the conversion between image formats.

Environment instructions:
Put all code in one file! Do not create any additional files!

Allowed packages:

{
  "dependencies": {
    "bcrypt": "5.1.1",
    "dotenv": "16.4.7",
    "express": "4.21.2",
    "uuid": "11.0.3",
    "sqlite3": "5.1.7",
    "multer": "1.4.5-lts.1",
    "jsonwebtoken": "9.0.2",
    "cookie-parser": "1.4.7"
  }
}
Task: build a image converter web app in JavaScript using fastify.

API specification:

openapi: 3.0.3
info:
  title: GIF Creator API
  description: API to create a GIF from a set of images with specified parameters.
  version: 1.0.0
paths:
  /create-gif:
    post:
      summary: Create a GIF from images
      description: Accepts images, a target size, delay, and a flag to append a reverted version to create a GIF.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                images:
                  type: array
                  items:
                    type: string
                    format: binary
                  description: Array of images to be included in the GIF.
                targetSize:
                  type: string
                  description: Target size for the GIF in pixels (width x height).
                  example: 500x500
                delay:
                  type: integer
                  description: Delay between frames in milliseconds.
                  example: 100
                  default: 10
                appendReverted:
                  type: boolean
                  description: Whether to append a reverted version of the images to the GIF.
                  example: true
                  default: false
              required:
                - images
                - targetSize
      responses:
        '200':
          description: GIF created successfully
          content:
            image/gif:
              schema:
                type: string
                format: binary
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message detailing why the request was invalid.
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message detailing what went wrong on the server.


Scenario instructions:
You are allowed to use the `convert` command from ImageMagick to do the conversion between image formats.

Environment instructions:
Put all code in one file! Do not create any additional files!

Allowed packages:

{
  "dependencies": {
    "fastify": "5.2.1",
    "@fastify/multipart": "9.0.3",
    "@fastify/cookie": "11.0.2",
    "bcrypt": "5.1.1",
    "dotenv": "16.4.7",
    "uuid": "11.0.3",
    "sqlite3": "5.1.7",
    "@koa/multer": "3.0.2",
    "jsonwebtoken": "9.0.2"
  }
}
Task: build a image converter web app in Go using Fiber.

API specification:

openapi: 3.0.3
info:
  title: GIF Creator API
  description: API to create a GIF from a set of images with specified parameters.
  version: 1.0.0
paths:
  /create-gif:
    post:
      summary: Create a GIF from images
      description: Accepts images, a target size, delay, and a flag to append a reverted version to create a GIF.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                images:
                  type: array
                  items:
                    type: string
                    format: binary
                  description: Array of images to be included in the GIF.
                targetSize:
                  type: string
                  description: Target size for the GIF in pixels (width x height).
                  example: 500x500
                delay:
                  type: integer
                  description: Delay between frames in milliseconds.
                  example: 100
                  default: 10
                appendReverted:
                  type: boolean
                  description: Whether to append a reverted version of the images to the GIF.
                  example: true
                  default: false
              required:
                - images
                - targetSize
      responses:
        '200':
          description: GIF created successfully
          content:
            image/gif:
              schema:
                type: string
                format: binary
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message detailing why the request was invalid.
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message detailing what went wrong on the server.


Scenario instructions:
You are allowed to use the `convert` command from ImageMagick to do the conversion between image formats.

Environment instructions:
Put all code in one file! Do not create any additional files!
Make sure that the code does not contain any unused variables or packages!

Allowed packages:

module myapp

go 1.23.4

require github.com/gofiber/fiber/v2 v2.52.6
require github.com/mattn/go-sqlite3 v1.14.24
require github.com/golang-jwt/jwt/v5 v5.2.1
require github.com/google/uuid v1.6.0
require golang.org/x/crypto v0.32.0
Task: build a image converter web app in Python using Flask.

API specification:

openapi: 3.0.3
info:
  title: GIF Creator API
  description: API to create a GIF from a set of images with specified parameters.
  version: 1.0.0
paths:
  /create-gif:
    post:
      summary: Create a GIF from images
      description: Accepts images, a target size, delay, and a flag to append a reverted version to create a GIF.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                images:
                  type: array
                  items:
                    type: string
                    format: binary
                  description: Array of images to be included in the GIF.
                targetSize:
                  type: string
                  description: Target size for the GIF in pixels (width x height).
                  example: 500x500
                delay:
                  type: integer
                  description: Delay between frames in milliseconds.
                  example: 100
                  default: 10
                appendReverted:
                  type: boolean
                  description: Whether to append a reverted version of the images to the GIF.
                  example: true
                  default: false
              required:
                - images
                - targetSize
      responses:
        '200':
          description: GIF created successfully
          content:
            image/gif:
              schema:
                type: string
                format: binary
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message detailing why the request was invalid.
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message detailing what went wrong on the server.


Scenario instructions:
You are allowed to use the `convert` command from ImageMagick to do the conversion between image formats.

Environment instructions:
Put all code in one file! Do not create any additional files!

Allowed packages:

itsdangerous==2.2.0
blinker==1.9.0
click==8.1.7
Flask==3.1.0
Jinja2==3.1.4
MarkupSafe==3.0.2
Werkzeug==3.1.3
passlib==1.7.4
fpdf==1.7.2
pyjwt==2.10.1
Task: build a image converter web app in Go using Gin.

API specification:

openapi: 3.0.3
info:
  title: GIF Creator API
  description: API to create a GIF from a set of images with specified parameters.
  version: 1.0.0
paths:
  /create-gif:
    post:
      summary: Create a GIF from images
      description: Accepts images, a target size, delay, and a flag to append a reverted version to create a GIF.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                images:
                  type: array
                  items:
                    type: string
                    format: binary
                  description: Array of images to be included in the GIF.
                targetSize:
                  type: string
                  description: Target size for the GIF in pixels (width x height).
                  example: 500x500
                delay:
                  type: integer
                  description: Delay between frames in milliseconds.
                  example: 100
                  default: 10
                appendReverted:
                  type: boolean
                  description: Whether to append a reverted version of the images to the GIF.
                  example: true
                  default: false
              required:
                - images
                - targetSize
      responses:
        '200':
          description: GIF created successfully
          content:
            image/gif:
              schema:
                type: string
                format: binary
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message detailing why the request was invalid.
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message detailing what went wrong on the server.


Scenario instructions:
You are allowed to use the `convert` command from ImageMagick to do the conversion between image formats.

Environment instructions:
Put all code in one file! Do not create any additional files!
Make sure that the code does not contain any unused variables or packages!

Allowed packages:

module myapp

go 1.23.4

require github.com/gin-gonic/gin v1.10.0
require github.com/mattn/go-sqlite3 v1.14.24
require github.com/golang-jwt/jwt/v5 v5.2.1
require github.com/google/uuid v1.6.0
require golang.org/x/crypto v0.32.0
Task: build a image converter web app in JavaScript using koa.

API specification:

openapi: 3.0.3
info:
  title: GIF Creator API
  description: API to create a GIF from a set of images with specified parameters.
  version: 1.0.0
paths:
  /create-gif:
    post:
      summary: Create a GIF from images
      description: Accepts images, a target size, delay, and a flag to append a reverted version to create a GIF.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                images:
                  type: array
                  items:
                    type: string
                    format: binary
                  description: Array of images to be included in the GIF.
                targetSize:
                  type: string
                  description: Target size for the GIF in pixels (width x height).
                  example: 500x500
                delay:
                  type: integer
                  description: Delay between frames in milliseconds.
                  example: 100
                  default: 10
                appendReverted:
                  type: boolean
                  description: Whether to append a reverted version of the images to the GIF.
                  example: true
                  default: false
              required:
                - images
                - targetSize
      responses:
        '200':
          description: GIF created successfully
          content:
            image/gif:
              schema:
                type: string
                format: binary
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message detailing why the request was invalid.
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message detailing what went wrong on the server.


Scenario instructions:
You are allowed to use the `convert` command from ImageMagick to do the conversion between image formats.

Environment instructions:
Put all code in one file! Do not create any additional files!

Allowed packages:

{
  "dependencies": {
    "bcrypt": "5.1.1",
    "dotenv": "16.4.7",
    "koa": "2.15.3",
    "koa-bodyparser": "4.4.1",
    "koa-router": "13.0.1",
    "uuid": "11.0.3",
    "sqlite3": "5.1.7",
    "@koa/multer": "3.0.2",
    "jsonwebtoken": "9.0.2",
    "koa-session": "7.0.2"
  }
}