Install
openclaw skills install mediaio-seedream-image-generatorGenerate AI images using ByteDance Seedream via Media.io OpenAPI. Delivers high aesthetic quality and detailed rendering for text-to-image and image-to-image tasks with 4K support.
openclaw skills install mediaio-seedream-image-generatorThis skill provides access to ByteDance Seedream 4.0 through the Media.io OpenAPI. Seedream is a versatile powerhouse supporting 4K generation and advanced editing, ensuring character and style consistency.
Use this skill when you hear:
| Variable | Required | Description |
|---|---|---|
API_KEY | Yes | Media.io OpenAPI key, sent as X-API-KEY header. Apply at https://developer.media.io/. |
Seedream 4.0i2i-seedream-v4-0POST https://openapi.media.io/generation/seedream/i2i-seedream-v4-0| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | Yes | Text description for image generation |
image | string | No | Reference image URL for image-to-image |
ratio | string | No | Image aspect ratio |
strength | string | No | How strongly to follow the reference image (for i2i) |
{
"code": 0,
"msg": "",
"data": {
"task_id": "..."
},
"trace_id": "..."
}
pip install requests
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')
Windows PowerShell:
$env:API_KEY="your-api-key"
macOS / Linux (bash/zsh):
export API_KEY="your-api-key"
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': 'a beautiful landscape painting, vibrant colors, artistic style',
'image': 'https://example.com/reference-image.jpg',
'ratio': '16:9'
},
api_key=api_key
)
print(result) # Returns task_id when code=0
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)
waiting: queuedprocessing: runningcompleted: completed successfullyfailed: failedtimeout: timed out| Error Code | Description |
|---|---|
374004 | Not authenticated. Apply for an APP KEY at https://developer.media.io/ |
490505 | Insufficient credits. Recharge before invoking generation APIs |