
md2wechat 2.0.7: Native Volcengine and Doubao Image Support Is Here
A practical release note for md2wechat 2.0.7, covering Volcengine / volc support, Doubao Seedream models, provider-aware image defaults, provider discovery, and clearer ModelNotOpen troubleshooting.
md2wechat 2.0.7: Native Volcengine and Doubao Image Support Is Here
The headline change in md2wechat 2.0.7 is straightforward:
md2wechat now supports the Volcengine image path through volcengine / volc, including Doubao Seedream models.
If you already use generate_image, generate_cover, or generate_infographic for WeChat covers, infographics, and article visuals, this release is worth upgrading for.
What changed in 2.0.7
2.0.7 now supports a new image provider:
api:
image_provider: 'volcengine'It also supports the short alias:
api:
image_provider: 'volc'The built-in model set now includes:
doubao-seedream-5-0-260128doubao-seedream-5-0-lite-260128
The default model is:
api:
image_model: 'doubao-seedream-5-0-260128'So if you were already using the image-generation path in md2wechat, the main change is that a domestic model path now plugs into the same workflow more naturally.
Why this matters
The real problem was never just “one more provider.”
The real friction was usually one of these:
- too many config fields with unclear defaults
- long model names that are easy to mistype
- no clear way to ask which models a provider supports
- vague
ModelNotOpenor401failures - image defaults that were borrowed from a different provider style
That is why 2.0.7 is useful.
It does not only add Volcengine support. It also tightens configuration, discovery, defaults, and error guidance around that path.
Step 1: confirm Seedream is actually enabled
If your account has not enabled the required model, the API can still fail even when the key is correct:
{
"error": {
"code": "ModelNotOpen"
}
}That is not a prompt problem and not usually an md2wechat bug.
First check:
Then go through:
- open the console
- enter the enablement area
- enable the Seedream model
- finish activation
If you later hit ModelNotOpen, start there before debugging the prompt.
Step 2: initialize config
Run:
md2wechat config initFrom 2.0.7 onward, the generated image config is already aligned to the Volcengine path instead of forcing you to rewrite another provider template first.
A typical result looks like:
api:
image_key: 'your_image_api_key'
image_base_url: 'https://ark.cn-beijing.volces.com/api/v3'
image_provider: 'volcengine'
image_model: 'doubao-seedream-5-0-260128'
image_size: '2K'If you only want the minimum working setup, the main fields to fill are:
api:
image_key: 'your API key'
image_provider: 'volcengine'
image_model: 'doubao-seedream-5-0-260128'Step 3: provider-aware defaults now matter
One of the most practical changes in 2.0.7 is that image defaults are now provider-aware.
That means the tool no longer applies the same image-size assumptions everywhere.
For Volcengine, the defaults now line up like this:
image_provider: volcengineimage_model: doubao-seedream-5-0-260128image_size: 2K
The gain is simple:
you do not have to initialize config and then immediately correct an unsuitable default before the first real test.
Step 4: discover supported models instead of guessing
Another useful change is that provider discovery is now clearer.
Instead of guessing the model name, run:
md2wechat providers show volcengine --jsonYou will get output in this shape:
{
"name": "volcengine",
"aliases": ["volc"],
"default_model": "doubao-seedream-5-0-260128",
"supported_models": [
{
"name": "doubao-seedream-5-0-260128",
"default": true
},
{
"name": "doubao-seedream-5-0-lite-260128"
}
]
}If you want the broader picture:
md2wechat providers list --jsonThis is especially useful for agent workflows, because the runtime can now read supported_models instead of assuming model names from memory.
Step 5: horizontal vs vertical images
For Volcengine, 2K behaves more like a resolution class than a rigid pixel size.
The orientation still needs to be expressed in the prompt.
For a horizontal image:
md2wechat generate_image --size 2K "minimal editorial banner, wide horizontal composition, 16:9 landscape cover"For a vertical image:
md2wechat generate_image --size 2K "minimal editorial poster, tall vertical composition, 3:4 portrait layout"The practical rule is:
- use
16:9 landscapewhen you want a banner-like result - use
3:4 portraitwhen you want a vertical poster - let
2Kcontrol the resolution tier - let the prompt describe the intended shape
Step 6: what to check when it fails
1. ModelNotOpen
Meaning:
the account has not enabled the Seedream model.
Fix path:
- open the Doubao console
- enter the enablement section
- enable Seedream
2. 401 / unauthorized
Usually check:
- whether
image_keyis correct - whether the key has expired
- whether extra spaces were copied into config
Start with:
md2wechat config show --format json3. wrong model name
Do not guess. Run:
md2wechat providers show volcengine --json4. unsuitable size choice
For Volcengine, start with:
2K3K
If you still use another provider’s fixed-pixel mindset, results tend to be less stable.
Fastest working sequence
If you only want the shortest path:
1. initialize config
md2wechat config init2. fill these values
api:
image_provider: 'volcengine'
image_key: 'your API key'
image_model: 'doubao-seedream-5-0-260128'
image_size: '2K'3. inspect provider capability
md2wechat providers show volcengine --json4. test a horizontal image
md2wechat generate_image --size 2K "clean editorial cover, 16:9 landscape, minimal composition"5. test a vertical image
md2wechat generate_image --size 2K "poster style, 3:4 portrait, vertical composition"If that fails with ModelNotOpen, do not optimize the prompt yet. Enable Seedream first.
Closing
The real value of 2.0.7 is not just that another model path exists.
It is that domestic image generation is now wired into the normal md2wechat content workflow with better defaults, clearer discovery, and more actionable failures.
If you wanted to use domestic models for WeChat covers, infographics, and article visuals, this release is the first one where the path feels ready enough to use directly.
Continue here:
Author
Categories
ModelNotOpen2. 401 / unauthorized3. wrong model name4. unsuitable size choiceFastest working sequence1. initialize config2. fill these values3. inspect provider capability4. test a horizontal image5. test a vertical imageClosingMore Posts

What a WeChat Automation Workflow Should Include
A workflow breakdown covering content input, formatting, drafts, media, and review in a WeChat publishing pipeline.

What Makes a WeChat API Easy to Automate
A checklist for evaluating WeChat publishing APIs by example quality, interface boundaries, parameter stability, and error handling.

md2wechat-skill 2.0: From a Set of Commands to a Release-Ready WeChat Workflow
Why md2wechat-skill 2.0 is more than a small update, and what actually changed across the CLI contract, prompt catalog, image workflow, dual skill paths, installers, and documentation.
Newsletter
Join the community
Subscribe to our newsletter for the latest news and updates