# Ping-pong GIF

- Human page: https://happytails.ai/en/image-tools/ping-pong-gif/
- Markdown: https://happytails.ai/en/image-tools/ping-pong-gif.md
- Structured JSON: https://happytails.ai/agents/en/image-tools/ping-pong-gif/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `ping-pong-gif` |
| Category | image-tools |
| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |
| Browser execution | Use the visible action or interactive controls. |
| Browser processing | Browser; see tool notes for network behavior. |
| HTTP API | Not callable through HTTP. |
| Browser-agent interface | run_current_tool |

### Implementation notes

Runs entirely in your browser. Up to 20 MiB, 120 frames and 16 million decoded pixels in total. GIF colors may change slightly when re-encoded; transparency is binary. Original timing and loop count are preserved except when you change speed. Very short delays may play differently across browsers. Adds the interior frames in reverse order without repeating the two turning-point frames.

### Inputs and settings

No free-text input is required. Use the file inputs and/or settings below.

Accepted browser files: `.gif,image/gif`. Choose one file.

Browser file-input limit: 20971520 bytes in total. HTTP limits can differ.

No additional settings are declared for this tool.

### Browser-agent workflow

1. Open the human page in a browser that supports WebMCP.
2. Discover the interface exposed by that page; use its actual schema.
3. Select files on the page first when the tool requires files.
4. Call `run_current_tool` with valid input and settings.
5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.

Calls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.

### Planning specification

Processing stays in your browser. Both the input and output must fit within 120 frames and 16 million decoded pixels. Input files may be up to 20 MiB and 1,920 pixels per side. Re-encoding can slightly change colors. Very short delays may play differently across browsers. Your original is unchanged.

This describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.

### Complete machine-readable capability record

```json
{
  "id": "ping-pong-gif",
  "category": "image-tools",
  "built": true,
  "requirements": "Processing stays in your browser. Both the input and output must fit within 120 frames and 16 million decoded pixels. Input files may be up to 20 MiB and 1,920 pixels per side. Re-encoding can slightly change colors. Very short delays may play differently across browsers. Your original is unchanged.",
  "implementation": {
    "fields": [],
    "files": true,
    "multiple": false,
    "input": false,
    "accept": ".gif,image/gif",
    "maxFileBytes": 20971520,
    "note": "Runs entirely in your browser. Up to 20 MiB, 120 frames and 16 million decoded pixels in total. GIF colors may change slightly when re-encoded; transparency is binary. Original timing and loop count are preserved except when you change speed. Very short delays may play differently across browsers. Adds the interior frames in reverse order without repeating the two turning-point frames.",
    "experience": {
      "automatic": false,
      "single": false,
      "inputMaxLength": 1000000,
      "inputMode": "text",
      "label": "Your text",
      "placeholder": "Type or paste your input…",
      "help": "Up to 1,000,000 characters. Review the settings before running.",
      "action": null
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "Browser interface",
  "api": null,
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}
```

## Page guide

Make a GIF play forwards and then backwards for a back-and-forth animation.

How can we improve this tool?

Report a problem or share an idea.

Please leave out private information. Your message and the tool name go to our team via PostHog.

### How to use Ping-pong GIF

1. Choose a GIF and run the tool. It keeps the original sequence, then adds the interior frames in reverse order. Preview the result before downloading.
2. The first and last frames are not duplicated at the turning points. Every frame keeps its display time. The original loop count is preserved; a GIF that played once will still play once.

## Useful next steps

- [GIF maker](https://happytails.ai/en/image-tools/gif-maker/) ([Markdown](https://happytails.ai/en/image-tools/gif-maker.md))

- [Reverse GIF](https://happytails.ai/en/image-tools/reverse-gif/) ([Markdown](https://happytails.ai/en/image-tools/reverse-gif.md))

- [Change GIF speed](https://happytails.ai/en/image-tools/change-gif-speed/) ([Markdown](https://happytails.ai/en/image-tools/change-gif-speed.md))

## Make a back-and-forth GIF

Choose a GIF and run the tool. It keeps the original sequence, then adds the interior frames in reverse order. Preview the result before downloading.

### No extra pause at the turn

The first and last frames are not duplicated at the turning points. Every frame keeps its display time. The original loop count is preserved; a GIF that played once will still play once.

### Limits and privacy

Processing stays in your browser. Both the input and output must fit within 120 frames and 16 million decoded pixels. Input files may be up to 20 MiB and 1,920 pixels per side. Re-encoding can slightly change colors. Very short delays may play differently across browsers. Your original is unchanged.
