Get tool metadata
curl --request GET \
--url https://www.gostudio.ai/api/v2/apps/watermark-remover/info \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.gostudio.ai/api/v2/apps/watermark-remover/info', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://www.gostudio.ai/api/v2/apps/watermark-remover/info"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"status": 200,
"data": {
"tool": {
"id": "watermark-remover",
"name": "<string>",
"flow_type": "ai_tools",
"cta_label": "<string>",
"result_label": "<string>",
"input": {
"kind": "<string>",
"accept": "<string>",
"max_mb": 123
},
"output": {
"kind": "<string>"
}
},
"default_model": "dewatermark/watermark-remover-pro",
"tiers": {
"lite": "dewatermark/watermark-remover-pro",
"pro": "replicate/pruna-image-edit",
"advance": "astria/seedream-5-pro"
},
"models": [
{
"id": "<string>",
"display_name": "<string>",
"description": "<string>",
"tier": "lite",
"provider": "dewatermark",
"return_mode": "<string>",
"requires_prompt": true,
"pricing": {
"type": "flat",
"credits": 4
},
"aspect_ratios": [
"<string>"
],
"resolutions": [
"<string>"
],
"defaults": {},
"async_timers": {
"still_working_copy_at_ms": 123,
"cancel_retry_button_at_ms": 123
}
}
],
"polling": {
"interval_ms": 3000,
"timeout_ms": 240000
},
"prompt": {
"label": "<string>",
"placeholder": "<string>",
"optional": true,
"suggestions": [
"<string>"
]
}
}
}{
"status": 401,
"error": {
"type": "authentication_error",
"code": "unauthorized",
"dev": 40100,
"message": "Missing or invalid Authorization Bearer token."
}
}{
"status": 403,
"error": {
"type": "permission_error",
"code": "forbidden",
"dev": 40300,
"message": "You don't have permission for this action."
}
}{
"status": 429,
"error": {
"type": "rate_limit_error",
"code": "rate_limited",
"dev": 42900,
"message": "You're doing that too often. Please wait a moment."
}
}{
"status": 500,
"error": {
"type": "system_error",
"code": "internal_error",
"dev": 50000,
"message": "Something went wrong on our end."
}
}{
"status": 503,
"error": {
"type": "system_error",
"code": "service_unavailable",
"dev": 50300,
"message": "Auth service is temporarily unavailable."
}
}Watermark Remover
Get tool metadata
Returns the available models, their credit cost and tier, the default model, tier aliases, polling timings, and UI hints. Call this instead of hard-coding model IDs — the model list changes over time.
Allowed callers: user, internal.
GET
/
api
/
v2
/
apps
/
watermark-remover
/
info
Get tool metadata
curl --request GET \
--url https://www.gostudio.ai/api/v2/apps/watermark-remover/info \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.gostudio.ai/api/v2/apps/watermark-remover/info', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://www.gostudio.ai/api/v2/apps/watermark-remover/info"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"status": 200,
"data": {
"tool": {
"id": "watermark-remover",
"name": "<string>",
"flow_type": "ai_tools",
"cta_label": "<string>",
"result_label": "<string>",
"input": {
"kind": "<string>",
"accept": "<string>",
"max_mb": 123
},
"output": {
"kind": "<string>"
}
},
"default_model": "dewatermark/watermark-remover-pro",
"tiers": {
"lite": "dewatermark/watermark-remover-pro",
"pro": "replicate/pruna-image-edit",
"advance": "astria/seedream-5-pro"
},
"models": [
{
"id": "<string>",
"display_name": "<string>",
"description": "<string>",
"tier": "lite",
"provider": "dewatermark",
"return_mode": "<string>",
"requires_prompt": true,
"pricing": {
"type": "flat",
"credits": 4
},
"aspect_ratios": [
"<string>"
],
"resolutions": [
"<string>"
],
"defaults": {},
"async_timers": {
"still_working_copy_at_ms": 123,
"cancel_retry_button_at_ms": 123
}
}
],
"polling": {
"interval_ms": 3000,
"timeout_ms": 240000
},
"prompt": {
"label": "<string>",
"placeholder": "<string>",
"optional": true,
"suggestions": [
"<string>"
]
}
}
}{
"status": 401,
"error": {
"type": "authentication_error",
"code": "unauthorized",
"dev": 40100,
"message": "Missing or invalid Authorization Bearer token."
}
}{
"status": 403,
"error": {
"type": "permission_error",
"code": "forbidden",
"dev": 40300,
"message": "You don't have permission for this action."
}
}{
"status": 429,
"error": {
"type": "rate_limit_error",
"code": "rate_limited",
"dev": 42900,
"message": "You're doing that too often. Please wait a moment."
}
}{
"status": 500,
"error": {
"type": "system_error",
"code": "internal_error",
"dev": 50000,
"message": "Something went wrong on our end."
}
}{
"status": 503,
"error": {
"type": "system_error",
"code": "service_unavailable",
"dev": 50300,
"message": "Auth service is temporarily unavailable."
}
}
