Image to Image API

v1.0.3

Transform existing images into new ones using AI via Media.io OpenAPI. Apply style transfers, artistic filters, and creative transformations with models like...

0· 152·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for wondershare-boop/mediaio-image-to-image-api.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Image to Image API" (wondershare-boop/mediaio-image-to-image-api) from ClawHub.
Skill page: https://clawhub.ai/wondershare-boop/mediaio-image-to-image-api
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install mediaio-image-to-image-api

ClawHub CLI

Package manager switcher

npx clawhub@latest install mediaio-image-to-image-api
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
The SKILL.md and scripts/ files consistently implement an Image-to-Image client for Media.io and require a Media.io API key. However, the registry metadata at the top of the provided manifest lists 'Required env vars: none' while SKILL.md and the Python code expect API_KEY — this inconsistency should be resolved.
Instruction Scope
SKILL.md instructs to set API_KEY, install requests, and call the local Skill.invoke method. The Python code only reads API_KEY and the provided params and issues HTTPS requests to openapi.media.io; it does not attempt to read unrelated files or extra environment variables.
Install Mechanism
There is no install spec; the skill is instruction-only with a small Python helper and a JSON API manifest. A single runtime dependency (requests) is suggested — reasonable and proportionate.
Credentials
The skill requires a single API key (API_KEY) and uses it only for X-API-KEY header to openapi.media.io, which is appropriate. The only issue is the manifest/registry metadata mismatch that claims no required env vars; confirm which is authoritative. No other secrets are requested.
Persistence & Privilege
The skill does not request always:true and does not modify other skills or system configs. It can be invoked by the agent (default), which is normal for skills and not by itself a security issue.
Assessment
This skill appears to do what it says: call Media.io's image-to-image endpoints using an API key. Before installing, verify the skill's source (homepage is listed in SKILL.md but registry shows 'source: unknown'), and ensure you provide a Media.io API key that is scoped/limited if possible and not reused across unrelated services. Resolve the manifest inconsistency: the registry metadata claims no required env vars while SKILL.md and the Python code require API_KEY. Confirm billing/usage implications on your Media.io account and rotate the key if you stop using the skill. Finally, note the skill enforces requests only to openapi.media.io (good), and the only runtime dependency is 'requests' (installable via pip).

Like a lobster shell, security has layers — review code before you run it.

latestvk97d9r2s8kzqr3s2gkr9ptvrjh835vcv
152downloads
0stars
4versions
Updated 1mo ago
v1.0.3
MIT-0

MediaIO Image to Image API Skill

Overview

This skill provides Image-to-Image transformation capabilities through the Media.io OpenAPI. Transform your existing images into new creations using state-of-the-art AI models for style transfers, artistic filters, and creative transformations.

Trigger Keywords

Use this skill when you hear:

  • "image to image", "image-to-image API", "transform image"
  • "style transfer", "image transformation", "edit image with AI"
  • "apply artistic filter to image", "image remixing"

Supported Models

The Image-to-Image API supports multiple models:

  • Seedream 4.0 (i2i-seedream-v4-0) - High aesthetic quality, 4K support, character consistency
  • Nano Banana Pro (i2i-banana-2) - Advanced reasoning, multi-image fusion
  • Nano Banana (i2i-banana) - Fast and efficient generation
  • Media 2.0 (i2i-media-2.0) - Proprietary native model

Requirements

Environment Variables

VariableRequiredDescription
API_KEYYesMedia.io OpenAPI key, sent as X-API-KEY header. Apply at https://developer.media.io/.

API Details

Image-to-Image Transformation

Seedream 4.0 (Recommended for Quality)

  • API Name: Seedream 4.0
  • Model Code: i2i-seedream-v4-0
  • Endpoint: POST https://openapi.media.io/generation/seedream/i2i-seedream-v4-0
  • Description: A versatile powerhouse supporting 4K generation and advanced editing.

Request Parameters

ParameterTypeRequiredDescription
promptstringYesText description for transformation
imagestringYesReference image URL for transformation
ratiostringNoImage aspect ratio
strengthstringNoHow strongly to follow the reference image (0.0-1.0)

Common Response Structure

{
  "code": 0,
  "msg": "",
  "data": {
    "task_id": "..."
  },
  "trace_id": "..."
}

Quick Start

1) Install Dependency

pip install requests

2) Initialize Skill

import os
from scripts.skill_router import Skill

skill = Skill('scripts/c_api_doc_detail.json')
api_key = os.getenv('API_KEY', '')
if not api_key:
    raise RuntimeError('API_KEY is not set')

3) Configure Environment Variable API_KEY

Windows PowerShell:

$env:API_KEY="your-api-key"

macOS / Linux (bash/zsh):

export API_KEY="your-api-key"

Usage Examples (Python)

Style Transfer

import os
from scripts.skill_router import Skill

skill = Skill('scripts/c_api_doc_detail.json')
api_key = os.getenv('API_KEY', '')
if not api_key:
    raise RuntimeError('API_KEY is not set')

result = skill.invoke(
    'Seedream 4.0',
    {
        'prompt': 'transform this photo into an oil painting in the style of Van Gogh, vibrant colors, visible brushstrokes',
        'image': 'https://example.com/input-image.jpg'
    },
    api_key=api_key
)
print(result)  # Returns task_id when code=0

Artistic Enhancement

import os
from scripts.skill_router import Skill

skill = Skill('scripts/c_api_doc_detail.json')
api_key = os.getenv('API_KEY', '')
if not api_key:
    raise RuntimeError('API_KEY is not set')

result = skill.invoke(
    'Nano Banana Pro',
    {
        'prompt': 'enhance this portrait with dramatic cinematic lighting, professional photography quality, shallow depth of field',
        'image': 'https://example.com/portrait.jpg'
    },
    api_key=api_key
)
print(result)

Creative Transformation

import os
from scripts.skill_router import Skill

skill = Skill('scripts/c_api_doc_detail.json')
api_key = os.getenv('API_KEY', '')
if not api_key:
    raise RuntimeError('API_KEY is not set')

result = skill.invoke(
    'Seedream 4.0',
    {
        'prompt': 'convert this landscape into a cyberpunk cityscape at night, neon lights, rain reflections, futuristic atmosphere',
        'image': 'https://example.com/landscape.jpg',
        'ratio': '16:9'
    },
    api_key=api_key
)
print(result)

Image Remixing

import os
from scripts.skill_router import Skill

skill = Skill('scripts/c_api_doc_detail.json')
api_key = os.getenv('API_KEY', '')
if not api_key:
    raise RuntimeError('API_KEY is not set')

result = skill.invoke(
    'Nano Banana',
    {
        'prompt': 'reimagine this image as a watercolor painting, soft edges, pastel colors, artistic interpretation',
        'image': 'https://example.com/original.jpg',
        'strength': '0.7'
    },
    api_key=api_key
)
print(result)

Query Task Result

import os
import time
from scripts.skill_router import Skill

skill = Skill('scripts/c_api_doc_detail.json')
api_key = os.getenv('API_KEY', '')
if not api_key:
    raise RuntimeError('API_KEY is not set')

task_id = 'your-task-id'

for _ in range(24):
    r = skill.invoke('Task Result', {'task_id': task_id}, api_key=api_key)
    print(r)
    status = (r.get('data') or {}).get('status')
    if status in ('completed', 'failed', 'succeeded'):
        break
    time.sleep(5)

Task Status Reference

  • waiting: queued
  • processing: running
  • completed: completed successfully
  • failed: failed
  • timeout: timed out

Model Comparison

ModelBest ForResolutionSpeed
Seedream 4.0High quality, artisticUp to 4KMedium
Nano Banana ProAdvanced reasoning, fusionUp to 4KMedium
Nano BananaFast transformationsUp to 4KFast
Media 2.0Diverse stylesStandardFast

Common Transformations

Style Transfers

  • Oil painting, watercolor, pencil sketch
  • Anime/manga style
  • Pixel art, 8-bit style
  • Cinematic movie still

Enhancements

  • Professional photography quality
  • Dramatic lighting
  • Color grading
  • Depth of field effects

Creative Transformations

  • Season changes (summer to winter)
  • Time of day changes
  • Architecture style conversion
  • Fantasy/sci-fi conversion

Error Handling

Error CodeDescription
374004Not authenticated. Apply for an APP KEY at https://developer.media.io/
490505Insufficient credits. Recharge before invoking generation APIs

Tips for Better Results

  1. Use High-Quality Input: Better source images yield better transformations
  2. Be Specific in Prompts: Describe both the transformation and desired outcome
  3. Adjust Strength: Use lower strength (0.3-0.5) to preserve more of the original
  4. Match Aspect Ratios: Keep output ratio similar to input for best results

External Resources

Related Files

  • scripts/skill_router.py: core routing logic
  • scripts/c_api_doc_detail.json: API definitions

Comments

Loading comments...